Arch Linux与windows双系统修复Arch Linux的grub引导

使用EndeavourOS live cd修复

作者: Duter2016 | 2023-10-20 | 阅读
「编辑」 「本文源码」

起因

安装的Archlinux、linuxmint、windows三系统,由于硬盘分区表分区顺序出现错误,修复后分区盘符发生变化,三个系统均不能启动。

整体思路

由于手里还有一个能用的winpe U盘启动盘。首先,使用winpe修复windows启动,但不能修复linux启动项。

其次,linuxmint存在不能正常引导Arch Linux的问题,而Arch Linux可以正常引导linuxmint。而EndeavourOS不需要配置图形界面就能使用Arch Linux的gui界面,所以,下面使用EndeavourOS Live CD修复grub引导,主要应用命令chroot。

具体操作

1.制作 Ubuntn U盘启动盘

可以在win下使用Ventory软件制作U盘启动盘。然后,将下载的EndeavourOS放到制作的U盘启动盘根目录下。

2.进入电脑BIOS,从U盘启动

3.然后进入EndeavourOS live normal环境

首先,使用EndeavourOS自带的welcome软件,设置镜像为国内镜像。

然后,安装grub引导需要的几个软件(注意使用—Syy更新镜像,否则可能会报错找不到安装包):

sudo pacman -Syy grub
sudo pacman -Syy os-prober
sudo pacman -Syy glibc
yay update-grub

4.查看磁盘分区**,获取根目录,boot目录等所在分区编号

命令:

sudo fdisk -l

此处并不显示分区对应的目录,因此只能亲根据文件类型以及分区大小判断linux系统的分区,及其相应目录对应分区。例如我的archlinux在/dev/sda9,linuxmint 在 /dev/sda12,我下面就要使用/dev/sda9

5.挂载一系列分区及目录

(1) 根分区挂载:

sudo mount /dev/sda9 /mnt

(2) 其他目录挂载:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

6.chroot到硬盘上的linux系统

sudo chroot /mnt

关于chroot命令详细介绍: chroot

7 .安装并更新grub

update-grub
grub-install  /dev/sda

注意这里是/dev/sda,不带任何盘符编号,引导的是整个硬盘。

8 .修复完成,卸载已挂载的目录

exit            //退出chroot环境
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt

9 .重启系统,完成

参考:


版权声明:本文由 Duter2016 在 2023年10月20日发表。本文采用CC BY-NC-SA 4.0许可协议,非商业转载请注明出处,不得用于商业目的。
文章题目及链接:《Arch Linux与windows双系统修复Arch Linux的grub引导》




  相关文章:

「游客及非Github用户留言」:

「Github登录用户留言」:

TOP