系統啟動-——故障排查
阿新 • • 發佈:2019-01-15
pivot 改名 bin settled centos6 hive 重置 模式 屬性 實驗目標:
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
分別刪除/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
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/
重啟電腦,成功進入系統。
系統啟動-——故障排查