boot分区被清空的恢复方法(2)

操作过程如下:
 
[root@localhost ~]# ls /boot/
 
(注:可以看到此时的boot是个空目录)
 
 
 
[root@localhost ~]# ls /mnt/
 
[root@localhost ~]# mount /dev/cdrom /mnt
 
mount: block device /dev/sr0 is write-protected, mounting read-only
 
(注:加载光盘到/mnt下)
 
 
 
[root@localhost ~]# ls /mnt
 
CentOS_BuildTag  Packages                    RPM-GPG-KEY-CentOS-Security-6
 
EULA            RELEASE-NOTES-en-US.html    RPM-GPG-KEY-CentOS-Testing-6
 
GPL              repodata                    TRANS.TBL
 
images          RPM-GPG-KEY-CentOS-6
 
isolinux        RPM-GPG-KEY-CentOS-Debug-6
 
[root@localhost ~]# cd /mnt/Packages/
 
(注:进入到存放数据包的Packages目录)
 
 
 
[root@localhost Packages]# rpm -ivh --force kernel-2.6.32-220.el6.i686.rpm
 
Preparing...                ########################################### [100%]
 
  1:kernel                ########################################### [100%]
 
[root@localhost Packages]# ls /boot/
 
config-2.6.32-220.el6.i686        System.map-2.6.32-220.el6.i686
 
initramfs-2.6.32-220.el6.i686.img  vmlinuz-2.6.32-220.el6.i686
 
symvers-2.6.32-220.el6.i686.gz
 
(注:重新安装内核,使用--force选项,强制安装,可以看到此时/boot目录下有了内核文件等文件)
 
 
 
[root@localhost Packages]# grub-install --root-directory=/ /dev/sda
 
[root@localhost Packages]# ls /boot
 
config-2.6.32-220.el6.i686        symvers-2.6.32-220.el6.i686.gz
 
grub                              System.map-2.6.32-220.el6.i686
 
initramfs-2.6.32-220.el6.i686.img  vmlinuz-2.6.32-220.el6.i686
 
[root@localhost Packages]# ls /boot/grub/
 
device.map    ffs_stage1_5      minix_stage1_5    stage2          xfs_stage1_5
 
e2fs_stage1_5  iso9660_stage1_5  reiserfs_stage1_5  ufs2_stage1_5
 
fat_stage1_5  jfs_stage1_5      stage1            vstafs_stage1_5
 
(注:重装grub到/boot,
 
# grub-install --root-directory=/ /dev/sda
 
命令中--root-directory=/,指的是/boot的相对路径, --root-directory的值也可以为空,即
 
# grub-install --root-directory= /dev/sda
 
系统将会在/boot下生成一个grub文件夹,并在里面存放grub文件,如果写成--root-directory=/boot,系统将会在/boot下生成了一个boot文件夹,再在里生成一个grub文件夹,即grub文件存放在了/boot/boot/grub/目录下,这是不对的。
 
以上/boot/grub/中的数据,其实也可以从/usr/share/grub/i386-RedHat/里直接拷贝过来)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/20145.html