Ask Your Question

Revision history [back]

Can you post the output of the ls command when run from within the GRUB command prompt (hit "c" at the GRUB menu)? Also provide the output of echo $root from the GRUB command prompt so we know which disk GRUB understands to be your boot disk. Can your post the output of blkid from bash once the OS is up and running? This will show us which devices correspond to which UUIDs so we can validate the grub.cfg syntax and try to figure out which device is hd0.

I believe the error you are seeing is thrown by the GRUB search command as it attempts to seek out the root device for your system. Something is preventing it from reading hd0, but it's not clear what that is. After the search command fails due to this error, your system boots properly nonetheless because the proper root device is correctly inferred from a pre-defined environment variable. To verify this hypothesis, press 'e' at the GRUB boot menu with the default menu selection highlighted and remove the lines which correspond to lines 82-87 as numbered in your pastebin post. Then, press F10 to boot. My guess is that you don't see the error message using this boot method.

The only downside with simply permanently removing those lines is that you'd be stuck relying on the variable inference method for determining your boot disk, and that could be broken by removing or adding disks to the system or by EFI detecting disks in a different order than usual. I know this isn't a complete answer, but it wouldn't fit in a comment and I'd be glad to run this down with you to see if we can figure out why your system has trouble accessing hd0.