Linux 磁碟維護 : losetup 命令詳解
阿新 • • 發佈:2018-12-16
Linux losetup命令用於設定迴圈裝置。
迴圈裝置可把檔案虛擬成區塊裝置,籍以模擬整個檔案系統,讓使用者得以將其視為硬碟驅動器,光碟機或軟碟機等裝置,並掛入當作目錄來使用。
語法
losetup [-d][-e <加密方式>][-o <平移數目>][迴圈裝置代號][檔案]
引數:
- -d 卸除裝置。
- -e<加密方式> 啟動加密編碼。
- -o<平移數目> 設定資料平移的數目。
例項
(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
一個完整測試例項
1. 首先建立一個 1G 大小的空檔案:
# dd if=/dev/zero of=loopfile.img bs=1G count=1 1+0 records in 1+0 records out 1073741824 bytes (1.1 GB) copied, 69.3471 s, 15.5 MB/s
2. 對該檔案格式化為 ext4 格式:
# mkfs.ext4 loopfile.img
。。。。
3. 用 file 命令檢視下格式化後的檔案型別:
# file loopfile.img
loopfile.img: Linux rev 1.0 ext4 filesystem data, UUID=a9dfb4a0-6653-4407-ae05-7044d92c1159 (extents) (large files) (huge files)
4. 準備將上面的檔案掛載起來:
# mkdir /mnt/loopback # mount -o loop loopfile.img /mnt/loopback
mount 命令的 -o loop 選項可以將任意一個 loopback 檔案系統掛載。
上面的 mount 命令實際等價於下面兩條命令:
# losetup /dev/loop0 loopfile.img
# mount /dev/loop0 /mnt/loopback
因此實際上,mount -o loop 在內部已經預設的將檔案和 /dev/loop0 掛載起來了。
然而對於第一種方法(mount -o loop)並不能適用於所有的場景。比如,我們想建立一個硬碟檔案,然後對該檔案進行分割槽,接著掛載其中一個子分割槽,這時就不能用 -o loop 這種方法了。因此必須如下做:
# losetup /dev/loop1 loopfile.img
# fdisk /dev/loop1
6. 解除安裝掛載點:
# umount /mnt/loopback