
我有一個 .dd 文件,想檢查裡面的內容。許多教學建議使用 Disk Image Mounter,但這個選項不存在。
所以我嘗試了經典的方法:
mkdir /mnt/影像
和
sudo mount -o 迴圈 /home/name/Downloads/usb_content.dd
但換成這個
Failed to read last sector (129022): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/loop42': Invalid argument
The device '/dev/loop42' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
如何正確掛載dd鏡像?
編輯:
sudo fdisk --list /home/name/Downloads/usb_content.dd
給出:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x73736572
Device Boot Start End Sectors Size Id Type
/home/name/Downloads/usb_content.dd1 1920221984 3736432267 1816210284 866G 72 unknown
/home/name/Downloads/usb_content.dd2 1936028192 3889681299 1953653108 931,6G 6c unknown
/home/name/Downloads/usb_content.dd3 0 0 0 0B 0 Empty
/home/name/Downloads/usb_content.dd4 27722122 27722568 447 223,5K 0 Empty
Partition table entries are not in disk order.
答案1
您的映像檔中似乎有四個分割區。如果至少有一個分割區具有 Ubuntu 可以管理的檔案系統,您可以嘗試按照下列步驟掛載分割區。
安裝
kpartx
sudo apt install kpartx
用於
kpartx
將圖像檔案的內容映射到循環設備sudo kpartx -av /home/name/Downloads/usb_content.dd
您應該找到映射的循環設備
ls /dev/mapper/loop*
用於
lsblk
查看映射的內容lsblk -o name,size,fstype,label,mountpoint /dev/loopN
其中
N
是一個數字(如果之前沒有循環設備,則為 0,否則為第一個未佔用的數字,例如 7,取決於已對應的循環設備的數量)。就我而言(沒有任何快照)N = 0
所以/dev/loop0
。現在,
lsblk
應該告訴您是否存在某個檔案系統,如果是這種情況,您可以建立掛載點並掛載[檔案系統]sudo mkdir /mnt/lp1 # create mountpoint only once sudo mkdir /mnt/lp2 # create mountpoint only once ... sudo mount /dev/mapper/loopNp1 /mnt/lp1 sudo mount /dev/mapper/loopNp2 /mnt/lp2 ...
其中
N
是您之前確定的數字(在我的例子中0
)。現在您可以在以下位置讀取已安裝檔案系統的內容
/mnt/lp1
/mnt/lp2
...
最後,您可能想要卸載檔案系統並刪除映射,
sudo umount /mnt/lp* sudo kpartx -d /home/name/Downloads/usb_content.dd