双系统下Arch Linux启动项丢失,如何恢复,systemd-boot

文章讲述了在Windows10更新导致ArchLinux引导问题后,如何通过挂载U盘、使用Arch-chroot和相关命令(如bootctlupdate、mkinitcpio和efibootmgr)恢复Systemd-boot引导,以及在UEFIshell环境下修复启动项的方法。

1. 前言

        linux系统:UEFI 引导管理器为systemd-boot,不是grub。Arch 发行版。

        Windows10一个更新蓝屏加恢复把我的Arch Linux的系统引导选项删除了,好一个流氓微软。好一个某小岛贵宾Bill。

        该解决办法不具有普适性,因为导致Linux无法启动的原因有很多种。

2. 如何恢复

        关于Arch Linux,新手都常被教导要多读那个Fxxxing manual,解决办法就在其中。

 

  •  如果你拥有一个安装Arch的U盘,挂载原有系统到安装镜像上。X,Y和 Z应该为系统安装的位置,使用 fdisk 查看
mount /dev/sdXY  /mnt

mount /dev/sdXZ  /mnt/boot

        然后使用

arch-chroot /mnt         #切换到电脑本地系统上

        尝试使用下面命令后重启看看能否恢复

bootctl update
mkinitcpio -P

        如果没有恢复尝试使用下面命令创建新的启动项后,再重启看能否恢复,X,Y为系统安装硬盘位置和分区

efibootmgr -c -d /dev/sdX -p Y -l /EFI/systemd/systemd-bootx64.efi -L "Arch Linux"

        如果还没有恢复,那么想办法进入UEFI shell界面。

        如果你有安装u盘,那么可以从安装选项中选择并进入。如果没有,某些电脑可以使用快捷键进入UEFI shell。

  • 使用UEFI shell恢复启动项

        使用bcfg命令进行创建启动项,使用UEFI shell有一定风险,具体命令请参考以下链接

Arch Wiki: systemd-boothttps://wiki.archlinuxcn.org/wiki/Systemd-boot#%E6%8E%92%E9%99%A4%E9%97%AE%E9%A2%98

Arch Wiki: UEFIhttps://wiki.archlinuxcn.org/wiki/UEFI#UEFI_Shell

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值