Linux系统上解压或挂载img文件的方法
发布日期:2022-02-04 13:09 | 文章来源:源码之家
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
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
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。
相关文章