在 7zip 中開啟 DD 映像

在 7zip 中開啟 DD 映像

一段時間以來,我在工作中使用 DD 映像來快速將 Linux 映像傳輸到新硬碟,以防舊硬碟損壞。它工作得很好,沒有抱怨。

但是,幾天前我需要從圖像中獲取一個文件,並且正準備去獲取其中一個驅動器並將其連接到我的計算機以實現此目的。然而,我嘗試使用 7zip 將圖像檔案作為存檔打開,令我驚訝的是,它確實有效!

現在我有點困惑。我知道 Windows 10 無法安裝 EXT3 格式的驅動器,那為什麼 7zip 可以呢?我試著環顧四周,我偶然發現了這個回答,說 7zip 需要支援檔案系統。那麼,是因為它直接支援 EXT3,就像它支援 FAT 一樣,還是因為 DD 映像的編寫方式使得開啟所述映像時檔案系統對 7zip 來說並不重要?

我質疑連結答案的原因是,據我所知,無論如何,沒有穩定的程式可以在Windows 10 中安裝EXT3 硬碟。 ,而我讀過的許多其他用戶的評論也是如此。

那麼,回顧一下:7zip 如何讀取 EXT3 DD 映像?是因為此類映像中沒有檔案系統,還是 7zip 的編碼比 Windows 10 的其他 EXT3 相容軟體更巧妙?

答案1

是因為它直接支援EXT3嗎?

是的。 7zip 確實支援 Ext 系列。看這個圖表

或者 DD 映像的編寫方式是否在開啟所述映像時檔案系統對 7zip 來說無關緊要?

[…]

是因為這些鏡像中沒有檔案系統嗎?

消極的。dd建立一個二進位副本。它將是一個精確的二進位副本,除非

  • 有問題
  • 或副本不完整(skip=seek=count=、 中斷)
  • 或正在閱讀的內容不斷變化(攝影中的類似:這裡;這就是為什麼你不應該dd讀寫安裝的檔案系統)
  • 或者您要求使用 進行一些轉換conv=

這些情況都不能可靠地將檔案系統轉變為某種與檔案系統無關的存檔(無論它意味著什麼)。我提到它們只是為了表明副本在某些情況下可能不準確。就你的情況而言,我確信這是準確的。

我知道設備上有一個檔案系統。圖像中存在完全相同的位元組序列,因此檔案系統就在那裡。


沒有穩定的程式可以在 Windows 10 中安裝 EXT3 硬碟。

7zip 是否比 Windows 10 的其他 EXT3 相容軟體更巧妙地編碼?

至少有兩個面向:

  1. 7zip 不安裝任何東西。它訪問數據。

    掛載檔案系統意味著使其中的檔案和目錄可供任何想要存取掛載點的程式使用。這樣的程式可能對任何檔案系統一無所知,它所需要的只是能夠以作業系統中可用的通用方式開啟檔案:透過指定其路徑(例如F:\directory\file在Windows或/some/mountpoint/directory/file*nix中)。如果檔案系統已正確安裝,那麼這將起作用。

    您的 7zip 可以讀取並解釋影像。如果您希望隨機程式存取映像中存在的任何文件,您可以要求 7zip 將副本(提取文件)保存到另一個(已安裝!)檔案系統。然後其他程式就可以使用該副本。如果檔案系統已安裝,則不需要複製。

    一般來說,可以透過用戶態程式掛載檔案系統(例如保險絲在 *nix 中)或動態地將其內容投影到目錄樹中,因此它顯示為已安裝(例如專案檔案系統在 Windows 中)。 7zip 不是這樣運作的。

    您的 7zip 可以向您呈現目錄結構,提取整個檔案或許多整個檔案。負責安裝檔案系統的程式(或作業系統元件)必須能夠處理來自許多其他程式的並發存取請求。他們可能想要修改資料或元資料以建立新檔案。即使檔案系統以唯讀方式安裝,也有比讀取和保存整個檔案更複雜的操作(例如存取大檔案的隨機片段)。

  2. 7zip 可以從 Ext 讀取,但不能寫入(而且它無法從頭開始建立檔案系統,請參閱圖表再次)。您在使用其他軟體時遇到的損壞意味著軟體進行了一些寫入。如果它只進行一些讀取,檔案系統就不會改變。

所以7zip不一定比其他軟體的編碼更巧妙。與您對安裝檔案系統的程式的期望相比,它的任務相對簡單。

相關內容