ESP EFI GPT MBR - a lot of confusion around these topics. I've covered most of it elsewhere, but I got a few minutes, so...
MBR is the older drive partitioning system that limited you to 4 Primary partitions but allowed a single Extended partition that could hold some number of Logical partitions.
GPT is the current partitioning scheme and removes the use of Extended and Logical partitions and, when using Linux, allows 128 Primary partitions (it will actually allow more, but that's another very long topic). GPT also has some other great features, like built-in partition table backups, etc.
My understanding is by default, UEFI firmware will not boot to MBR disks because UEFI executes some code in a location that conflicts with MBR headers. Interestingly, GRUB will not install to GPT disks by default either because it's header uses part of the area the GPT partition table uses. In short: GPT and GRUB are somewhat incompatible.
Enter the partition types EF00 and EF02. parted flags these partitions this way:
EF00 = boot, esp
EF02 = bios_grub
So the solution to use GPT with GRUB, or install using UEFI is to create the first partition as either type EF00 for use with UEFI or EF02 for use with GRUB.
For EFI, if you use partition type EF00, the "boot, esp" flags are set automatically, thus avoiding the "Missing ESP" errors some report. You can format it with fat32 and it retains the flags and partition type. This tells EFI it's OK to use this partition.
For GRUB, make an EF02 type partition and don't format it at all. By default now the partitioning tools start the first partition at sector 2048 so that proper alignment (partitions to sector boundaries) occurs. This helps with usable space and supposedly performance. BUT this leaves a whole 1000 KiB unused - the space from sector 34 to 2047. Here's a neat trick: You can use this space for your EF02! It's like free space!. 1000 Kib is plenty of space for GRUB. Just set the sectors manually using gdisk and make your first partition in this free space.
Now EFI is another matter. Lots of misinformation out there, but I can say the minimum size for a fat32 partition on an advanced format drive is 32MB. I doubt that's large enough if you're booting more than two installs. MS says 100MB and the creator of EFI says 550mb. Seems like a lot. My laptop came with a 260MB EFI partition and now with 3 distros and Windows installed it's used 34M. I think you can make it much smaller than 550MB.
MBR is the older drive partitioning system that limited you to 4 Primary partitions but allowed a single Extended partition that could hold some number of Logical partitions.
GPT is the current partitioning scheme and removes the use of Extended and Logical partitions and, when using Linux, allows 128 Primary partitions (it will actually allow more, but that's another very long topic). GPT also has some other great features, like built-in partition table backups, etc.
My understanding is by default, UEFI firmware will not boot to MBR disks because UEFI executes some code in a location that conflicts with MBR headers. Interestingly, GRUB will not install to GPT disks by default either because it's header uses part of the area the GPT partition table uses. In short: GPT and GRUB are somewhat incompatible.
Enter the partition types EF00 and EF02. parted flags these partitions this way:
EF00 = boot, esp
EF02 = bios_grub
So the solution to use GPT with GRUB, or install using UEFI is to create the first partition as either type EF00 for use with UEFI or EF02 for use with GRUB.
For EFI, if you use partition type EF00, the "boot, esp" flags are set automatically, thus avoiding the "Missing ESP" errors some report. You can format it with fat32 and it retains the flags and partition type. This tells EFI it's OK to use this partition.
For GRUB, make an EF02 type partition and don't format it at all. By default now the partitioning tools start the first partition at sector 2048 so that proper alignment (partitions to sector boundaries) occurs. This helps with usable space and supposedly performance. BUT this leaves a whole 1000 KiB unused - the space from sector 34 to 2047. Here's a neat trick: You can use this space for your EF02! It's like free space!. 1000 Kib is plenty of space for GRUB. Just set the sectors manually using gdisk and make your first partition in this free space.
Now EFI is another matter. Lots of misinformation out there, but I can say the minimum size for a fat32 partition on an advanced format drive is 32MB. I doubt that's large enough if you're booting more than two installs. MS says 100MB and the creator of EFI says 550mb. Seems like a lot. My laptop came with a 260MB EFI partition and now with 3 distros and Windows installed it's used 34M. I think you can make it much smaller than 550MB.
Comment