如何查看 linux 镜像文件

如何查看 linux 镜像文件,第1张

查看镜像文件类型linux中文件类型是与文件后缀无关的,不能从文件后缀判断文件类型。要想对镜像 *** 作就要知道它的类型,可以通过file命令实现。 gzip文件示例: # file initramfs.gz initramfs.gz: gzip compressed data, from Unix, last modified: Sat Mar 19 14:51:10 2011cpio文件示例 #file tinycore.cpio tinycore.cpio: ASCII cpio archive (SVR4 with no CRC)块文件 file redhat-initrd redhat-initrd: Linux rev 1.0 ext2 filesystem data数据文件 file rootfs.gz rootfs.gz: data解压查看initrd镜像initrd类型的镜像一般是一个dd出的块文件再通过gzip压缩而成。所以先查看文件类型,如果是gzip文件对其进行解压。 sudo tar -xvf filename解压出来的文件再mount到指定位置就可以看到了。 mount -o loop filename /mnt但不能更改,要想更改其中的内容,就要复制出来,更改后再重新生成initrd镜像。解压查看initramfs镜像首先查看文件是不是gzip文件,是的话先解压: sudo tar -xvf filename再查看解压出来的是不是cpio文件,是的话用下面命令解压: cpio -id <filename这个命令会将filename中的文件解压到当前文件夹(若压缩时是以相对目录压缩的)。 如果在桌面环境下,可以双击cpio文件,会出现一个和硬盘并列的位置,可以直接查看,这样也可以。

桌面查看内核版本casper

kylin@kylin-PC:~/桌面$ file vmlinuz

vmlinuz: gzip compressed data, max compression, from Unix, original size modulo 2^32 22974976

#gzip压缩文件

#查找"1f 8b 08"标签

kylin@kylin-PC:~/桌面$ od -t x1 -A d vmlinuz | grep "1f 8b 08"

0000000 1f 8b 08 00 00 00 00 00 02 03 ec 5b 0f 70 54 d5

#offset=0000000+0(开始处到if 8b 08距离)

#解压缩   skip=offset计算结果

kylin@kylin-PC:~/桌面$ dd if=vmlinuz bs=1 skip=0 |zcat >vmlinuz.1

记录了10149671+0 的读入

记录了10149671+0 的写出

10149671 bytes (10 MB, 9.7 MiB) copied, 8.56828 s, 1.2 MB/s

#linux版本如下

kylin@kylin-PC:~/桌面$ strings vmlinuz.1 |grep -i 'linux version'

Linux version 5.4.18-23-generic (buildd@localhost) (gcc version 9.3.0 (Ubuntu 9.3.0-17kylin1~20.04)) #9b1-KYLINOS SMP Sat Mar 20 03:23:13 UTC 2021 (KYLINOS 5.4.18-23.9b1-generic 5.4.18-23)

SWIMS: Linux Version: %04X

kylin@kylin-PC:~/桌面$

服务器查看内核版本

packages kernel包

vmlinuz 可引导的、压缩的内核

initrd 一般被用来临时的引导硬件到实际内核 vmlinuz 能够接管并继续引导的状态


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8337389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存