Linux /dev/loop0文件詳解


  1. loop設備介紹

    在類 UNIX 系統里,loop 設備是一種偽設備(pseudo-device),或者也可以說是仿真設備。它能使我們像塊設備一樣訪問一個文件。
    在使用之前,一個 loop 設備必須要和一個文件進行連接。這種結合方式給用戶提供了一個替代塊特殊文件的接口。因此,如果這個文件包含有一個完整的文件系統,那么這個文件就可以像一個磁盤設備一樣被 mount 起來。
    上面說的文件格式,我們經常見到的是 CD 或 DVD 的 ISO 光盤鏡像文件或者是軟盤(硬盤)的 *.img 鏡像文件。通過這種 loop mount (回環mount)的方式,這些鏡像文件就可以被 mount 到當前文件系統的一個目錄下。
    至此,順便可以再理解一下 loop 之含義:對於第一層文件系統,它直接安裝在我們計算機的物理設備之上;而對於這種被 mount 起來的鏡像文件(它也包含有文件系統),它是建立在第一層文件系統之上,這樣看來,它就像是在第一層文件系統之上再繞了一圈的文件系統,所以稱為 loop。

  2. losetup命令

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

說明:
此命令用來設置循環設備。循環設備可把文件虛擬成塊設備,籍此來模擬整個文件系統,讓用戶得以將其視為硬盤驅動器,光驅或軟驅等設備,並掛入當作目錄來使用。
上面,命令格式中的選項與參數名:
-e 表示加密的方式
-o 設置數據偏移量
-d 卸載設備
loop_device 循環設備名,在 linux 下如 /dev/loop0 , /dev/loop1 等。
file 要與循環設備相關聯的文件名,這個往往是一個磁盤鏡象文件,如 *.img

  1. 使用舉例

(1)創建空的磁盤鏡像文件,這里創建一個1.44M的軟盤

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

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

      $ losetup /dev/loop0 floppy.img

(3)掛載塊設備

      $ mount /dev/loop0 /tmp

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

(4) 卸載loop設備

      $ umount /tmp

      $ losetup -d /dev/loop1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM