A standard MBR-structured drive has empty space between the MBR (sector 0) and the start of the first partition. Some bootloaders like Legacy GRUB's optional stage1.5 and Grub4Dos (see below) use this space for their own code.
But the partition table of a GPT-structured drive starts at sector 1 and covers some of this space. So installing one of the above bootloaders will over-write the partition table and corrupt the drive.
The only contentious issue is whether Grub4Dos actually does this. Does its stage1 bootloader get written into sector 1 and beyond or does it fit entirely into sector 0? Here is a way to find out.
1. Start with a regular MBR-structured flash drive sdb.
2. Write zeros into the ten sectors starting at sector 1.
Code: Select all
dd if=/dev/zero of=/dev/sdb seek=1 count=10
3. Save this block of ten sectors to the file out1
Code: Select all
dd if=/dev/sdb of=out1 skip=1 count=10
4. Install the Grub4Dos stage1 bootloader.
Code: Select all
bootlace.com --no-backup-mbr --time-out=0 /dev/sdb
5. Save the same block of ten sectors to the file out2
Code: Select all
dd if=/dev/sdb of=out2 skip=1 count=10
6. Compare the two files.
For GRUB2 users, this is a non-issue. But people who want to keep using their favourite G4D menu.lst syntax can boot GPT drives via Legacy GRUB without stage1.5. Its stage1 boot code fits entirely in the MBR and doesn't touch the GPT partition table.
Continued: The above procedure is based on shinobar's Grub4Dos Config tool which uses bootlace.com (or wee) to install the stage1 boot code. But there are other stage1 installers out there. If an installer was smart enough to recognize GPT, it could place its stage1.5 code in another location, like after the GPT partition table but before the first 1 MiB boundary. This would make G4D compatible with GPT.
Continued: In the discussions
here, enrique claims to have this working - G4D on a GPT drive. Unfortunately, he provides no details of how he installed the stage1 G4D bootloader so it does not conflict with the GPT partition table. In the absence of this information, his procedure has no advantage over using Legacy GRUB to accomplish the same thing.
Continued: in recent versions of G4D (0.4.6a 2018-06-12), bootlace.com has a "--gpt" option. This will write the stage1.5 code to the area described above, allowing G4D to boot on a GPT drive.
Continued: I have not tested this on an SSD with 4K blocks. Hopefully, the "--gpt" option is compatible with such hardware.
--------------------