先來一張硬盤存儲邏輯簡圖html
mbr在第一塊磁盤的第一個磁道的第一個扇區哦linux
摘自:http://www.cnblogs.com/wuguanglei/p/4244639.htmlcentos
注意!mbr數據須要備份在其餘硬盤,多處備份!bash
查看分區狀況,咱們呢有2個硬盤ide
# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 19G 5.5G 13G 32% / devtmpfs 485M 0 485M 0% /dev tmpfs 490M 12K 490M 1% /dev/shm tmpfs 490M 6.8M 484M 2% /run tmpfs 490M 0 490M 0% /sys/fs/cgroup /dev/sda1 93M 65M 22M 75% /boot tmpfs 98M 0 98M 0% /run/user/0 /dev/sdb1 991M 2.6M 922M 1% /data
如今將mbr信息寫入第二個硬盤中,/data目錄是掛載在第二塊硬盤上的ui
# dd if=/dev/sda of=/data/mbr.bin bs=512 count=1
# dd if=/dev/zero of=/dev/sda bs=512 count=1
重啓系統後,linux系統已經沒法啓動centos7
1. 須要linux系統光盤或者u盤啓動spa
選擇troubleshooting模式,救援模式操作系統
磁盤將會被掛載至/mnt/sysp_w_picpath/下3d
continue 以rw方式掛載分區。
read only 以ro方式掛載分區。
skip 跳過,未來本身手工掛載磁盤。
繼續便可,事實上是掛載不到原系統分區的,由於分區表不在了。
2. 掛載保存mbr數據的第二塊硬盤
#fdisk -l
#mkdir /data #mount /dev/sdb1 /data
3. 使用備份的mbr數據修復系統磁盤分區
#dd if=/data/mbr.bin of=/dev/sda bs=512 conut=1
對比centos 6,centos7 與centos6在mbr損壞的修復過程一致
若是mbr的分區信息沒有損壞,而主引導程序損壞,則進入救援模式後
會掛載原有系統到/mnt/sysp_w_picpath下
# chroot/mnt/sysp_w_picpath # grub2-install /dev/sda 或者 #grub2-install root-directory=/mnt/sysp_w_picpath /dev/sda
一樣進入救援模式,替換到未升級以前的庫文件,重啓便可。
/etc/fstab文件丟失
"/etc/fstab"配置文件決定了Linux系統在啓動後如何加載各分區,例如根分區"/"、"/boot"分區等,若這些分區沒法掛載,系統將會以ro掛載根分區。丟失"/etc/fstab"文件後,啓動後將沒法對文件系統進行寫操做。
一樣進入救援模式,恢復/etc/fstab文件
遺忘root用戶的密碼
經過單用戶模式重設root帳號的密碼
single
GRUB是大多數Linux系統默認使用的引導程序,能夠經過啓動菜單的方式選擇進入不一樣的操做系統(若是有的話)。當"/boot/grub2/grub.cfg '配置文件丟失,或者關鍵配置出現錯誤,或者MBR記錄中的引導程序遭到破壞時,Linux主機啓動後可能會出現"grub>"的提示符,沒法完成進一步的系統啓動過程。
# mv /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
1. 指定文件系統,能夠是xfs或者ext2,這個要根據安裝系統時選擇的文件系統,centos7默認是xfs
grub>insmod xfs or grub> insmod ext2
2. set root:指定包含內核等引導文件的/boot分區所在的位置
grub> set root='hd0,msdos1'
#hd0 表示第一塊硬盤 msdos1 表示第一個分區
3. linux16:指定內核文件所在的位置,內核加載時權限爲只讀"ro",並經過"root="指定根分區設備文件的位置。
這裏若是不知道內核文件名稱,就要相同centos系統版本里/boot/grub2/grub.cfg去看。
grub>linux16 /vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/sda1rhgbquiet
#這裏的root是指根分區所在目錄
注:
ro #read only rhgb # redhat graphical boot quiet #disable all log messages
4. 指定啓動內核所使用的臨時系統鏡像文件所在的位置
grub>initrd16 /initramfs-3.10.0-123.el7.x86_64.img
修復完成後便可進入系統,重建配置文件。
chroot /mnt/sysp_w_picpath grub2-install /dev/sda
centos6的grup引導命令 grub>root (hd0,0) grub>kernel/vmlinux-2.6.18-8.e15 ro root=/dev/VolGroup00/LogVo100 rhgb quiet grub>inited /initrd-2.6.18-8.e15.img grub>boot
>:title:指定在啓動菜單中顯示的操做系統名稱。
>:root:指定包含內核等引導文件的/boot分區所在的位置。
>:kernel:指定內核文件所在的位置,內核加載時權限爲只讀"ro",並經過"root="指定根分區設備文件的位置。
>:initrd:指定啓動內核所使用的臨時系統鏡像文件所在的位置。
centos7和centos6在grup引導系統啓動,命令有些變化,小夥伴們注意了哦!