實驗目標:
分別刪除/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/
重啓電腦,成功進入系統。