CentOS恢复被删除的boot分区

在CentOS 6系统中,因为不小心或操作失误导致boot分区被删除,

 

遇到这种情况是否能够恢复被删除的boot分区呢?

 

  1.首先利用centos6镜像进入linux rescue救援模式。

  2.启动sshd服务,查看eth0获取的ip地址,然后用ssh secure shell 连接。

  

SSH Secure Shell 3.2.9 (Build 283)
  Copyright (c) 2000-2003 SSH Communications Security Corp - 
http: //www . ssh .com/
  This copy of SSH Secure Shell is a non-commercial version.
  This version does not include PKI and PKCS  #11 functionality.
  [root@localhost ~] # cd /boot //进入/boot分区
  [root@localhost boot] # ls //查看boot分区的内容
  config-2.6.32-71.el6.i686 symvers-2.6.32-71.el6.i686.gz
  grub System.map-2.6.32-71.el6.i686
  initramfs-2.6.32-71.el6.i686.img vmlinuz-2.6.32-71.el6.i686
  [root@localhost boot] # cd 。。//返回上层目录
  [root@localhost /] # rm -rf /boot/*//删除/boot分区所有内容
  [root@localhost /] # ls /boot//查看/boot分区内容为空
  [root@localhost /] # mount /dev/sr0 /mnt//挂载cdrom设备到/mnt目录下
   mount : block device  /dev/sr0  is write-protected, mounting  read -only
  [root@localhost /] # rpm -ivh /mnt/Packages/kernel-2.6.32-71.el6.i686.rpm 
--root=/ --

force //安装光盘的kernel软件包

 

 Preparing.。。  ########################################### [100%]
  1:kernel  ########################################### [100%]
  [root@localhost /] # ls /boot //查看/boot分区内容
  config-2.6.32-71.el6.i686 System.map-2.6.32-71.el6.i686
  initramfs-2.6.32-71.el6.i686.img vmlinuz-2.6.32-71.el6.i686
  symvers-2.6.32-71.el6.i686.gz
  [root@localhost /] # mkdir /boot/grub//在/boot目录新建一个grub目录
  [root@localhost /] # touch /boot/grub/grub.conf//新建一个grub.conf配置文件
  [root@localhost /] # cp -rf /usr/share/grub/i386-pc/* /boot/grub/ 
//

把/usr/share/grub/i386-pc的所有内容拷贝到/boot/grub中。

  

[root@localhost /] # ls /boot//查看/boot分区内容
  config-2.6.32-71.el6.i686 symvers-2.6.32-71.el6.i686.gz
  grub System.map-2.6.32-71.el6.i686
  initramfs-2.6.32-71.el6.i686.img vmlinuz-2.6.32-71.el6.i686
  [root@localhost /] # ls /boot/grub/ //查看/boot/grub目录内容
  e2fs_stage1_5 iso9660_stage1_5 stage1 vstafs_stage1_5
  fat_stage1_5 jfs_stage1_5 stage2 xfs_stage1_5
  ffs_stage1_5 minix_stage1_5 stage2_eltorito
  grub.conf reiserfs_stage1_5 ufs2_stage1_5
  [root@localhost /] # fdisk -l //查看分区
  Disk  /dev/sda : 21.5 GB, 21474836480 bytes
  255 heads, 63 sectors /track , 2610 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  Sector size (logical /physical ): 512 bytes / 512 bytes
  I /O  size (minimum /optimal ): 512 bytes / 512 bytes
  Disk identifier: 0x000b1db4
  Device Boot Start End Blocks Id System
   /dev/sda1  * 1 13 102400 83 Linux // 这个为 /boot 启动分区
  Partition 1 does not end on cylinder boundary.
   /dev/sda2  13 144 1048576 82 Linux swap / Solaris

  

Partition 2 does not end on cylinder boundary.
   /dev/sda3  144 2611 19819520 83 Linux  // 这个为/根分区
  [root@localhost /] # mount//查看所有挂载分区
   /dev/sda3  on /  type  ext4 (rw) // 根分区
   /dev/sda1  on  /boot  type  ext4 (rw) //boot 分区为sda1
  devpts on  /dev/pts  type  devpts (rw)
  tmpfs on  /dev/shm  type  tmpfs (rw)
  proc on  /proc  type  proc (rw)
  sysfs on  /sys  type  sysfs (rw)
   /dev/sr0  on  /mnt  type  iso9660 (ro)
  [root@localhost /] # grub//启动grub
  Probing devices to guess BIOS drives. This may take a long  time .
  GNU GRUB version 0.97 (640K lower / 3072K upper memory)
  [ Minimal BASH-like line editing is supported. For the first word, TAB
  lists possible  command  completions. Anywhere  else  TAB lists the 
possible
  completions of a device /filename .]
  grub》 root (hd0,0)  // 首先 find  /grub/stage1 查看 /boot 分区为(hd0,0)
  root (hd0,0) // 设置 /boot 分区为 /dev/sda1
  Filesystem  type  is ext2fs, partition  type  0x83
  grub》 setup (hd0) // 重新安装grub
  setup (hd0)

 

 Checking  if  /boot/grub/stage1 ” exists.。。 no
  Checking  if  /grub/stage1 ” exists.。。  yes
  Checking  if  /grub/stage2 ” exists.。。  yes
  Checking  if  /grub/e2fs_stage1_5 ” exists.。。  yes
  Running “embed  /grub/e2fs_stage1_5  (hd0)”。。。 26 sectors are embedded.
  succeeded
  Running “ install  /grub/stage1  (hd0) (hd0)1+26 p (hd0,0) /grub/stage2
/grub/grub .conf”。。。 succeeded
  Done.
  grub》 quit // 退出

  3.重新reboot启动系统进入grub界面测试

 

 

  4.查找find /grub/stage1然后找到/boot分区为(hd0,0),指定kernel,initrd, boot启动系统成功。

 

 

  5.系统启动成功,然后进入系统重新写/boot/grub/grub.conf文件。

 

 

  6.[root@localhost /]# vi /boot/grub/grub.conf配置文件如下:

 

  最后填写grub.conf文件内容

  default=0 //默认菜单为第一个

  timeout=6//等待时间为6秒

  title mylinux //启动标题为mylinux

  root (hd0,0) //boot所在分区为/dev/sda1

  kernel /vmlinuz-2.6.32-71.el6.i686 ro root=/dev/sda3 rhgb quiet//kernel所在位置以只读模式挂载/dev/sda3根分区rhgb quiet为安静模式不显示内核信息。

  initrd /initramfs-2.6.32-71.el6.i686.img//加载initrd镜像。

 

  7.最后进入linux rescue重建一个grub

 

 

  8.最后启动界面如下

 

 

  上面就是CentOS 6恢复被删除boot分区的方法介绍了,步骤有些长,如果觉得麻烦的话可以重装系统,同样能恢复boot分区。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值