[linux] ubuntu 10.04LTS boot に失敗する

Gave up waiting for root device.   Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missng modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/d8bb0b6b-4cd6-4250-a27b-764ade8504be does not exist. Dropping to a shell!

BusyBox v1.13.3 (Ubuntu 1:1.13.3-1ubuntu11) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

みたいになる。(一部適当) 最初は ALERT に目がいって uuid から root が得られてないのかと思ったけど、結論からいうと root になるデバイス(/dev/sda) が起きる前に見に行ってしまっているだけだった。

 その上に表示されてるとおり、カーネルに rootdelay=120 くらいを渡してやれば普通に起動した。grub が起動するときずっと Shift を押していれば選択メニューが表示されるので、e を押せばカーネルに起動オプションを編集する画面になる。

kernel   /boot/vmlinuz-2.6.32-33-generic root=UUID=e1bbf4ab-68a5-4247-93c6-b48c6f325b71 ro rootdelay=120

みたいに追加して起動するようなら OK。起動するたびにこの作業が必要では困るので、/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=120"

などと編集したあと sudo update-grub すればいい。

http://ubuntuforums.org/showthread.php?p=6189471

余談
このマシンは普通の PC とかではなく1500円ののシンクライアント端末(Nexterm TC3500)で、とても遅い CF (なんと PIO) から起動しているからこんな問題が出るんだと思う。