我试图在 Kubuntu 20.04 上安装加密的 SD 卡。
lsblk
给了我这个:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 97,9M 1 loop /snap/core/10577
loop1 7:1 0 97,9M 1 loop /snap/core/10583
loop2 7:2 0 55,4M 1 loop /snap/core18/1932
loop3 7:3 0 55,4M 1 loop /snap/core18/1944
loop4 7:4 0 64,8M 1 loop /snap/gtk-common-themes/1514
loop5 7:5 0 64,4M 1 loop /snap/gtk-common-themes/1513
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 731M 0 part /boot
└─sda6 8:6 0 930,3G 0 part
└─sda6_crypt 253:0 0 930,3G 0 crypt
├─vgkubuntu-root 253:1 0 929,3G 0 lvm /
└─vgkubuntu-swap_1 253:2 0 976M 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
mmcblk0 179:0 0 238,5G 0 disk
└─mmcblk0p1 179:1 0 238,5G 0 part
└─luks-da818ea9-1681-4c54-93b4-e2cc6529e8f7 253:3 0 238,5G 0 crypt
创建一个用作挂载点的空目录后,我尝试挂载与 SD 卡相对应的不同 /dev,输出如下。
sudo mount /dev/mmcblk0p1 /media/alex/SDcard
mount: /media/alex/SDcard: unknown filesystem type 'crypto_LUKS'.
sudo mount /dev/mmcblk0 /media/alex/SDcard
mount: /media/alex/SDcard: /dev/mmcblk0 already mounted or mount point busy.
(我不知道为什么它说已安装或安装点繁忙。我之前已经在 Dolphin 文件浏览器中卸载了 SD 卡。)
sudo mount /dev/luks-da818ea9-1681-4c54-93b4-e2cc6529e8f7 /media/alex/SDcard
mount: /media/alex/SDcard: special device /dev/luks-da818ea9-1681-4c54-93b4-e2cc6529e8f7 does not exist.
然而,我只是偶然发现,以下命令可以工作并安装 SD 卡,并且我可以在安装点访问它。
sudo mount /dev/dm-3 /media/alex/SDcard
我现在的问题是这个 /dev/dm-3 从哪里来?或 中均未
提及/dev/dm-3 。如果不是偶然的话,是否还有其他方法可以找到它?lsblk
fdisk -l
gdisk -l /dev/mmcblk0
答案1
设备加密是使用称为的内核框架实现的设备映射器(这就是它的来源dm-3
,它是系统中的第三个设备映射器设备)。 “安装”加密设备有两个步骤:
- 解锁/打开设备(在您的情况下是 SD 卡上的第一个分区)。您已经执行了此步骤(或者 KDE 为您执行了此操作),其结果是在分区顶部创建了一个设备映射器设备,从系统角度来看,该设备是一个普通的未加密设备(但之前对它的所有写入都已加密)将数据写入“真实”底层设备)并可以安装。设备映射器设备默认有两个路径 -
/dev/dm-X
(/dev/dm-3
) 和“人类可读”,/dev/mapper/<name>
其中“名称”通常是(对于 LUKS/dm-crypt 设备)luks-<UUID>
。 - 挂载步骤 1 中生成的设备映射器设备(或者实际上是其上的文件系统)。要挂载它,您需要使用完整路径,因此或者
/dev/dm-3
根据/dev/mapper/luks-da818ea9-1681-4c54-93b4-e2cc6529e8f7
您的情况。
sudo mount /dev/mmcblk0p1 /media/alex/SDcard
这不起作用,因为加密设备(具有 LUKS/dm-crypt 格式)无法直接安装。
sudo mount /dev/mmcblk0 /media/alex/SDcard
这表示“设备正忙”,因为您尝试挂载的磁盘的分区上有未锁定的 LUKS 设备,因此该磁盘正忙。 (无论如何,安装带有分区而不是分区的磁盘是行不通的。)
sudo mount /dev/luks-da818ea9-1681-4c54-93b4-e2cc6529e8f7 /media/alex/SDcard
这很接近,你错过了mapper
路径的一部分。
我现在的问题是这个 /dev/dm-3 从哪里来? lsblk、fdisk -l 或 gdisk -l /dev/mmcblk0 中均未提及 /dev/dm-3。如果不是偶然的话,是否还有其他方法可以找到它?
dm-3
是“系统名称”,通常不会向用户显示,因为它在重新启动之间会发生变化,并且通常很难找出哪个设备映射器使用该名称。大多数工具都会显示“好的”/dev/mapper/luks-da818ea9-1681-4c54-93b4-e2cc6529e8f7
路径,该路径是符号链接到/dev/dm-3
.
如果您想手动挂载加密设备而不是使用 Dolphin(它将解锁并挂载设备)来执行此操作,您需要使用来lsblk
识别 UDisks(KDE 用于处理设备的工具)为其提供的名称,然后请记住/dev/mapper
本例中的路径前缀。