如何存取/掛載未知類型的檔案?

如何存取/掛載未知類型的檔案?

早在 2012 年,我就創建了一個 7.5GB 的文件,名為

SD-card.2012.dd-bs1024-1.ec6a4994f4148912abb199505b98f01g

我的猜測是我dd使用一台相機的 8GB SD 卡來運行。為什麼?不記得了。

我確認ec6a4994f4148912abb199505b98f01g其檔案名稱中包含其 md5sum,因此該檔案相對於我將其總和添加到其名稱中時而言是完整的。

file報告即數據。

partx報告“無法讀取分區表”。以前從未使用過partx。

fdisk報告“不包含有效的分區表”

sudo losetup -f <filename>將其放在 /dev/loop0 中,如 所報告的那樣losetup -a,但不會產生任何loop0pN,並且我隨後的嘗試mount -t <type> /dev/loop0 <mount-point>失敗,如上所述。

mount -o loop -t auto失敗,說我需要指定檔案系統類型。如果我指定 vfat 或 ntfs,它也會失敗。

尋求有關如何繼續的建議。

答案1

自己製作一個循環設備並從那裡檢查裡面有什麼。這可以透過以下方法來完成(如果不反映您的環境,則更新命令以反映您的環境):

尋找未使用的循環設備:

losetup -f

使用該 SD 卡檔案建立循環設備:

losetup /dev/loop0 /path/to/SD-card.2012.dd bs1024-1.ec6a4994f4148912abb199505b98f01g

由於是SD卡,所以可能沒有一個分區表,並且可能只有一個檔案系統直接位於其上。現在您可以將其/dev/loop0作為特殊區塊進行尋址,並查看其上可能存在哪種類型的檔案系統。

將檔案系統顯示為系統可掃描的:

blkid

當您知道檔案系統/分割區結構是什麼後,請嘗試掛載它。 YMMV,因為您的 SD 卡上可能有一些奇怪的東西(例如 LVM)。但它可能是直接在其上的檔案系統:

mount /dev/loop0 /mnt/foo

相關內容