实验目标:
分别删除 / boot 下的 initramfs-2.6.32-358.el6.x86_64.img 和 vmlinuz-2.6.32-358.el6.x86_64 文件
然后挂载光盘, 进入救援模式进行故障恢复.
实验前先查看 / boot 下 initramfs-2.6.32-358.el6.x86_64.img 文件属性和内容:
方法一:
- ===================================================================================================================
- [root@rhel6 boot]#cp initramfs-2.6.32-358.el6.x86_64.img /data/ // 为了查看, 先把此文件拷贝到 / data 目录下
- [root@rhel6 data]#file initramfs-2.6.32-358.el6.x86_64.img // 查看文件类型
- initramfs-2.6.32-358.el6.x86_64.img: gzip compressed data, from Unix, last modified: Fri Mar 7 06:01:26 2014, max compression
- [root@rhel6 data]#gunzip initramfs-2.6.32-358.el6.x86_64.img // 直接解压报错
- gzip: initramfs-2.6.32-358.el6.x86_64.img: unknown suffix -- ignored
- [root@rhel6 data]#mv initramfs-2.6.32-358.el6.x86_64.img initramfs-2.6.32-358.el6.x86_64.img.gz // 文件改名为. gz 后缀
- [root@rhel6 data]#ls
- initramfs-2.6.32-358.el6.x86_64.img.gz
- [root@rhel6 data]#gzip -d initramfs-2.6.32-358.el6.x86_64.img.gz // 然后解压
- [root@rhel6 data]#ll /boot/initramfs-2.6.32-358.el6.x86_64.img initramfs-2.6.32-358.el6.x86_64.img // 对比原文件和解压后的文件
- -rw-r--r--. 1 root root 16583044 Mar 7 2014 /boot/initramfs-2.6.32-358.el6.x86_64.img // 原文件
- -rw-r--r-- 1 root root 46944256 Jan 15 09:39 initramfs-2.6.32-358.el6.x86_64.img // 解压后
- [root@rhel6 data]#file initramfs-2.6.32-358.el6.x86_64.img // 再次查看文件类型为 cpio 格式文件
- initramfs-2.6.32-358.el6.x86_64.img: ASCII cpio archive (SVR4 with no CRC)
- [root@rhel6 data]#cpio -id <initramfs-2.6.32-358.el6.x86_64.img // 文件解压成功
- 91688 blocks
- [root@rhel6 data]#ls // 查看发现这是一个最小化的 Linux 运行环境
- bin emergency initqueue-finished lib pre-trigger sys var
- cmdline etc initqueue-settled lib64 pre-udev sysroot
- dev init initqueue-timeout mount proc tmp
- dracut-004-303.el6 initqueue initramfs-2.6.32-358.el6.x86_64.img pre-pivot sbin usr
方法二:
- ==============================================================================================================
- [root@centos6 test]#zcat initramfs-2.6.32-754.el6.x86_64.img |cpio -id // 查看后, 管道给 cpio 解压
- 141150 blocks
- [root@centos6 test]#ls
- bin emergency initqueue-finished lib pre-mount proc tmp
- cmdline etc initqueue-settled lib64 pre-pivot sbin usr
- dev init initqueue-timeout mount pre-trigger sys var
- dracut-004-411.el6 initqueue initramfs-2.6.32-754.el6.x86_64.img netroot pre-udev sysroot
- ===============================================================================================================
故障救援
1, 删除 initramfs-2.6.32-358.el6.x86_64.img, 然后再恢复
- [root@rhel6 boot]#rm -rf initramfs-2.6.32-358.el6.x86_64.img // 删除文件
- [root@rhel6 boot]#reboot // 重启, 发现系统起不来
F:\ISO 系统文件 \ RHEL-server-6.4-x86_64-dvd.iso // 救援之前第一步先挂载挂载光盘
连接光盘 --> 重置 ---> 鼠标点进虚拟机 --> 按一下 ESC 键
- sh-4.1# chroot /mnt/sysimage/ // 切根
- sh-4.1# mkinitrd /boot/initramfs-`uname -r`.img `uname -r` // 为当前正在使用的内核重新制作 ramdisk 文件
- sh-4.1# ll /boot
- total 22866
- -rw-r--r--. 1 root root 104081 Jan 30 2013 config-2.6.32-358.el6.x86_64
- drwxr-xr-x. 3 root root 1024 Mar 7 2014 efi
- drwxr-xr-x. 2 root root 1024 Mar 7 2014 grub
- -rw-r--r--. 1 root root 16647561 Jan 15 11:11 initramfs-2.6.32-358.el6.x86_64.img // 删除的文件已经恢复
- drwx------. 2 root root 12288 Mar 7 2014 lost+found
- -rw-r--r--. 1 root root 185734 Jan 30 2013 symvers-2.6.32-358.el6.x86_64.gz
- -rw-r--r--. 1 root root 2407466 Jan 30 2013 System.map-2.6.32-358.el6.x86_64
- -rwxr-xr-x. 1 root root 4044560 Jan 30 2013 vmlinuz-2.6.32-358.el6.x86_64
重启电脑, 成功进入系统.
2, 删除 vmlinuz-2.6.32-358.el6.x86_64, 然后再恢复
- [root@rhel6 boot]#reboot // 重启后报错
- Error 15: File not found
Press any key to continue. . .
F:\ISO 系统文件 \ RHEL-server-6.4-x86_64-dvd.iso // 救援之前第一步先挂载挂载光盘
连接光盘 --> 重置 ---> 鼠标点进虚拟机 --> 按一下 ESC 键
- sh-4.1# chroot /mnt/sysimage/ // 切根
- sh-4.1# mount /dev/cdrom /mnt // 挂光盘
- sh-4.1# cd /mnt/isolinux/
- sh-4.1# cp vmlinuz /boot/vmlinuz-`uname -r` // 恢复删除的 Linux 内核文件到 / boot/
重启电脑, 成功进入系统.
来源: http://www.bubuko.com/infodetail-2921518.html