I have an Intel Mac (MacMini) and an external usb-drive. On the internal drive, I have a partition with an OSX install, and one with Ubuntu+Grub2. On the external drive, I have a copy of my complete OSX partition and a copy of my complete Ubuntu partition (both with different UUIDs than the original).
I use rEFIt for dual booting. The internal OSX and Linux and the external OSX appear in the rEFIt menu and are bootable. The external Linux, which I want to be able to boot, is missing. After creating the Linux backup, I did update-grub on the internal Linux (it found all 4 installs) and on the external one (through chroot - it found all installs except internal Linux). This didn't solve the problem.
When I try to boot the external Linux using the internal Grub, I get the error message:
error: no such device: <the UUID of the external Linux partition>
error: no such partition.
error: you need to load the kernel first.
When I type ls
in the internal Grub menu, it lists all partitions on the internal drive, but (hd1)
is missing out entirely.
I tried to sync the partition tables on the external drive using gptsync
, but it claims no GPT is present. gdisk
did find one however, and a manual comparison with fdisk
's output gives me the impression they are in sync. (The Linux partition is included in both tables.)
EDIT:
I burned rEFInd to a cd and experimented. Results:
When I boot my mac pressing C to boot from the cd, it shortly shows rEFInd's gray background but then immediately launches the grub from the internal install. I can work around this by selecting rEFInd from rEFIt. However, this gives me little confidence for installing rEFInd in OSX.
rEFInd shows all options it should show. As was to be expected, the Grubs are still uncapable of booting linux from the external disk.
When I launch a Linux kernel from the external disk using rEFInd, it does boot, but after booting it turns out the INternal partition is mounted as
/
. According to this article, the only changes one has to make after copying a partition, are in the grub. Since I'm not using the grub, I don't understand.