如何查看、修改和重新创建 initrd.img

举报
Tiamo_T 发表于 2021/12/23 08:06:38 2021/12/23
【摘要】 问:如何在 Ubuntu、Debian、CentOS、Fedora、Red-Hat、Arch Linux 或 SUSE 发行版上查看、修改和重新创建新的 initrd.img?

问:如何在 Ubuntu、Debian、CentOS、Fedora、Red-Hat、Arch Linux 或 SUSE 发行版上查看、修改和重新创建新的 initrd.img?


1.如何查看initrd.img文件的内容?

initrd.img是 gzip 格式。因此,将 initrd.img 移动到 initrd.gz,如下所示。

# cp /tftpboot/el5/initrd.img 。

# ls
cdrom initrd.img

# mv initrd.img initrd.gz

解压缩 initrd.gz 文件,如下所示。

# gunzip initrd.gz

# ls
光驱初始化

解压 initrd.gz 文件后,initrd 进一步采用 cpio 'newc' 格式。因此,使用cpio 'newc' 格式从 initrd 中提取文件,如下所示。
注意: info cpio将提供有关“newc”格式的更多信息。

# mkdir tmp2

# cd tmp2/

# cpio -id < ../initrd
16524 blocks

现在可以查看initrd.img文件的内容了

# ls
bin dev etc init modules proc sbin selinux sys tmp var

2. 如何修改图片内容并重新创建新图片?

如下所示解压缩文件后,对这些文件中的任何一个进行适当的修改。然后使用以下命令将文件打包回存档。将修改后的文件打包回 cpio 'newc' 格式。


# find . | cpio --create --format='newc' > /tmp/newinitrd
16524 blocks

# ls /tmp/
cdrom  initrd  newinitrd  tmp2

# ls -l /tmp/newinitrd
-rw-r--r-- 1 root root 8460288 Jul  2 14:50 /tmp/newinitrd

Gzip 存档文件。

# gzip newinitrd

# ls
cdrom  initrd  newinitrd.gz  tmp2

# ls -l newinitrd.gz
-rw-r--r--  1 root root 6649867 Jul  2 14:50 newinitrd.gz

将文件作为图像文件移动。您可以使用 newinitrd.img 作为新的启动映像。

# mv newinitrd.gz newinitrd.img

# ls -l newinitrd.img
-rw-r--r-- 1 root root 6649867 Jul 2 14:50 newinitrd.img
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。