MBR丢失没法引导系统的状况比较常见,例如多重系统下重装了windows形成linux没法进入等,所以须要从新安装或修复linux的开机引导程序grub,本文介绍如何在debian或ubuntu下修复grub。
linux
一、前提条件shell
个人计算机中首先安装了windows七、其次是centos六、debian7.5,后因为重装windows7形成centos和debian没法进入,所以须要修复grub,使其可以顺利引导多重系统。使用U盘(光盘也行)制做debian安装介质(以前装的是64位系统,这里也须要64位且版本相同的介质,不然chroot失败)。ubuntu
二、开始修复windows
从U盘引导进入系统,在选择安装语言、时区、键盘布局后,按alt+F2获取一个shell:centos
(X表明硬盘代号,Y表明分区号,例如sda7,第一块硬盘的第七个分区,这是个人debian的根分区)ide
mount -t ext4 /dev/sdXY /mnt布局
mount -t ext2 /dev/sdXY /mnt/bootspa
这里须要-t参数指定挂在分区的文件系统类型,当初是什么就指定什么。若是有单独划分boot分区,则须要把它挂载到/mnt/boot
orm
挂在了根分区和boot分区后还须要挂在下列分区it
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
chroot到debian的根分区sdXY,执行重建grub,安装到硬盘的MBR
update-grub
grub-install /dev/sdX
grub-install --recheck /dev/sdaX
按ctrl+D退出chroot
卸载虚拟档案系统
umount /mnt/dev/pts
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
卸载boot分区
umount /mnt/boot
卸载usr目录
umount /mnt/usr
卸载debian根分区
umount /mnt
reboot后便可进入debian系统,在系统下执行再次执行update-grub便可找到win7和centos的loader,实现引导多系统。