Sunday, September 25, 2011

mbr vs guid (gpt)

Problems with MBR

  1. Only 4 primary partitions or 3 primary + 1 extended partitions with many logical partitions can be defined. If you have 3 primary + 1 extended partitions, and you have some free space outside the extended partition area, you cannot create a new partition over that space.
  2. Within the extended partition, the logical partitions meta-data is stored in a linked-list structure. If one link is lost, all the logical partitions following that metadata is lost.
  3. MBR supports only 1 byte partition type codes which leads to many collisions.
  4. MBR stores partition sector information using 32-bit LBA values. This LBA length along with 512 byte sector size (more commonly used) limits the maximum addressable size of the disk to be 2TB. Any space beyond 2TB cannot be defined in a partition if MBR partitioning is used.


Advantages of GPT

  1. Uses GUIDs to identify partition types - No collisions.
  2. Provides a unique disk GUID and partition GUID for each partition - A good filesystem-independent way of referencing partitions and disks.
  3. Minimum of 128 partition table entries - No need for extended and logical partitions.
  4. Uses 64-bit LBA for storing Sector numbers - maximum addressable disk size is 2 ZiB.
  5. Stores a backup header and partition table at the end of the disk that aids in recovery if the main copy is clobbered.
  6. CRC32 checksums to detect errors and corruption of the partition table.
Archlinux provides three bootloaders GRUB-Legacy, GRUB2 and Syslinux. The default bootloader of the Arch Linux installer, GRUB-Legacy, does not support GPT.
GPT specific instructions

GRUB2 in BIOS-GPT configuration requires a BIOS Boot Partition to embed its core.img in the absence of 32 KiB post MBR gap in GPT partitioned systems.

Create a 1 MiB (minimum size - 2 MiB recommended if you use LVM and/or RAID etc.) partition using cgdisk or GNU Parted with no filesystem. The location of the partition in the partition table does not matter but it should be within the first 2 TiB region of the GPT disk. It is advisable to put it somewhere in the beginning of the disk before the /boot partition. Set the partition type to "EF02" in cgdisk or set bios_grub on in GNU Parted.

This partition is used by GRUB2 only in BIOS-GPT setups. No such partition type exists in case of MBR partitioning (at least not for GRUB2). This partition is also not required if the system is UEFI based, as no embedding takes place in that case. Neither GRUB-legacy nor SYSLINUX require this partition.

Note: This partition should be created before grub_bios-install or grub-setup is run or before the Install Bootloader step of the Archlinux installer (if GRUB2 is selected as bootloader).

Comment: more possibilities are 'paid' by a significantly more intricate disk preparation scenario.

No comments:

Blog Archive

About Me

Exclusion of liability Regarding StillStupid: The use you make of the guides, tips and downloads that you listed on this web site or on another website to which I refer is entirely at your own risk. In no way can I be held liable for damage or consequential damages of any kind, which occurs as a result of that use.