0:04 - Thursday, 24 April 2014

Chainload Boot Of Ubuntu Installed On 32GB SD Card From Legacy Grub Boot On USB

#Topics: Ubuntu Chainloading USB drives

I have Ubuntu installed on a 32 GB SD card (in the Storage Expansion slot on an Acer Aspire One) with Grub2 installed in the same partition. I boot into legacy Grub on a USB drive and would like to boot by chainloading Grub2 from Grub (kernel/initrd or symlink booting would also be fine), but I haven’t figured out how to do this from legacy Grub CLI. Output from blkid for this partition is /dev/mmcblk0p1: LABEL=”Ubuntu” UUID=”7ceb9fa7-238c-4c5d-bb8e-2c655652ddec” TYPE=’ext4″ / fdisk -lu information Boot indicator ID 83.

Related entries in grub.cfg:

search –no-floppy –fs-uuid –set-root 7ceb9fa7-238c-4c5d-bb8e-2c655652ddec

linux /boot/vmlinuz-3.5.0-17-generic root=UUID=7ceb9fa7-238c-4c5d-bb8e-2c655652ddec…

initrd /boot/initrd.img-3.5.0-17-generic

I can’t seem to replicate this in legacy Grub. Is there any way get Grub2 to chainload? How do I set root with UUID in legacy Grub?

I prefer to boot from USB. Would Grub2 on USB (copying the grub.cfg generated during installation) be an option?

Try running the following in Legacy GRUB’s command line:

uuid {{device uuid here}}kernel /boot/grub/core.imgboot

{{device uuid here}} is, obviously, your SD card’s UUID. This also assumes that your installation of GRUB2 is located at {{sdcard}}/boot/grub. You could also do it via chainloading from Legacy GRUB:

uuid {{device uuid here}}chainload +1

Regardless, if you want to boot from UUID, make sure that your Legacy GRUB is version 0.97 (otherwise you won’t have access to the uuid command, meaning that you’ll have to hunt for the SD card by device name).

I’ve tried every Grub flavor (Grub4Dos, legacy Grub 0.97, and Grub2 with the grub.cfg Ubuntu installed in it’s partition) and none of them seem to be able to access the SD card installed in the Storage Expansion slot on my Acer Aspire One. Oh well, it was an interesting experiment. This is a Grub issue, and not an Ubuntu issue.