在引导屏幕上,我收到消息:
cryptsetup: waiting for encrypted source device /swapfile...
然后让我挂了大约 2 分钟,然后
Initramfs unpacking failed: Decoding failed.
然后我被丢到 Initramfs。
这是在带有加密主文件夹的 Ubuntu 20.04 上。切换回 nouveau 驱动程序以安装 cuda-10 后出现错误(它抱怨 nvidia 驱动程序已在使用中)
其他建议涉及使用/etc/crypttab
,但我的系统上不存在该文件。cat /etc/fstab
还显示一个空文件。一些阅读表明在这种情况下它将使用默认设置,但如果是这样,它如何知道应该将哪个磁盘用作交换空间?或者有什么我可以用live usb做的吗?
mount 的输出是
none on / type rootfs (rw)
sysfs on /sys type sysfs (rw,nosuid, nodev, noexec, relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid, noexec,relatime,size=32840428k,nr_inodes=8210107,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on/run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6583428k,mode=755)
lsblk 返回一个未找到的错误(这是在 inframs 中,因此可能无法正常工作)
在 life usb 上的 /mnt 上安装 sdc1 时,我可以得到以下结果:
cat /mnt/etc/fstab
看起来像
# /etc/fstab: static file system information.
#
# Use 'blkid' 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>
# / was on /dev/sdc1 during installation
UUID=5df229c0-be7c-43d7-b616-67ec15e2a6d3 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/nvme0n1p2 during installation
UUID=D23D-B0F6 /boot/efi vfat umask=0077 0 1
#/swapfile none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0
. 猫 /mnt/etc/crypttab
好像
# <target name> <source device> <key file> <options>
cryptswap1 /swapfile /dev/urandom swap,offset=1024,cipher=aes-xts-plain64
看起来lsblk -o name, type, uuid, label
像
NAME TYPE UUID LABEL
loop0 loop
loop1 loop
loop2 loop
loop3 loop
loop4 loop
loop5 loop
sda disk
└─sda1 part 8C45-E3AC UBUNTU 20_0
sdb disk
├─sdb1 part
└─sdb2 part
sdc disk
└─sdc1 part 5df229c0-be7c-43d7-b616-67ec15e2a6d3
nvme0n1 disk
├─nvme0n1p1 part 60FC3C5FFC3C3220 Recovery
├─nvme0n1p2 part D23D-B0F6
├─nvme0n1p3 part
└─nvme0n1p4 part
如果我没有错过任何内容,那么您的配置似乎一切正常。但是,在禁用文件加密的同时重新生成initramfs可能会有所帮助。
/swap
使用实时 Ubuntu 磁盘启动系统。挂载这两个分区:
打开
/mnt/etc/fstab
并注释这一行(在开头添加一个#):打开
/mnt/etc/crypttab
并注释这一行(在开头添加一个#):现在我们必须chroot进入系统并重新生成initramfs:
这一切都完成了。退出 chroot 环境:
卸载挂载的分区并重新启动:
现在您丢失了
/swap
. 但是我认为你一开始并不想要它。您可以尝试这些说明而无需编辑/etc/fstab
和/etc/crypttab
. 这也可能奏效。