Linux与windows双系统GRUB引导修复

平常办公就是用windows系统,可人家就是爱折腾,一台机子上装了两个系统,还有一个是linux. 本人装在电脑上装了一个windows 10和一个Manjaro Linux.

后来不知道什么缘故,总觉得windows 10老是有问题,反应慢,有时死机。于是 就想重装下系统,又换回windows7,7用怪了,现在也不算太老。装好后 ,原来的grub引导没了,不能引导linux系统,然而原来的manjaro linux系统是还在的,没有格式化过,总不能再重装一遍linux吧,再者原来的linux系统一开始都是花了时间配置好的,也装了一些常软件。再重装系统,费时。所以还是网上找下资料来修复grub引导吧。

以下 是参考链接: https://wiki.manjaro.org/index.php/Restore_the_GRUB_Bootloader https://wiki.archlinux.org/index.php?title=%E6%81%A2%E5%A4%8DGRUB/LILO_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&oldid=44369

准备工作:准备制作一张arch linux或manjaro linux LiveCD 启动盘。你可以把它刻录成光盘或烧录进可启动U盘。我用 ultraISO软件或 rufus 烧录到U盘里制作LiveCD.

在这里我用的电脑比较老,用的是BIOS而不是UEFI。
1. 插入U盘,选择电脑从U盘启动,进入LiveCD linux系统。在进一步操作之前,我们需要先确定我们linux系统装在哪个分区。可以用以下命令工具试试: # lsblk -f  或 # fdisk -l 或gparted

2.安装 mhwd-chroot 工具:#sudo pacman -S mhwd-chroot

3. #sudo mhwd-chroot 会自动检测出你的linux系统装在哪个分区,以便后续进行操作。我的根分区在/dev/sda8

4. 挂载/分区到/mnt目录,其它相关分区也挂载至/mnt相关目录下              #mount /dev/sda8 /mnt

#mount /dev/sda9 /mnt/boot

#mount /dev/sda10 /mnt/var

#mount /dev/sda11 /mnt/home

5. 切换到已挂载的根目录下/mnt ,再挂载以下文件系统至/mnt目录下 #cd /mnt

mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
mount -t devpts pts /mnt/dev/pts/
chroot /mnt

6. sudo pacman -S mtools os-prober

7. grub-install /dev/sda

8. grub-install –recheck /dev/sda

9. update-grub 这一步等的时间比较长,且没有任何提示,要内心等待。