Mount

掛載加密 SD 卡:/dev/dm-3 來自哪裡?

  • January 24, 2021

我試圖在 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在or

中均未提及。如果不是偶然,還有其他方法可以找到它嗎?lsblk``fdisk -l``gdisk -l /dev/mmcblk0

設備加密是使用稱為設備映射器的核心框架實現的(這就是dm-3它的來源,它是您系統中的第三個設備映射器設備)。“安裝”加密設備有兩個步驟:

  1. 解鎖/打開設備(在您的情況下是 SD 卡上的第一個分區)。您已經完成了此步驟(或 KDE 為您完成了此步驟),結果是在分區頂部創建了一個設備映射器設備,從系統的角度來看,它是一個普通的未加密設備(但之前對它的所有寫入都是加密的將數據寫入“真正的”底層設備)並且可以掛載。設備映射器設備預設有兩個路徑—— /dev/dm-X/dev/dm-3)和“人類可讀” /dev/mapper/<name>,其中“名稱”通常是(對於 LUKS/dm-crypt 設備)luks-<UUID>
  2. 安裝步驟 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 來自哪裡?/dev/dm-3 在 lsblk 和 fdisk -l 或 gdisk -l /dev/mmcblk0 中都沒有提到。如果不是偶然,還有其他方法可以找到它嗎?

dm-3是“系統名稱”,通常不會向使用者顯示,因為它在重新啟動之間會發生變化,並且通常很難找出哪個設備映射器是哪個使用此名稱的。大多數工具將顯示/dev/mapper/luks-da818ea9-1681-4c54-93b4-e2cc6529e8f7符號連結到/dev/dm-3.

如果您想手動掛載加密設備而不使用 Dolphin(它將解鎖和掛載設備)來執行此操作,您需要使用lsblk標識 UDisks(KDE 用於處理設備的工具)給它的名稱,然後記住路徑前綴/dev/mapper在這種情況下。

引用自:https://unix.stackexchange.com/questions/630777