And*_* L. 6 encryption swap initramfs cryptsetup disk-encryption
在ubuntu 20.04 上设置休眠并将其修改为适用于加密交换分区后,我遇到了几个问题:
首先,从休眠状态重新启动后,我收到“放弃等待挂起/恢复设备”以及“未找到卷组 luks”。幸运的是,我之后可以正常启动系统。
尽管如此,当再次执行上述网站的步骤时,我在执行时收到以下错误和警告sudo update-initramfs -c -k all:
update-initramfs: Generating /boot/initrd.img-5.4.0-56-generic
cryptsetup: ERROR: Couldn't resolve device
/dev/disk/by-uuid/5834cf70-0919-4c53-98a6-355d69bbd6a4
cryptsetup: ERROR: Couldn't resolve device
UUID=5834cf70-0919-4c53-98a6-355d69bbd6a4
cryptsetup: WARNING: target 'sda3_crypt' not found in /etc/crypttab
update-initramfs: Generating /boot/initrd.img-5.4.0-58-generic
cryptsetup: ERROR: Couldn't resolve device
/dev/disk/by-uuid/5834cf70-0919-4c53-98a6-355d69bbd6a4
cryptsetup: ERROR: Couldn't resolve device
UUID=5834cf70-0919-4c53-98a6-355d69bbd6a4
cryptsetup: WARNING: target 'sda3_crypt' not found in /etc/crypttab
Run Code Online (Sandbox Code Playgroud)
请注意,UUID=5834cf70-0919-4c53-98a6-355d69bbd6a4属于以前未加密的交换分区sda3。我用我知道的每个配置文件(见下文)UUID中的加密分区之一替换了它sda3_crypt。
我希望通过以下打印输出可以解决问题。涉及的配置文件内容(关于swap分区)是:
1. /etc/fstab
/dev/mapper/sda3_crypt none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)
2. /etc/initramfs-tools/conf.d/resume
RESUME=UUID=1e1793ab-315d-4797-a4df-ba5675f4c177
Run Code Online (Sandbox Code Playgroud)
3. /etc/crypttab
sda3_crypt /dev/sda3 /dev/urandom cipher=aes-xts-plain64,size=256,swap,discard
Run Code Online (Sandbox Code Playgroud)
4. /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=abcb93a9-b73a-4e57-9f78-91b292b6bfb2:luks-abcb93a9-b73a-4e57-9f78-91b292b6bfb2 root=/dev/mapper/luks-abcb93a9-b73a-4e57-9f78-91b292b6bfb2 resume=UUID=1e1793ab-315d-4797-a4df-ba5675f4c177"
Run Code Online (Sandbox Code Playgroud)
5. cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 16561148 55296 -2
Run Code Online (Sandbox Code Playgroud)
6.免费-mh
total used free shared buff/cache available
Mem: 7.6Gi 3.6Gi 139Mi 545Mi 3.9Gi 3.2Gi
Swap: 15Gi 54Mi 15Gi
Run Code Online (Sandbox Code Playgroud)
7. sudo swapon --all --verbose
swapon: /dev/mapper/sda3_crypt: already active -- ignored
Run Code Online (Sandbox Code Playgroud)
8. blkid | 交换
/dev/mapper/sda3_crypt: UUID="1e1793ab-315d-4797-a4df-ba5675f4c177" TYPE="swap"
Run Code Online (Sandbox Code Playgroud)
9. lsblk | 交换交换
`-sda3_crypt 253:1 0 15.8G 0 crypt [SWAP]
Run Code Online (Sandbox Code Playgroud)
所有已安装设备的整个打印输出:
~/$ blkid
/dev/mapper/luks-abcb93a9-b73a-4e57-9f78-91b292b6bfb2: UUID="3dad5211-99f3-4513-bbcc-de820c2dbe8b" TYPE="ext4"
/dev/sda1: UUID="11F5-FCE6" TYPE="vfat" PARTUUID="59397319-bfe7-1841-b259-c157e97b19bd"
/dev/sda2: UUID="abcb93a9-b73a-4e57-9f78-91b292b6bfb2" TYPE="crypto_LUKS" PARTUUID="11c68a93-8cdf-e04f-ad0d-d4c1bfce2796"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/mapper/sda3_crypt: UUID="1e1793ab-315d-4797-a4df-ba5675f4c177" TYPE="swap"
~/$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 55.4M 1 loop /snap/core18/1932
loop1 7:1 0 55.4M 1 loop /snap/core18/1944
loop2 7:2 0 31.1M 1 loop /snap/snapd/10238
loop3 7:3 0 31.1M 1 loop /snap/snapd/10492
sda 8:0 0 232.9G 0 disk
|-sda1 8:1 0 300M 0 part /boot/efi
|-sda2 8:2 0 216.8G 0 part
| `-luks-abcb93a9-b73a-4e57-9f78-91b292b6bfb2 253:0 0 216.8G 0 crypt /
`-sda3 8:3 0 15.8G 0 part
`-sda3_crypt 253:1 0 15.8G 0 crypt [SWAP]
Run Code Online (Sandbox Code Playgroud)
所有配置文件中的所有行都以换行符结尾吗?
我在运行时遇到以下错误update-initramfs -c -k all:
cryptsetup: WARNING: target 'sda4_crypt' not found in /etc/crypttab
Run Code Online (Sandbox Code Playgroud)
我的/etc/crypttab是:
sda4_crypt UUID=[snip] none luks,discard
Run Code Online (Sandbox Code Playgroud)
但是,行尾没有换行符。 /etc/crypttab由 POSIX shell 脚本(我编写的脚本)生成,并且在 POSIX shell 中创建带有尾随换行符的变量非常困难。
当我在行尾添加换行符后,错误消息消失了,看起来initramfs现在运行成功了。
| 归档时间: |
|
| 查看次数: |
4154 次 |
| 最近记录: |