更改分区后Archlinux进入grub resuce恢复办法

在安装windows和linux双系统的电脑上,如果在windows内更改了分区,分区的编号发生改变,grub将不能正常启动,进去grub resuce,这里介绍恢复的办法,不同的系统可能有些地方有差别,这里安装的linux是Archlinux,分区格式是GPT,使用UEFI引导。

正常引导进入系统


  1. 使用ls命令找到linux所在的分区,如:
grub rescue> ls
(hd0),(hd0,gpt5),(hd0,gpt4),(hd0,gpt3),(hd0,gpt2),(hd0,gpt1)    //非gpt分区格式可能是(hd0,5)...
grub rescue> ls (hd0,gpt4)/boot/grub    //非efi的没有x86_64-efi
fonts  grub.cfg  grub.cfg.example  grubenv  locale  themes  x86_64-efi
  1. 假如上一步确定linux安装在(hd0,gpt5),接下来使用以下命令正常启动
grub rescue> set root=(hd0,gpt5)
grub resuce> set prefix=(hd0,gpt5)/boot/grub
grub resuce> insmod /boot/grub/x86_64-efi/normal.mod    //可能位置不一样
grub resuce> normal

对grub进行修复


  1. 更新grub启动菜单
> sudo grub-mkconfig -o /boot/grub/grub.cfg

Ubuntu上不一样,应该是

> sudo update-grub
  1. 重新安装grub
> sudo grub-install --efi-directory=/boot/efi/ --bootloader-id=arch

Ubuntu上不一样,应该是

> sudo grub-install /dev/sda

安装完成之后可以重启测试是否成功

swap分区调整


如果使用了swap分区,可能需要调整fstab

> lsblk -f     //查看所有分区
或者
> lsblk -no GUID /dev/sda8 //查看特定分区的UUID

然后需要更改/etc/fstab,

UUID=1b82fd04-9b8e-46d2-bd2b-1c81ab5161c6               none            swap            defaults        0 0
或者
/dev/sda8                none            swap            defaults        0 0

转载于:https://www.cnblogs.com/tonyc/p/7720566.html

你可能感兴趣的:(更改分区后Archlinux进入grub resuce恢复办法)