实验一:删除 cd /boot/*
1.cd /boot/grub
2.rm -rf /boot/*
3.reboot
恢复:1.进入救援模式下
2.chroot /mnt/sysp_w_picpath 切根,切换在真正的根下进行操作huif
3.mkinitrd /boot/initramfs-`uname -r`.img `uname -r` 对intrd下的文件initramfs进行修复
4.mount /dev/sr0 /mnt 挂载光盘sr0
5.cd /mnt/isolinux 进入光盘下的isolinux文件
6.cp vmlinuz /boot 拷贝内核文件到/boot
7.vim /boot/grub/grub.conf 重新编写grub下的grub.conf文件
defaults=0
timeout=5
title centos6.9
kernel /vmlinuz root=/dev/sda2 注意root后可以直接写UUID
initrd /initramfs.img
8.保存退出
9.reboot 重启
补充: 按Esc+shift+:可以自动生成 :r!ls /boot 回车 :r!blkid /dev/sdax 回车
实验二:删除boot/*下的所有文件 并且同时删除 etc/fstab
1.mv /etc/fstab /boot 先将etc下的fstab文件移动到/boot下
2.rm -rf /boot/* 删除boot下的所有文件
恢复: 1.先进入救援模式下
2.fdisk -l 查看一下分区,辨别出那个磁盘下挂载的/boot 那个是/根 (/dev/sda{1..5})
3.如果不知道那个是磁盘挂载的/那个是挂载的/boot
可以进行验证,步骤如下
mkdir /mnt/tmp 在mnt下创建一个临时目录
mount /dev/sda1 /mnt/tmp 将/dev/sda1挂载到 /mnt/tmp
ls /mnt/tmp 查看文件如果有文件如(app啊等一下文件说明是/跟不是/boot ,因为/boot下
下的所有文件已被删除),同理验证/dev/sda2没有文件就是/boot ** 假如/dev/sda1挂载的
的是/boot /dev/sda2挂载的是/
4.umount /dev/sda1 取消挂载
5.接下来进行fstab文件的修复 现将/ 挂载到/mnt/tmp文件上,mount /dev/sda2 /mnt/tmp
6.cat > /mnt/tmp/etc/fsatb 对/etc/fsatb文件进行修复(注意vim vi不能使用,因为vim vi
命令也被破坏)
/dev/sda1 /boot ext4 defaults 0 0
/dev/sda2 / ext4 defaults 0 0
/dev/sda3 /app ext4 defaults 0 0
/dev/sda5 swap swap defaults 0 0
ctrl+b 保存
7.blkid 进行磁盘的挂载信息
8.exit退出
9.reboot重启
/etc/fstab 的文件修复好了,开始修复/boot
10.重新进入救援模式下
11.mkdir /mnt/tmp1在/mnt下创建临时目录tmp1
12.mount /dev/sr0 /mnt/tmp1 挂载光盘到/mnt/tmp1
13.rpm -ivh /mnt/tmp1/Packages/kernel-2.6.32 --root=/mnt/sysp_w_picpath/ --force修复内核文
件
14.ls /mnt/sysp_w_picpath/boot 查看/mnt/sysp_w_picpath/boot下有没有生成文件
15.chroot /mnt/sysp_w_picpath 切根
16.grub-install /dev/sda 修复grub
17.ls /boot/grub 查看修复好了没,下面有生成的文件没
18.vim /boot/grub/grub.conf 重新编写grub下的grub.conf文件
defaults=0
timeout=5
title centos6.9
kernel /vmlinuz root=/dev/sda2 注意root后可以直接写UUID
initrd /initramfs.img
保存退出
补充: 按Esc+shift+:可以自动生成 :r!ls /boot 回车 :r!blkid /dev/sdax 回车
19.reboot重启