檔案作為塊裝置訪問

來源:互聯網
上載者:User

標籤:

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

3. 使用舉例

(1)建立空的磁碟鏡像檔案,這裡建立一個1.44M的磁碟片

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

(2)使用 losetup將磁碟鏡像檔案虛擬成快裝置

          $ losetup /dev/loop1 floppy.img

(3)掛載塊裝置

          $ mount /dev/loop0 /tmp

    經過上面的三步之後,我們就可以通過/tmp目錄,像訪問真實快裝置一樣來訪問磁碟鏡像檔案floppy.img。

(4) 卸載loop裝置

          $ umount /tmp

          $ losetup -d /dev/loop1

 

如何掛載一個鏡像檔案(how to mount an image file)

http://smilejay.com/2012/08/mount-an-image-file/

或者可以使用qemu內建的一個工具qemu-nbd來掛載一個客戶機。

http://smilejay.com/2012/11/how-to-mount-a-qcow2-image/

檔案作為塊裝置訪問

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.