Linux中loop裝置詳解

2021-10-10 12:14:36 字數 2116 閱讀 9185

首先我們在命令列終端中輸入man loop

出現如下內容:

摘要:loop裝置是一種塊裝置,但是它並不指向硬碟或者光碟機,而是指向乙個檔案塊或者另一種塊裝置。

一種應用的例子:將另外一種檔案系統的映象檔案儲存到乙個檔案中,例如iso檔案,然後將乙個loop裝置指向該檔案,緊接著就可以通過mount掛載該loop裝置到主檔案系統的乙個目錄下了,我們就可以正常訪問該映象中的內容,就像訪問乙個檔案系統一樣。

loop裝置是一種偽裝置,是使用檔案來模擬塊裝置的一種技術,檔案模擬成塊裝置後, 就像乙個磁碟或光碟一樣使用。在使用之前,乙個 loop 裝置必須要和乙個檔案進行連線。這種結合方式給使用者提供了乙個替代塊特殊檔案的介面。因此,如果這個檔案包含有乙個完整的檔案系統,那麼這個檔案就可以像乙個磁碟裝置一樣被 mount 起來。之所以叫loop裝置(回環),其實是從檔案系統這一層來考慮的,因為這種被 mount 起來的映象檔案它本身也包含有檔案系統,通過loop裝置把它mount起來,它就像是檔案系統之上再繞了一圈的檔案系統,所以稱為 loop。

回環裝置( 'loopback device')允許使用者以乙個普通磁碟檔案虛擬乙個塊裝置。設想乙個磁碟裝置,對它的所有讀寫操作都將被重定向到讀寫乙個名為 disk-image 的普通檔案而非操作實際磁碟或分割槽的軌道和扇區。(當然,disk-image 必須存在於乙個實際的磁碟上,而這個磁碟必須比虛擬的磁碟容量更大。)回環裝置允許你這樣使用乙個普通檔案。

回環裝置以 /dev/loop0、/dev/loop1 等命名。每個裝置可虛擬乙個塊裝置。注意只有超級使用者才有許可權設定回環裝置。

一般在linux中會有8個loop裝置,一般是/dev/loop0~loop7,可用通過losetup -a檢視所有的loop裝置,如果命令沒有輸出就說明所有的loop裝置都沒有被占用,你可以按照以下步驟建立自己的loop裝置。

命令losetup可以對loop裝置進行操作。

下面簡單的說明loop裝置對映或者指向乙個檔案的簡單步驟:

建立乙個檔案

1、dd if=/dev/zeroof=/var/loop.img bs=1m count=10240

使用losetup將檔案轉化為塊裝置

2、losetup /dev/loop0/var/loop.img

通過lsblk檢視剛剛建立的塊裝置

lsblk|grep loop0

losetup –a

3、2步驟過後,我們就獲得了乙個磁碟,在這磁碟上我們可以構建任何檔案系統,通常來說,使用預設的檔案系統(即作業系統的當前的檔案系統格式)就行了。如何建立乙個檔案系統,需要另外了解。

4、掛載該磁碟到主檔案系統下的乙個目錄。

首先建立乙個目錄:

mkdir/myloopdev

接著掛載:

mount/dev/loop0 /myloopdev

5、就可以進入myloopdev目錄,對該虛擬磁碟進行操作了。就像使用真實磁碟一樣,例如:echo 「hello world!」 > hello_world.txt

6、使用結束,我們解除安裝該磁碟,umount /myloopdev

7、接著刪除該loop裝置,losetup –d  /dev/loop0

上面三簡單介紹了如何使用loop指向乙個檔案,接下介紹使用loop的一些場景。

利用loop裝置作為乙個虛擬光碟機或者虛擬軟碟機

1、回環裝置關聯檔案。

losetup/dev/loop0 a.iso

losetup命令用來實現回環裝置和檔案的關聯。這個命令還可以實現檔案系統的加密,有興趣的朋友可以檢視手冊。

2、掛載回環裝置到特定目錄,我們假設要掛載到/mnt/下面。

mount/dev/loop0 /mnt/

這樣/mnt/下面就是a.iso的內容了。可以通過shell去訪問它了。

3、用完之後,需要解除安裝會換裝置。

umount/mnt/

這樣裝置就解除安裝,/mnt/下面就不是a.iso的檔案了。

4、回環裝置和關聯檔案分離。雖然已經在系統中解除安裝了回環裝置,但是這個裝置和檔案的關聯還存在。假如你還要用這個裝置關聯其他的檔案,系統會提示這個裝置正在忙。所以需要讓回環裝置和關聯檔案分離。

losetup-d /dev/loop0

這樣乙個光碟映象的使用就完成了。當然同理也可以通過回環裝置掛載其他的虛擬檔案,比如虛擬軟盤img等。

loop裝置建置

在linux中,有一種特殊的塊裝置叫做loop device,他是通過對映作業系統上的正常檔案而形成虛擬塊裝置。這種裝置的存在就為我們提供了一種建立乙個存在於其他檔案中的虛擬檔案系統機制,loop裝置是將某個檔案虛擬成乙個磁碟介質裝置的乙個虛擬裝置。關聯之後可以對loop進行格式化,就能讓這個檔案像...

loop 裝置介紹

摘自 1.loop 裝置介紹 在類 unix 系統裡,loop 裝置是一種偽裝置 pseudo device 或者也可以說是 裝置。它能使我們像塊裝置一樣訪問乙個檔案。在使用之前,乙個 loop 裝置必須要和乙個檔案進行連線。這種結合方式給使用者提供了乙個替代塊特殊檔案的介面。因此,如果這個檔案包含...

loop裝置學習

1 loop裝置 在類 unix 系統裡,loop 裝置是一種偽裝置 pseudo device 或者也可以說是 裝置。它能使我們像訪問塊裝置一樣訪問乙個檔案。在使用之前,乙個 loop 裝置必須要和乙個檔案進行連線。這種結合方式給使用者提供了一種替代塊特殊檔案的介面。因此,如果這個檔案包含有乙個完...