Mount

安裝時,什麼時候應該使用 Loop 設備?

  • December 15, 2020

根據以下問題:

安裝時的“迴路設備”是什麼?

循環設備是充當基於塊的設備的文件。雖然我可以從概念上理解,但這與掛載任何其他文件有什麼不同?例如,如果我獲取 ext2 文件系統的 dd 映像然後掛載它,我不必使用循環選項 -mount -t ext2 file.dd /mnt/mount-point成功。

我什麼時候應該使用 loop 選項?使用 loop 選項安裝和不使用 loop 選項安裝有什麼區別?

如果您不必使用循環選項來掛載正常文件,那是因為它mount會檢測到這一點並自動為您啟動它。您過去必須手動指定它。

從技術上講,循環設備是寫入文件的塊設備,而不是硬體。所以你在掛載文件時總是使用/需要使用環回設備。

這麼多的直接答案。也許這可以作為解釋:

核心實現了幾個抽象層,以便它可以以相同的方式處理不同的硬體。想像一下,如果您必須為每個品牌的控制器重建 ext2 驅動程序。沒有人想要這樣,但我們希望以同樣的方式對待每個硬碟。這就是我們創建抽象層的原因。

塊設備就是這樣一種抽象。塊設備具有某些屬性並暴露了某些可以被其他軟體使用的功能。無論您擁有的是 ATA HDD 還是 SCSI HDD 還是磁帶驅動器,您總是使用完全相同的結構和函式與之互動。然後是核心的任務,更明確的是抽象層的任務,在訪問塊設備時做正確的事情。在塊設備介面的情況下,正確的事情是將呼叫和數據傳遞到正確的設備驅動程序和從正確的設備驅動程序傳出。例如,該設備驅動程序可以是 SCSI 子系統或循環設備的驅動程序。

循環設備驅動程序將相關塊設備上的操作轉換為文件系統操作,這就是數據/分區最終在文件中的方式。

我可能在使用的術語以及所涉及的抽象層的名稱和數量上大錯特錯。我只是想勾勒出基本概念,因此很明顯循環設備不是一個文件在做某事,而是一個使用文件的東西。該文件沒有做任何不同於它用來做的事情。

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