Centos 6中破坏伪根系统文件/boot/initramfs-version-release.img

来源:互联网 发布:dictionary软件安卓 编辑:程序博客网 时间:2024/06/07 23:08
  1. 为了解决在内核程序还没有加载到磁盘就要读取系统上的内核文件的问题,我们采用伪根系统ramdisk:即先模拟一个根挂载上去,提供一个可以运行的程序,然后加载一些核心模块,然后协助内核重新呼叫/sbin/init执行后续操作。

  2. 伪根系统是一个小型的linux系统,文件是:Centos 5:/boot/initrd-VERSION-release.img; Centos 6、7:/boot/initramfs-VERSION-release.img.这个文件是一个用cpio归档后用gzip压缩的文件,解开后,里面的内容就类似根下的内容,所以就是一个伪根系统。

  3. 这个伪根系统很重要,里面有各种驱动,有它在才能挂载真实的根:因为在解开后的伟根系统文件中,sbin目录下 有一个switch_root的二进制程序------>功能:从虚拟的根目录切换到真正磁盘上的根目录

  4. 如果不幸我们将Centos 6中的/boot/initramfs-version-release.img文件删除了。会造成系统无法启动,

  5. 那如何解决呢?!

    1).重新启动虚拟机,进入救援模式:即如下图1所示

    图1. 在出现一条加载线时,鼠标快速点击进去并按下Esc键,(这个动作要快速,一气呵成)------>

    wKiom1m_wyuRbNyQAAALJ7BrjLM360.png

图2. 然后出现如下图2界面选择第三项CD-ROM Drive,回车------>

wKioL1m_wz_i84DeAAAGaPXT9BE440.png

图3. 然后进入图3界面,这时选择第三项救援模式,回车------>

wKioL1m_w6LQYQ5oAAB1hQU6IBo192.jpg

图4. 然后图4选择语言,我们默认是English,图5也选择默认,所以直接回车------>

wKiom1m_xDHRcQ0SAAAIq0gejl4431.png

图5.

wKioL1m_xBeCJaT7AAAG7F3-_5o499.png

图6. 图6选择NO,不连接网络,回车------>

wKioL1m_xFHRvlKJAAAFvxbsk_0912.png

图7. 图7大概意思就是告诉你这里挂载在/mnt/sysimage目录下,(也就是说我们之前的根/,就是现在的/mnt/sysimage),因为接下来我们要做一些操作,所以这里选择默认的Continue选项,回车------>

wKioL1m_xIrQZ3WkAAASfr_M_xc087.png

图8. 图8和图9一而再再而三的告诉我们,我们进入的shell环境里真实根在/mnt/sysimage下,所以我们直接回车默认选择OK------>

wKiom1m_xX3yum1fAAAPBSUg5yU330.png

图9.

wKiom1m_x0qgGJXXAAAE_FAhAlA337.png

图10. 选择第一项,回车进入一个shell环境,等命令行操作结束后,即输入两次exit后,会再次回到这个界面,此时再选择第三项,重新启动虚拟机。

wKioL1m_xyuDi83TAAAUyyxiSVM188.png

    2).进入营救模式下的Sshell环境中,

图1.  如下图所示,现在的根下的文件不是我们真正根下的文件,而/mnt/sysimage下的文件才是我们真实根的文件,

wKiom1m_x_exd67UAACj58nq7JE092.png

图2.如下图所示,执行mkinitrd /boot/initramfs-`uname -r`.img `uname -r`进行修复,执行结束后伟根系统文件initramfs-version-release.img修复完成,然后输入两次exit就可以进入上图10所示界面。选择第三项重启虚拟机,然后,,,,就ok了 *_*

wKiom1m_yrXjdmj8AAB5KA0pt68051.png



本文出自 “13162997” 博客,请务必保留此出处http://13172997.blog.51cto.com/13162997/1966566

阅读全文
0 0