1. Ubuntu的initrd.img可以在/boot中找到,通常文件名后面还跟有很长的一串版本号。
  2. 为了保险起见,不直接操作原文件,而是把它复制到自己的家目(home)录中。如果你是用root帐号登录的,家目录就在/root中,如果是用wsxx登录的,家目录一般就在/home/wsxx中,通常登录之后自动就到了家目中。我们把initrd.img复制但家目中进行解压:cp /boot/initrd.img-2.6.15-ubuntu-r6 ./initrd.img.gz
  3. 上面这个命令把/boot区中的文件复制到当前目录,并更名为initrd.img.gz。一方面改成短文件名好一点好操作,另一方面加上gz的后缀更清楚表明它原本就是一个gzip压缩出来的文件。http://www.ccthere.com/article/825480
  4. 然后解压:
    • gunzip initrd.img.gz
    • 也可以:http://www.ccthere.com/article/825480
    • gzip -d initrd.img.gz
    • 两者结果是相同的,都是在当前目录得到一个解压后的initrd.img,原来的initrd.img.gz被删除掉了(这也许是linux整洁的优点)。
    • 现在这个更大的initrd.img要用cpio解开,成为一系列目录和文件。为了不与当前目录中现有的文件搞混,我们有必要新建一个目录,把initrd.img解压到新目录中去。将来把里面的文件修改好之后,还要把所有的目录文件再打包起来:http://www.ccthere.com/article/825480
  5. mkdir initrd #建立目录 cd initrd  #进入目录
  6. cpio -i -d < ../initrd.img #解开上层目录中的initrd.img http://www.ccthere.com/article/825480
  7. 因为已经进入到initrd中,../initrd.img表示上层目录中的initrd.img。
  8. 现在就可以看到initrd中各目录中有很多新的目录和文件了。在这里我们可以窥视到ubuntu是如何装配起来的。可以对其中的内容进行修改了。http://www.ccthere.com/article/825480
    ## 修改文本文件没有什么好多说的了。
  9. 修改之后,就是压缩回去,用它来启动,检验是否可以正常启动,是否达到预期的修改目的。先用cpio打包:http://www.ccthere.com/article/825480
  10. find . | cpio -o -H newc > ../myinitrd.img #打包当前目录中的所有目录和文件,到上层目录中的myinitrd.img
  11. cd .. #回到上层目录
  12. gzip -9 myinitrd.img #gzip的最高级压缩http://www.ccthere.com/article/825480
  13. 得到的myinitrd.img.gz就是新的Ubuntu启动文件了。
  14. 做到这里,要有必要停下来看看一看,比较一下重新压缩之后的文件,是否和原来的initrd.img.gz差不多大小?都应该是4M多的文件。如果文件大小相差太多,可能就有问题。我用Ubuntu文件解压后在压缩回来,用不同的文件名,最后比较,大小完全一致,心里就踏实了。http://www.ccthere.com/article/825480
  15. 再用Gentoo的initramfs文件进行同样方法的操作,2M多的文件解压再压缩回来,只剩下不到1K了。

转载于:https://www.cnblogs.com/meilong/p/10352523.html

解压Ubuntu的initrd.img的方法相关推荐

  1. python 图像压缩后前端解压_Python在后台自动解压各种压缩文件的实现方法

    1.需求描述 编写一个 Python 程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点: os 模块综合应用 glob 模块综合应用 利用 g ...

  2. python打包出现乱码_python解压zip包中文乱码解决方法

    乱码得原因: 由于ZipFile模块导出遇到中文解码不对,windows上会出现,linux是否会出现不知道没测试过. 解决方式: 1. 搞个文件名引射表(不太方便,少量文件夹套用时候还可以) 2. ...

  3. php tar.gz文件,PHP解压tar.gz格式文件的方法,_PHP教程

    PHP解压tar.gz格式文件的方法, 本文实例讲述了PHP解压tar.gz格式文件的方法.分享给大家供大家参考,具体如下: 1.运用php自带压缩与归档扩展(phar) $phar = new Ph ...

  4. php 判断是rar或是zip文件,PHP解压zip和rar文件的方法介绍

    PHP解压zip和rar文件的方法介绍?实例代码举例php语言如何解压文件.php开发经常会遇到解压zip和rar文件,以下方法供大家参考,判断文件是zip类型的还是rar类型,调用相关组件执行解压缩 ...

  5. tar解压单个文件到特定目录_Linux解压文件到指定目录的方法

    本文介绍了Linux解压文件到指定目录的方法,分享给大家,具体如下: tar在Linux上是常用的打包.压缩.加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 参数: -c :create ...

  6. 解压并修改initrd再重新压缩的过程

    首先新建一个文件夹作为工作区mkdir -/work然后将系统的initrd文件拷贝过来cd ~/workcp /boot/initrd.img-4.9.0-3-amd64 ./这个文件是个压缩文件, ...

  7. Linux解压rar压缩文件的详细方法

    1.下载软件包 下载linux版本的rar软件,进入以下网址下载: https://www.rarlab.com/download.htm 可以手动下载此文件,也可以通过直链下载到服务器.在服务器上执 ...

  8. 解压hotfile下载下来大文件方法(for Atlassian)

    Atlassian.Crowd.v2.1.0.Incl.Keygen.and.Patch-iNViSiBLE.th3scene.com.rar  就拿这个crowd的文件来举例,将他解压到本地目录 D ...

  9. 在AI Studio终端解压.tar格式的数据集的方法

    鼠标右键单击待解压的数据集(已经上传到data//VOCtrainval_11-May-2012文件夹里,VOCtrainval_11-May-2012是我自己重命名过的文件夹,原本文件夹名字是dat ...

最新文章

  1. 设计模式 之 建造者
  2. Linux设置默认Python版本
  3. mysql 基于语句的复制_MySQL 复制 - 性能与扩展性的基石 1:概述及其原理
  4. /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决
  5. 泰山行宫碧霞元君祠_临清市泰山行宫碧霞元君祠5月4号(农历三月三十日)举行大型泰山奶奶接驾法会...
  6. flink streamGraph生成jobGraph
  7. 模拟——生活大爆炸版石头剪刀布(洛谷 P1328)
  8. MySQL安装过程中出现的vcruntime140.dll缺失
  9. pytorch学习笔记(二十七):Batch-Norm
  10. CentOS禁用root用户远程登录
  11. python如何收集数据库_利用Python操作mysql数据库
  12. 注册 aspnet_regiis
  13. 在moss上自己总结了点小经验。。高手可以飘过
  14. 7-12 求给定精度的简单交错序列部分和 (15 分)
  15. TextBox的样式改成Lable
  16. 翻转棋java实现代码及ai_黑白棋中的 AI
  17. Mac Pycharm导入Pygame教程(超细)
  18. SpringBoot整合JWT(二)
  19. Avesta飞秒光纤激光器
  20. Python:内置函数

热门文章

  1. .NET环境下每日集成
  2. selenium一些基本语句
  3. HDU_1253 胜利大逃亡(BFS)
  4. 巧解SEP杀毒软件卸载需要密码才能完全卸载问题
  5. Git中的工作区(Working Directory)、暂存区(stage)和历史记录区(history)
  6. java keytool生成证书_使用JDK自带的工具keytool生成证书
  7. 美国女生给我的六个惊诧
  8. 时间被空间和运动度量
  9. lstm 和自注意力机制 bert 本质区别的思考历程
  10. AutoML的相关链接大全