我正在运行具有全盘加密功能的 Ubuntu 12.04。
这是按照此处的指南实现的:
在内核从 3.5.0-32-generic 升级到 3.5.0-34-generic 之前,一切都运行正常。
现在在启动期间,加密分区无法挂载并进入(initramfs)提示符,并显示以下内容。
Gave up waiting for root device.
...
ALERT! /dev/mapper/crypt does not exist. Dropping to a shell!
当在 GRUB 中选择了先前的内核时,系统仍可以正常启动。
我了解启动过程需要不同的步骤或映像以使 lvm2 能够在启动之前挂载加密根,但不确定在哪里或如何排除故障并解决问题。
我尝试创建一个新的 initrd
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-3.5.0-34-generic
从 grub.cfg 中提取
破碎的:
menuentry 'Ubuntu, with Linux 3.5.0-34-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set=root f4554fcf-eba8-4cb0-96ea-1427fff02328
linux /vmlinuz-3.5.0-34-generic root=/dev/mapper/crypt ro quiet splash $vt_handoff
initrd /initrd.img-3.5.0-34-generic
}
作品:
menuentry 'Ubuntu, with Linux 3.5.0-32-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set=root f4554fcf-eba8-4cb0-96ea-1427fff02328
linux /vmlinuz-3.5.0-32-generic root=/dev/mapper/crypt ro quiet splash $vt_handoff
initrd /initrd.img-3.5.0-32-generic
}
有什么建议么?
干杯
答案1
我发现我的文件中的空格/etc/crypttab
导致新建文件initrd
失败。尽管 crypttab 文件看起来没问题。
在我回滚到工作内核之后发现了这个问题,并且在我创建新的initrd
使用时也破坏了它:
sudo update-initramfs -u
我从 /etc/crypttab 中删除了不必要的空格并再次更新了 initramfs。
都好。