第一步,模拟系统出现错误
卸载挂载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
最后重新启动系统
修复成功