Linux losetup命令

Linux 命令大全 Linux 命令大全

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

Linux 命令大全 Linux 命令大全