第一步,模擬系統出現錯誤
卸載掛載boot的設備,刪除 boot文件
umount /dev/sda1
rm -rf /boot
刪除/etc/inittab文件
rm -rf /etc/inittab
刪除rc.sysinit文件
rm -rf /etc/rc.d/rc.sysinit
刪除/etc/fstab文件
rm -rf /etc/fstab
保存之後重新啓動系統
sync
sync
reboot
第二步,插入系統光盤,開機按F2進行系統的BIOS,然後從光盤啓動,進行linux的安裝界面,然後F5進行系統的修復模式,最後輸入linux rescue進行系統的修復界面。
默認語言:English
默認鍵盤:us
不加載網絡:no
選擇繼續修復:continue
選擇修復模式確定:ok
首先使用ls與df查看當前的假系統信息
ls
df
使用fdisk -l 查看當前系統的所掛載的分區信息
fdisk -l
使用e2label 來查看掛載分區的文件
e2label /dev/sda1 /boot
e2label /dev/sda2 /
e2label /dev/sda3 /var
e2label /dev/sda5 /home
在當前的假系統下面創建一個文件test01來掛載使用e2label來查看掛載分區的boot文件
mkdir test01
mount /dev/sda2 /test01
進入掛載的文件查看裏面的內容
cd /test01
ls
cd /etc目錄,把之前備份的fstab.bak的文件修改爲fstab
mv fstab.bak fstab
使用vi命令來編輯fstab文件
vi fstab
最後使用reboot來重新啓動系統
reboot
第三步,重新啓動系統之後進入linux的安裝界面,然後輸入linux rescue進行系統的修復
步驟同上
使用df查看當前系統的掛載的分區
df
使用chroot /mntsysimage 來進入真實的系統
ls
退出真實系統,然後掛載系統的光驅
mount /dev/sr0 mnt/source
df
cd mnt/source
cd Server
ls *kernel*
使用rpm來安裝系統的內核
rpm -ivh kernel-2.6.18-371.e15.x86_64.rpm --root=/mnt/sysimage/ --force
使用chroot進入真實系統
chroot /mnt/sysimage
進入boot,使用ls查看,然後在使用grub-install 引導進入/dev/sda硬盤
grub-install /dev/sda
使用ls > /grub/grub.conf
vim /grub/grub.conf
title newsystem linux server 5.10
root(hd0,0)
kernel /vmlinuz-2.6.18-371.e15 ro root=LABEL=/
initrd /initrd-2.6.18-371.e15.img
保存然後退出
使用rmp查找inttab軟件包
rpm -qf /etc/inittab
使用rpm查找rc.lcoal軟件包
rpm -qf /etc/rc.d/rc.local
使用rpm 查找rc.sysinit
rpm -qf /etc/rc.d/rc.sysinit
使用rpm 查找 /etc/initab
rpm -qf /etc/initab
退出真實的系統,查找initscripts軟件部
ls *initscripts*
然後拷貝initscripts到/mnt/sysimage/mnt目錄中
cp initscripts-8.45.44-3.e15.x86.rpm /mnt/sysimage/tmp
使用chroot進入真實系統
chroot /mnt/sysimage
cd /tmp
解壓initscripts軟件包
rpm2cpio initscripts-8.45.44-3.e15.x86.rpm | cpio -imd
cd 壓解中的etc目錄
cp inittab /etc
cp rc.d/rc.local /etc/rc.d
cp rc.d/rc/sysinit /etc/rc.d
最後重新啓動系統
修復成功