先来一张硬盘存储逻辑简图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引导系统启动,命令有些变化,小伙伴们注意了哦!