1. 发生了什么
昨天 windows10 突然弹出了更新的窗口,就怎么细想直接点了同意。今天一大早起床后打开电脑,
发现 rEFInd 不工作了,直接引导进入 windows10,立刻联想到肯定是昨天 windows10 更新搞得
鬼,垃圾MS,没辙了,只能手动修复吧。
2. 开始修复引导
首先想到的就是重新安装 rEFInd。进到 rEFInd 官网下载 rEFInd。
然后遵循官网上的安装教程进行安装,步骤如下:
- 按
win + x打开一个管理员权限的 命令行窗口
- 按
- 执行命令
mountvol S: /S挂载EFI分区到S:
- 执行命令
- 把下载的
refind.zip解压后放到桌面
- 把下载的
- 执行命令
xcopy /E %HOMEDRIVER%%HOMEPATH%\Desktop\refind\refind S:\EFI\refind
- 执行命令
- 执行
S:切换到EFI分区,然后cd EFI\refind切换到 refind 目录
- 执行
- 删除不必要的驱动文件,仅留下与自己架构想符合的驱动文件。如
x64系统就删掉drivers_ia32和drivers_aa64。我的是x64, 所以仅留下了drivers_x64,不删掉的花会拖慢rEFInd的启动速度,甚至可能会导致系统crash。详细文档在此。
- 删除不必要的驱动文件,仅留下与自己架构想符合的驱动文件。如
- 关于
rEFInd的配置文件,直接使用默认的就行了copy refind.conf-sample refind.conf
- 关于
- 将
rEFInd设置为默认启动项bcdedit /set "{bootmgr}" path \EFI\refind\refind_x64.efi。
- 将
- 设置启动项的名字:
bcdedit /set "{bootmgr}" description "*Boot rEFInd*"。 注意**不能丢,Boot rEFInd可以替换成任意字符串,中文倒是没有尝试过,不知能不能支持。
- 设置启动项的名字:
- 重新启动
- 重新启动
3. 遇到的问题和解决的过程
本以为按照上述的步骤重新安装rEFInd就可以了,还是图样啊。重以后 100% 不工作。再去翻文档,文档上给出了如下几个方案:
方案1: 重命名 ESP 目录下的文件,文档在此。
方案2: 通过
Linux live CD启动到linux,然后通过sudo apt-get install refind安装rEFInd,接着使用efibootmgr将rEFInd设置为默认启动项。方案3: 通过安装有
rEFInd的CD引导到一个可用的系统,然后用efibootmgr或bless或其他引导设置工具将rEFInd设置为默认引导。
我选择了方案2:
- 找来一个空U盘用 Deepin Boot Maker 制作了一个启动盘(我用的是DeepinLinux)
- U盘插上电脑后,开机选择U盘启动,选择
failsafe mode进入 Live 模式。
- U盘插上电脑后,开机选择U盘启动,选择
- 启动后通过
Ctrl + Alt + T切出一个终端窗口,准备切换到主机系统:
- 启动后通过
1. mkdir -p root/usr root/etc
2. sudo mount /dev/sda8 root
3. sudo mount /dev/sda9 root/usr
4. sudo mount /dev/sda10 root/etc
5. sudo mount -t proc proc root/proc
6. sudo mount -t sysfs proc root/sys
7. sudo chroot root
这样就切换到主机系统了。
- 安装
rEFInd然后重启:sudo apt-get install refind && reboot(忘记将 refind 设置为默认启动项了,这也是为什么重启后仍然失败)
- 安装
结局
然而重启以后还是没用,仍然引导到 windows 10。没办法,还是去翻文档。看到上面提到个叫easyUEFI的工具,去官网看看有个免费试用版,下载下来试试吧。
- 安装easyUEFI
- 选择管理启动序列,点进去后列出了几个启动项,包括之前安装的那个
Boot rEFInd。
- 选择管理启动序列,点进去后列出了几个启动项,包括之前安装的那个
- 选中看了一下,发现启动的位置竟然是
S:\EFI\refind\refind_x64.efi,难怪启动不了rEFInd。
- 选中看了一下,发现启动的位置竟然是
- 点击编辑, 把启动位置改为
\EFI\refind\refind_x64.efi并保存。
- 点击编辑, 把启动位置改为
- 重新启动
这下终于引导到 rEFInd 了。。。。。