我安装了 Ubuntu 服务器 10.04,然后在其上安装了 Gnome 桌面,因为我对 Linux 及其命令行还不熟悉,所以我需要 GUI 桌面来帮助我操作。但是,我遇到的问题是服务器在开机时无法启动到 GUI 桌面。它启动到如下 shell:
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enought?)
- check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/cecdata-root 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)
result of (cat /proc/cmdline)
BOOT_IMAGE=/vmlinuz-2.6.32-28-server root=/dev/mapper/cecdata-root ro quiet
然后我输入“exit”退出 shell,然后它启动到 Gnome。知道哪里出了问题吗?
编辑:添加以下命令的输出
wt@cecdata:~$ ls /dev/mapper/
cecdata-root cecdata-swap_1 control
wt@cecdata:~$ fdisk -l
wt@cecdata:~$
wt@cecdata:~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
/dev/mapper/cecdata-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=1635be41-d025-405e-b4a3-6f0abedb7aab /boot ext2 defaults 0 2
/dev/mapper/cecdata-swap_1 none swap sw 0 0
wt@cecdata:~$
添加 lsmod 的输出
wt@cecdata:~$ lsmod
Module Size Used by
fbcon 39270 71
tileblit 2487 1 fbcon
font 8053 1 fbcon
bitblit 5811 1 fbcon
softcursor 1565 1 bitblit
dell_wmi 2177 0
dcdbas 6918 0
vga16fb 12757 1
vgastate 9857 1 vga16fb
psmouse 64576 0
serio_raw 4950 0
power_meter 9473 0
bnx2 72874 0
lp 9336 0
parport 37160 1 lp
mptsas 50592 2
usbhid 41116 0
mptscsih 37167 1 mptsas
hid 83568 1 usbhid
mptbase 91674 2 mptsas,mptscsih
scsi_transport_sas 33021 1 mptsas
答案1
看起来在启动过程的那个阶段根设备不存在,这当然是错误的。奇怪的是,在退出紧急 shell 后,它最终启动正常。
这几乎是瞎猜,但您在根设备上有“fakeraid”或其他类型的 RAID 吗?请发帖ls /dev/mapper
。fdisk -l
还有您的/etc/fstab
。
编辑:
这似乎是 Ubuntu 10 和 fakeraids 的一个常见问题。成功启动后尝试此操作。
首先,查找lsmod
dm-* 模块以及任何带有 raid 的模块。对于每个匹配项,执行以下操作:
sudo echo module-name >> /etc/initramfs-tools/modules
sudo echo module-name >> /etc/modules
请注意,带有下划线(_)的模块应在其名称中添加斜线(-)。
然后:
sudo update-initramfs -u
然后再试一次。
答案2
您使用的是什么 SCSI 设备?mptbase 存在一些问题。有时它在加载时会超时,因此您的系统会在 root 准备就绪之前尝试查找它。
尝试将 rootdelay=120 添加到 menu.lst 中的内核行。
编辑:抱歉,您可能使用的是 grub2。启动时按住 escape 键进入 grub2 菜单。然后突出显示您启动的内核并按“e”。然后将 rootdelay=120 添加到内核行的末尾。