CentOS 6系統中/boot恢復被刪除的/boot分區 簡單介紹

在CentOS 6系統中,因爲不小心或操作失誤導致boot分區被刪除,


遇到這種情況是否能夠恢復被刪除的boot分區呢?


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


CentOS 6刪除的boot分區如何還原


  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界面測試


CentOS 6刪除的boot分區如何還原


  4.查找find /grub/stage1然後找到/boot分區爲(hd0,0),指定kernel,initrd, boot啓動系統成功。


CentOS 6刪除的boot分區如何還原


  5.系統啓動成功,然後進入系統重新寫/boot/grub/grub.conf文件。


CentOS 6刪除的boot分區如何還原


  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


CentOS 6刪除的boot分區如何還原


  8.最後啓動界面如下


CentOS 6刪除的boot分區如何還原


  上面就是CentOS 6恢復被刪除boot分區的方法介紹了,步驟有些長,如果覺得麻煩的話可以重裝系統,同樣能恢復boot分區。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章