img文件壓縮及解壓
2.6內核中的initrd.img采用cpio壓縮,不再是2.4內核使用的ext2格式,無法使用mount -o loop 掛載。需要使用gunzip解壓縮,然後再使用cpio解包
復制代碼代碼如下:
cp /boot/initrd-***.img initrd.img.gz
gunzip initrd.img.gz
mkdir initrd
mv initrd.img initrd
cd initrd
cpio -ivmd < initrd.img
通過以上命令就將initrd.img解壓了,現在就可以對其進行編輯,完成後使用以下命令重新壓制
復制代碼代碼如下:
find . | cpio -cv -o > ../initrd.new.img
gzip ../initrd.new.img
img文件掛載方法
在linux中,對於img文件(例如,虛擬機的img文件),有時候需要將其掛載,以便修改其中的內容。能不能將它像iso文件一樣掛載呢?
其實方法很簡單,只需要兩步:
復制代碼代碼如下:
#kpartx -av xxx.img
得到如下信息:
復制代碼代碼如下:
add map loop0p1 ...
此時只需要mount loop0p1即可
復制代碼代碼如下:
#mount /dev/mapper/loop0p1 /mnt
OK,這樣就可以進入mnt對img文件的內容進行修改了
要卸載也很簡單,同樣是兩步:
復制代碼代碼如下:
umount /mnt
kpartx -d xxx.img