losetup

設定與控制循環(loop)設備

補充說明

losetup命令 用來設置循環設備。循環設備可把文件虛擬成塊設備,籍此來模擬整個文件系統,讓用戶得以將其視爲硬盤驅動器,光驅或軟驅等設備,並掛入當作目錄來使用。

語法

1losetup [ -e encryption ] [ -o offset ] loop_device file
2losetup [ -d ] loop_device

選項

1-a 顯示所有循環設備的狀態。
2-d 卸除設備。
3-e <加密選項> 啓動加密編碼 。
4-f 尋找第一個未使用的循環設備。
5-o <偏移量>設置數據偏移量,單位是字節。

參數

  • loop_device:循環設備可以是/dev/loop0, /dev/loop1 ... /dev/loop7。
  • file:要與循環設備相關聯的文件名,這個往往是一個磁盤鏡象文件,如 *.img

loop設備介紹

在類 UNIX 系統裏,loop 設備是一種僞設備(pseudo-device),或者也可以說是仿真設備。它能使我們像塊設備一樣訪問一個文件。在使用之前,一個 loop 設備必須要和一個文件進行連接。這種結合方式給用戶提供了一個替代塊特殊文件的接口。因此,如果這個文件包含有一個完整的文件系統,那麼這個文件就可以像一個磁盤設備一樣被 mount 起來。

上面說的文件格式,我們經常見到的是 cd 或 DVD 的 ISO 光盤鏡像文件或者是軟盤(硬盤)的 *.img 鏡像文件。通過這種 loop mount (迴環mount)的方式,這些鏡像文件就可以被 mount 到當前文件系統的一個目錄下。

至此,順便可以再理解一下 loop 之含義:對於第一層文件系統,它直接安裝在我們計算機的物理設備之上;而對於這種被 mount 起來的鏡像文件(它也包含有文件系統),它是建立在第一層文件系統之上,這樣看來,它就像是在第一層文件系統之上再繞了一圈的文件系統,所以稱爲 loop。

實例

創建空的磁盤鏡像文件,這裏創建一個1.44M的軟盤:

1dd if=/dev/zero of=floppy.img bs=512 count=2880

使用 losetup將磁盤鏡像文件虛擬成快設備:

1losetup /dev/loop1 floppy.img

掛載塊設備:

1mount /dev/loop0 /tmp

經過上面的三步之後,我們就可以通過/tmp目錄,像訪問真實快設備一樣來訪問磁盤鏡像文件floppy.img。

卸載loop設備:

1umount /tmp
2losetup -d /dev/loop1

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: