1. 背景说明
Linux系统中,当用root用户登录时,如果不小心使用rm -rf /boot命令删除了/boot时,虽然会提示不能删除,但实际上/boot里面的所有数据都被删除了。
[root@dave ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_dave-lv_root
26G 3.0G 22G 12% /
tmpfs 3.8G 76K 3.8G 1% /dev/shm
/dev/sda1 477M 42M 410M 10% /boot
[root@dave ~]# rm -rf /boot
rm: cannot remove `/boot': Device or resource busy
[root@dave ~]# cd /boot
[root@dave boot]# ls
[root@dave boot]# pwd
/boot
[root@dave boot]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_dave-lv_root
26G 3.0G 22G 12% /
tmpfs 3.8G 76K 3.8G 1% /dev/shm
/dev/sda1 477M 2.3M 449M 1% /boot
[root@dave boot]#
此时重启系统后,系统无法进入:
此时可以使用系统光盘启动,选择“Rescue installed system”救援模式进行修复。
修复后还依赖grub配置文件,所以最好记住grub的配置,如果没有保留也可以手工拼写或者使用ISO镜像来创建:
[root@dave ~]# find / -name grub.conf
/etc/grub.conf
/boot/grub/grub.conf
[root@dave ~]# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_dave-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux 6 (2.6.32-573.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=/dev/mapper/vg_dave-lv_root rd_LVM_LV=vg_dave/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_dave/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-573.el6.x86_64.img
[root@dave ~]# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_dave-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux 6 (2.6.32-573.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=/dev/mapper/vg_dave-lv_root rd_LVM_LV=vg_dave/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_dave/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-573.el6.x86_64.img
[root@dave ~]#
2. 直接修复boot分区数据
1.进入急救模式“Rescue installed system”
2.进入shell后,将根路径修改为chroot /mnt/sysimage
3.挂载光盘
4.用force的方式安装kernel软件包;kernel-2.6.32-431.el6.x86_64.rpm
5.重建grub:
6.备份文件拷贝/boot/grub/下,没有也可以使用ISO 镜像来重新创建:
sh-4.1# cp /tmp/grub.conf /boot/grub
7.重启系统,出现系统界面说明已经修复成功。
版权声明:本文为博主原创文章,未经博主允许不得转载。
- 上一篇:Linux chroot 命令
- 下一篇:Linux boot分区格式化后恢复 示例