linux下使用kpartx掛載虛擬文件系統


在linux中,如果映像文件(.img)含有分區表的話,那么用losetup這個程序來加載文件系統就有點力不從心了。因為losetup只能加載無分區的文件系統映像文件。不過有一個好東西配合losetup卻可以來掛載帶有分區表的映像文件。這就是kpartx了。

廢話不多說,進入正題(其中X和Y要看你的掛接的情況而看了):

#先創建一個1G大小的映像文件來做實驗
dd bs=4096 if=/dev/zero of=~/hd.img count=262144


#將映像文件掛接到loopX中去
losetup /dev/loopX ~/hd.img 

#對loopX進行分區
fdisk /dev/loopX

#我這里分了兩個區,每個去512M大小
      Device Boot      Start         End      Blocks   Id  System
/dev/loopXpY            2048     1050623      524288   83  Linux
/dev/loopXpY         1050624     2097151      523264   83  Linux

#正戲來了,使用kpartd裝載映像,使用kpartx是需要root用戶的,因為是用root登錄的,所以不用使用sudo。從前面的命令就可以看出來...
kpartx -av ~/hd.img

#裝載之后,就可以在/dev/mapper/目錄下看到兩個loopXpY的文件了。

#接下來對loopXpY進行格式化了。
mkfs.vfat /dev/mapper/loopXpY

#然后掛載文件系統。
mount /dev/mapper/loop1p1 /media/hd1

#OK,羅嗦完了。

后面再廢話一點,使用完映像文件的文件系統后,想退出的話,可以使用 kpartx -dv /dev/loopX 寫卸載剛才掛接的東西。然后再使用losetup -d /dev/loopX斷掉和映像文件的掛接關系。

其中,kpartx -a指定去添加哪個映像文件(add),-v是指掛到loop設備(verbose),-d就是delete的意思了。其它更詳細用法可以去"找男人"。

 

 


免責聲明!

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



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