建立loop裝置

2022-05-04 19:30:18 字數 1872 閱讀 7924

例如在ext3的檔案系統上建立乙個xfs的檔案系統,可以通過回環裝置loop, 我們經常通過mount -o loop來 mount乙個iso檔案

但mount 的選項總是ro的

mount: /mnt: warning: device write-protected, mounted read-only.
不僅如此, 先在當前檔案系統dd出乙個檔案, 再繫結到loop裝置上,然後mount 到某個目錄後, 可以進行讀寫訪問

[root@ha1 ~]# dd if=/dev/urandom of=file bs=1m count=2

2+0 records in

2+0 records out

2097152 bytes (2.1 mb, 2.0 mib) copied, 0.0164121 s, 128 mb/s

[root@ha1 ~]# mkfs.ext3 file

mke2fs 1.44.6 (5-mar-2019)

discarding device blocks: done

creating filesystem with 2048 1k blocks and 256 inodes

allocating group tables: done

writing inode tables: done

creating journal (1024 blocks): done

writing superblocks and filesystem accounting information: done

[root@ha1 ~]# mount -o loop file /mnt

[root@ha1 ~]# ls /mnt/

lost+found

[root@ha1 mnt]# echo abc > abc

[root@ha1 mnt]# ls

abc lost+found

繫結loop裝置和掛載是由mount 乙個命令完成的。

[root@ha1 ~]# losetup -f

/dev/loop1

[root@ha1 ~]# losetup -f file

這樣只是將檔案繫結了loop裝置,需要再掛載到檔案目錄mount /dev/loop0 /mnt

[root@ha1 ~]# ls /mnt/

abc lost+found

[root@ha1 ~]#

losetup -f 可以返回第乙個未被使用的loop裝置名

有的系統預設建立了 loop0 .. loop7 的塊裝置,有的則是在需要的時候建立,比如mount iso的時候發現沒有loop裝置,則會建立

手動建立loop裝置通過mknode建立

mknode  /dev/loop0 b 7 0

mknode /dev/loop1 b 7 0

...mknode /dev/loop7 b 7 0

如果8個loop0 .. loop8 裝置都占用了, 可以再建立loop8

$sudo mknod /dev/loop8 b 7 8 

$ls -l /dev/loop8

brw-r--r-- 1 root root 7, 8 jun 11 19:16 /dev/loop8

ps: loop 是塊裝置

loop裝置建置

在linux中,有一種特殊的塊裝置叫做loop device,他是通過對映作業系統上的正常檔案而形成虛擬塊裝置。這種裝置的存在就為我們提供了一種建立乙個存在於其他檔案中的虛擬檔案系統機制,loop裝置是將某個檔案虛擬成乙個磁碟介質裝置的乙個虛擬裝置。關聯之後可以對loop進行格式化,就能讓這個檔案像...

loop 裝置介紹

摘自 1.loop 裝置介紹 在類 unix 系統裡,loop 裝置是一種偽裝置 pseudo device 或者也可以說是 裝置。它能使我們像塊裝置一樣訪問乙個檔案。在使用之前,乙個 loop 裝置必須要和乙個檔案進行連線。這種結合方式給使用者提供了乙個替代塊特殊檔案的介面。因此,如果這個檔案包含...

loop裝置學習

1 loop裝置 在類 unix 系統裡,loop 裝置是一種偽裝置 pseudo device 或者也可以說是 裝置。它能使我們像訪問塊裝置一樣訪問乙個檔案。在使用之前,乙個 loop 裝置必須要和乙個檔案進行連線。這種結合方式給使用者提供了一種替代塊特殊檔案的介面。因此,如果這個檔案包含有乙個完...