I'm trying to set up a USB HD with GPT so that partition 1 is accessible under all versions of Windows.
Sounds easy, right? (In particular, I'm not trying to boot Windows. I just want to plug in a disk and have it see the contents.)
Well, if you just write a normal GPT, everything works fine under Windows 7. But of course, Windows XP doesn't know anything about GPT, and just sees the protective MBR.
This was what I was expecting. So I copied the sector numbers of partition 1 into the MBR. Sure enough, Windows XP now sees that partition just fine.
The problem is... Windows 7 now behaves very strangely. It now only sees the entries in the MBR (which I don't really mind), and it doesn't auto-mount the partition (which is unacceptable).
Weirder still, if I manually assign a drive letter to the partition, it's readable and everything. But when I unplug the disk, the drive letter is still there! And it's now impossible to remove it, because it no longer appears in Disk Management.
Does anybody know what magic voodoo I need to do to make the disk "just work" in all versions of Windows from XP onwards? (I haven't actually tested with Vista yet, but I imagine it probably behaves similarly to Win7.)
(One obvious possibility is to just remove GPT. But I really don't want to do that...)
I have already tested and confirmed that the presence or absence of a type EE partition in the MBR appears to make no difference to Windows.
Answer
Use MBR. As you've discovered, Windows XP and earlier don't understand GPT. The method you've used to try to get around this limitation is essentially to re-create an ugly and dangerous hack known as a hybrid MBR, although I suspect you're doing it in a somewhat different way that's causing problems for Windows 7. (Ordinarily, Windows Vista through 8.1 see the MBR side of a "conventional" hybrid MBR.) I urge you to read the linked-to page, which describes hybrid MBRs, including their drawbacks, in some detail.
Note that because Windows Vista and later treat hybrid MBR disks as conventional MBR disks, there's no advantage to using them in a Windows-only environment. They are limiting and dangerous, though, so you'll end up with all of the drawbacks and none of the benefits of a hybrid MBR.
The only other solution I'm aware of is to use a GPT driver for pre-Vista versions of Windows. Such things exist for Windows XP, although I don't have any URLs offhand. I don't know if such a driver exists for Windows Me or earlier. Of course, such a driver would have to be pre-installed on any computer with which you want to use it, which might or might not be a deal-breaker for you.
Overall, you're best off using MBR in your situation. If you need to uniquely identify a partition, try using the volume label for that.
No comments:
Post a Comment