当我启动我的服务器时Ubuntu 14.04 LTS 桌面我遇到这种情况,屏幕告诉你如何进入BIOS
然后
Gave up waiting for root device. Common problem:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system for the right device?)
- Missing modules (cat /proc/modules; ls/dev)
ALERT! /dev/mapper/ubuntu--vg-root does not exist. Dropping to a shell!
BusyBox v1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs)_
我输入之后exit
,系统总是能够正常启动。
我搜索了一下,发现有很多和我类似的问题。但我试过的答案都不能解决我的情况。我将尽可能详细地描述我的服务器环境和我所做的事情,非常感谢任何帮助。这真的让我很恼火,因为上次关机前我没有做任何特别的事情。
sudo parted -l
lsblk
我有两个磁盘,sdb 用于另一个卷组,该卷组上的逻辑卷用于 KVM。我认为这不是问题,只是提一下。
我已按照提示进行检查:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system for the right device?)
我有什么
cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-4.4.0-45-generic.efi.signed root=/dev/mapper/ubuntu—vg-root ro rootdelay=30 quiet splash
如你所见,我已经编辑/etc/默认/grub添加rootdelay=30
,但它没有解决任何问题。
- Missing modules (cat /proc/modules; ls/dev)
我真的不知道我应该注意这个提示什么。当我在/dev/映射器,/dev/mapper/ubuntu—vg-swap_1和/dev/mapper/ubuntu—vg-root都在那儿。
针对类似问题经常要求提供的其他信息:
cat /etc/fstab
blkid
我已进入 GRUB 菜单以恢复模式启动,有三对:
Ubuntu, with Linux 4.4.0-45-generic
Ubuntu, with Linux 4.4.0-45-generic(recovery mode)
Ubuntu, with Linux 4.4.0-42-generic
Ubuntu, with Linux 4.4.0-42-generic(recovery mode)
Ubuntu, with Linux 4.4.0-38-generic
Ubuntu, with Linux 4.4.0-38-generic(recovery mode)
但是当我在恢复模式下选择任何版本启动时,都会再次无法进入 BusyBox。正如我之前提到的,输入后exit
我可以正常启动系统,但我认为我不应该每次都这样做,显然我的服务器出了问题。
我真的想知道什么行为或情况会导致这个问题,然后我就可以预防它。
LiveUSB 启动环境:
sudo parted -l
pvdisplay
vgdisplay
lvdisplay
lvmdiskscan
答案1
我在全新安装 Ubuntu 16.06 后不久在 Dell XPS-13 上遇到了同样的问题,但无法成功“退出”BusyBox。
我按住 ctrl 键打开笔记本电脑,从启动菜单中选择系统设置,输入“SATA 设置”,然后从 RAID 更改为 AHCI
Ubuntu 显然不支持 RAID 硬盘
这立即解决了我的问题
答案2
看起来您的磁盘没有问题,因此看起来您最终以某种方式制作了一个没有 lvm 支持的 initramfs。
尝试添加新内核并仔细检查安装过程中是否有错误
答案3
虽然这个线程已经很老了,但我在最近的发行版 Kubuntu 22.10 中遇到了同样的错误消息。
历史
- 我的全新笔记本电脑上安装了 Debian 11。然后创建了加密的 LVM。EFI 和启动分区是主要的未加密分区。所有其他分区都已加密。
- 我在终端中解锁后,刚刚在这个 LVM 中安装了 Kubuntu 22.10。
- 然后,系统无法启动,并发出与本线程主题相同的消息。
我的解决方案
在启动过程中,我进入了 initramfs shell。从那里,我可以打开 LUKS 加密卷:
$ cryptsetup luksOpen /dev/nvme0np13 nvme0np13_crypt
该命令中的最后一个字可以是任意内容,但必须与下面的文件一致。
然后,输入exit
或 Ctrl+D 退出 shell,启动过程恢复。我的系统启动正常!但每次启动时都输入这个命令不是很愉快,对吧?
问题是 initramfs 不知道在哪里找到根文件系统。为了解决这个问题,在正在运行的系统中,我创建了/etc/crypttab
:
nvme0n1p3_crypt UUID=e4ae939c-74ff-43ac-8556-bdb8cf73f34d none luks,discard
UUID 是身体的LMV 所在的分区。要找到它:
$ sudo blkid /dev/nvme0n1p3
创建文件后,运行:
$ sudo update-initramfs -u -k all
然后重启。就我而言,它成功了。