系统不再引导,放弃了等待根设备的等待,(initramfs),/ dev / mapper / gnome-root不存在


10

安装更新后,我的系统不再引导。我启用了全盘加密(安装程序会为您设置的加密),因此通常在引导通过GRUB后仅几秒钟就要求输入密钥。现在,它跳过询问密钥,尝试加载Gnome,然后转到下图所示的屏幕。该系统是运行Ubuntu Gnome 13.04的64位System76盒。但是,过去,在运行Ubuntu Gnome Remix 12.10的Dell XPS 8300 64位操作系统上,这曾经发生过。在那种情况下,我重新安装了操作系统。但是,这次我实际上想解决此问题,因此我知道将来如何处理。另外,从头开始重新安装非常不方便。

我的怀疑是/ 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?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/gnome-root does not exist.   
Dropping to a shell! 

BusyBox v.1.20.2 (Ubuntu 1:1.20.2-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)

Answers:


9

我把它修好了!!!对于子孙后代,您不必经历我经历的痛苦和无尽的时间:

首先,我可以(initramfs)通过键入以下命令从提示符启动系统(我将此论坛页面用作拐杖):

cryptsetup luksOpen /dev/sda5 sda5_crypt
lvm vgchange -a y
exit

这使我的系统正常启动。启动后,我修改/etc/crypttab为指向与以前不同的UUID。我从中选择了UUID /etc/fstab保存原始UUID值。 您将需要几个步骤。然后,我从终端运行:

update-initramfs -k all -c

如果您收到类似或类似的警告:

WARNING: invalid line in /etc/crypttab

然后回到起点,而不是sda5_crypt使用你的东西crypttab

然后,我重新启动。这次我得到了提示输入密码的提示!但是不要太兴奋,因为它没有用。我输入了大约7次正确的密码,但密码全部被拒绝。(initramfs)大约90秒后,它又返回到提示。

我重复了第一步,然后重新启动了它。然后,我将原始 UUID值恢复为crypttab,然后重新执行第二步。然后,我重新启动,并成功!


5

在Ubuntu 14.04中可以选择使用全盘加密,我只想指出如何解决此问题,因为我的initramfs终端不允许我使用cryptsetup

  1. 从Live DVD / USB引导(USB将更快)。

  2. 打开终端并输入以下内容:

    sudo -i
    cryptsetup luksOpen /dev/sda5 sda5_crypt
    # (do any lvm management you need here, I didn't need any.)
    mkdir /mnt/system
    mount /dev/mapper/ubuntu--vg-root /mnt/system
    mount /dev/sda2 /mnt/system/boot
    mount /dev/sda1 /mnt/system/boot/efi (May or may not be needed.)
    for i in /dev/pts /dev /proc /sys; do mount -B $i /mnt/system$i; done
    chroot /mnt/system
    update-initramfs -k all -c
    exit
    for i in /dev/pts /dev /proc /sys; do umount /mnt/system$i; done
    umount /mnt/system/boot/efi # (If you have UEFI.)
    umount /mnt/system/boot
    umount /mnt/system
  3. 重新启动并希望它能工作。


我更好地喜欢此解决方案,因为我不必弄清楚如何获取initramfs提示符或进行多次重启。就我而言,我已从Ubuntu 15.04升级到15.10,并且在启动过程中无法再解锁驱动器。另外,我发现第2行提供的映射名称(例如sda5_crypt)需要与您的crypttab文件匹配。
Der Wolf

1
仅当您在中输入时,以上才有效/etc/crypttab。按照上述步骤输入chroot之后,但要运行之前update-initramfs,请运行nano /etc/crypttab,并确保在其中存在映射器名称和驱动器UUID的行。如果文件不存在或为空,update-initramfs将无法解决问题!在chroot环境中添加crypttab行。该答案应进行编辑以反映这一点。另外,我认为cryptsetup只有在initramfs提示符下才存在,/etc/crypttab并且在更新initramfs时具有条目。
尼克,

0

通过live-cd / live-usb引导修复grub。有关此过程的详细信息,请参阅此页面。请参阅页面上的“通过LiveCD终端”部分。

修复grub应该可以修复grub配置中可能包含的任何格式错误的文件。


谢谢你的提示。我尝试了您提出的所有建议,但均无济于事。我确实只是想通了。这真是太疯狂了……
Freedom_Ben

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.