1 引导损坏修复
标签
Bootloader
Linux
Grub
rEFInd
字数
640 字
阅读时间
3 分钟
1 检查硬盘连接和启动顺序
- 检查硬盘连接:确保Linux和Windows所在的硬盘都连接良好,并在BIOS/UEFI中被正确识别。
- 调整启动顺序:进入BIOS/UEFI设置,确保Linux安装所在的硬盘是第一个启动设备。
2 修复引导安装
可能是GRUB安装过程中出错,导致引导无法正确加载。尝试重新安装或修复GRUB。
2.1 进入Live CD/USB修复
btrfs
- btrfs 的根目录在
/@
- 所以
boot
应该挂载到/mnt/@/boot
使用Arch Linux的Live CD/USB进入系统并挂载你的Linux系统分区:
bash
mount /dev/sdaX /mnt # 假设Arch Linux安装在/dev/sdaX
mount /dev/sdaY /mnt/boot/efi # 如果是UEFI系统,挂载EFI分区
将系统根目录切换到你的安装环境:
bash
arch-chroot /mnt
2.2 重新安装 rEFInd
如果没有安装就先安装 rEFInd
sh
sudo pacman -S refind
重新进行设置
sh
sudo refind-install
2.3 重新安装 GRUB
BIOS系统:
bashgrub-install --target=i386-pc /dev/sda
UEFI系统:
bashgrub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
重新生成GRUB配置:
bash
grub-mkconfig -o /boot/grub/grub.cfg
3 禁用Fast Boot(快速启动)
4 检查Secure Boot
- 禁用Secure Boot:Secure Boot可能会阻止GRUB启动。进入BIOS/UEFI设置,尝试禁用Secure Boot功能。
5 使用efibootmgr
检查和修复引导顺序
如果你在UEFI系统上,使用efibootmgr
工具检查和设置GRUB的引导顺序:
bash
efibootmgr
确保GRUB在启动顺序中的位置高于Windows Boot Manager。如果需要更改启动顺序:
bash
sudo efibootmgr -o 0001,0000 # 根据你的具体启动项编号调整
6 更新系统和GRUB包
在chroot环境中或正常进入Linux后,确保所有系统包和GRUB已更新:
bash
sudo pacman -Syu
再重新生成GRUB配置并重启。
7 检查和修复分区表
- 检查分区表:使用
fdisk
或gdisk
工具检查分区表的健康状况。某些情况下,分区表损坏会导致引导问题。 - 修复EFI分区:对于UEFI系统,确保EFI分区格式正确,并且GRUB的引导文件在正确的位置。
8 检查日志
如果问题依然存在,可以检查系统日志,了解更详细的错误信息:
bash
journalctl -xb