Penguin Problems

So, I’m trying to learn to use Ubuntu Linux… and failing miserably.

Well, let me be a little more specific. It’s not so much that I’m failing to use Ubuntu, it’s that I’m unable to get it to run at all. It seems that I’ve been unfortunate enough to run into this bug and it’s causing me to go absolutely crazy. Long story short, Ubuntu 9.10 seems to install perfectly fine, but upon rebooting to complete the installation the computer fails and displays a black screen with the text “error: no such device:” followed by a large string of numbers and letters. Since I can’t even get to a command line, there’s absolutely nothing I can do to fix this other than try to install an older version of Ubuntu and then try to upgrade and see if that fixes the problem. If only I could get to the boot menu maybe I could find a workaround… Man, this is reminding me of the time I installed Windows 3.1 back in 1992… [shiver]

A loooooong time later…

Well, thanks to a little bit of code advice found in that bug report I linked to above, I’ve discovered the workaround fix for boot issues in Ubuntu 9.10. The boot problem seems to stem from the (still as of this writing) beta version of grub2 that Ubuntu 9.10 uses. Apparently, it’s attempting to load from a floppy and if there’s no floppy drive connected to the system the loader simply refuses to proceed and gets stuck in an endless loop with no way to exit without shutting down completely. It’s also important to note that this issue seems to only affect clean installs, and not upgrades.

Which is very upsetting.

Luckily, the fix isn’t that horribly technical and can be easily implemented by almost anyone as long as you can find a way to get to the actual grub menu. I’ve found that the easiest way to get to the grub menu is to hit the “Escape” key just as the machine begins to load the OS. YMMV. Of course, the modifications below won’t stick if you upgrade the grub-common package, but you can always do it again after an upgrade, and now you know where to find the instructions.

  1. Get to the grub menu and then press “e” to edit the startup commands.
  2. Delete the line that reads “search –no-floppy –fs-uuid –set ${fs_uuid}” where ${fs_uuid} is a long string of numbers and letters.
  3. Reboot
  4. You should now be able to boot into the Ubuntu desktop. Once there open up a terminal (Applications|Accessories|Terminal).
  5. Enter “sudo gedit /usr/lib/grub/grub-mkconfig_lib” (no quotes). You will need to enter your password.
  6. Scroll down until you find the line that reads “prepare_grub_to_access_device ()”.
  7. Remove the following lines:
    if fs_uuid=”`${grub_probe} –device ${device} –target=fs_uuid 2> /dev/null`” ; then echo “search –no-floppy –fs-uuid –set ${fs_uuid}”
  8. Save and close the gedit window.
  9. In Terminal enter the code “sudo update-grub” (no quotes).
  10. Reboot

That should take care of the boot problems. Just remember that you might run into the issue again if the grub-common package is updated!