我调用的命令如下
- 创建图像文件
dd if=/dev/zero of=benj.luks bs=1k count=666000
- 设置 LUKS 容器
cryptsetup luksFormat benj.luks
- 设置循环设备并打开 LUKS 容器
cryptsetup luksOpen benj.luks benjImage
- 检查环路设备是否已设置和映射
lsblk
输出
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 650.4M 0 loop
└─benjImage 254:1 0 634.4M 0 crypt
- 在benjImage上创建文件系统ext4
sudo mkfs.ext4 -b 2048 -F -F /dev/mapper/benjImage
命令失败
mke2fs 1.46.5 (30-Dec-2021)
mkfs.ext4: Invalid argument while setting blocksize; too small for device
显示,循环设备被安装为 4094 字节的块设备,不能在其上创建 2048 字节的文件系统。
因此解决方案是手动设置循环设备并使用 -b 选项将扇区大小定义为 2048,如
在第 2 步之前,然后在 /dev/loop0 (或分配的任何循环设备)而不是图像文件上应用连续命令,即
瞧