Saturday, February 04, 2012

發現神物kpartx


資料來源: 發現神物kpartx
Linux下可以用losetup來吧映像文件當作掛接到loop塊設備去,比如有個光盤映像livecd.iso,可以以root權限執行下面的命令來把這個映像掛載道/mnt
losetup /dev/loop0 livecd.iso
mount /dev/loop0 /mnt
對於簡單的映像文件,losetup足以勝任,但是如果映像文件裡面包含分區表的話(比如硬盤的映像文件),losetup就很難處理了,據說可以用fdist或者parted等工具來查看各個分區的偏移量和大小,然後在mount的時候加參數,不過總歸麻煩。
Google後發現了個東西叫kpartx,此神物就是專門處理硬盤映像文件的。比如我給我的U盤分了兩個去,一個NTFS,一個EXT4。然後用dd製作映像
dd if=/dev/sdb of=flashdisk.img bs=512
然後可以用這個命令來裝載映像
kpartd -av flashdisk.img
參數-a是指示kparted去裝載影響flashdisk.img,-v是verbos,命令的回顯會說明這個映像被裝載到某個loop設備,比如/dev/loop0,並列出所有的分區,這些分區對應的塊設備都放到/dev/mapper/loop0pX,
比如我這個映像在裝載後會生成/dev/mapper/loop0p1和/dev/mapper/loop0p2,分別對應我U盤上的兩個分區。

No comments: