美文网首页
记一次修复Linux引导

记一次修复Linux引导

作者: uoy_fo_lla_kcuf | 来源:发表于2018-06-24 12:59 被阅读0次

    1. 发生了什么

    昨天 windows10 突然弹出了更新的窗口,就怎么细想直接点了同意。今天一大早起床后打开电脑,
    发现 rEFInd 不工作了,直接引导进入 windows10,立刻联想到肯定是昨天 windows10 更新搞得
    鬼,垃圾MS,没辙了,只能手动修复吧。

    2. 开始修复引导

    首先想到的就是重新安装 rEFInd。进到 rEFInd 官网下载 rEFInd
    然后遵循官网上的安装教程进行安装,步骤如下:

      1. win + x 打开一个管理员权限的 命令行窗口
      1. 执行命令 mountvol S: /S 挂载EFI分区到 S:
      1. 把下载的 refind.zip 解压后放到桌面
      1. 执行命令 xcopy /E %HOMEDRIVER%%HOMEPATH%\Desktop\refind\refind S:\EFI\refind
      1. 执行 S: 切换到EFI分区,然后 cd EFI\refind 切换到 refind 目录
      1. 删除不必要的驱动文件,仅留下与自己架构想符合的驱动文件。如 x64 系统就删掉 drivers_ia32drivers_aa64。我的是x64, 所以仅留下了drivers_x64,不删掉的花会拖慢 rEFInd 的启动速度,甚至可能会导致系统crash。详细文档在此。
      1. 关于rEFInd的配置文件,直接使用默认的就行了 copy refind.conf-sample refind.conf
      1. rEFInd设置为默认启动项 bcdedit /set "{bootmgr}" path \EFI\refind\refind_x64.efi
      1. 设置启动项的名字: bcdedit /set "{bootmgr}" description "*Boot rEFInd*"。 注意**不能丢, Boot rEFInd 可以替换成任意字符串,中文倒是没有尝试过,不知能不能支持。
      1. 重新启动

    3. 遇到的问题和解决的过程

    本以为按照上述的步骤重新安装rEFInd就可以了,还是图样啊。重以后 100% 不工作。再去翻文档,文档上给出了如下几个方案:

    • 方案1: 重命名 ESP 目录下的文件,文档在此。

    • 方案2: 通过 Linux live CD 启动到linux,然后通过 sudo apt-get install refind 安装 rEFInd,接着使用efibootmgrrEFInd 设置为默认启动项。

    • 方案3: 通过安装有 rEFInd 的CD引导到一个可用的系统,然后用efibootmgrbless或其他引导设置工具rEFInd 设置为默认引导。

    我选择了方案2:

      1. 找来一个空U盘用 Deepin Boot Maker 制作了一个启动盘(我用的是DeepinLinux)
      1. U盘插上电脑后,开机选择U盘启动,选择 failsafe mode进入 Live 模式。
      1. 启动后通过 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
    

    这样就切换到主机系统了。

      1. 安装rEFInd 然后重启:sudo apt-get install refind && reboot (忘记将 refind 设置为默认启动项了,这也是为什么重启后仍然失败)

    结局

    然而重启以后还是没用,仍然引导到 windows 10。没办法,还是去翻文档。看到上面提到个叫easyUEFI的工具,去官网看看有个免费试用版,下载下来试试吧。

      1. 安装easyUEFI
      1. 选择管理启动序列,点进去后列出了几个启动项,包括之前安装的那个Boot rEFInd
      1. 选中看了一下,发现启动的位置竟然是 S:\EFI\refind\refind_x64.efi,难怪启动不了rEFInd。
      1. 点击编辑, 把启动位置改为 \EFI\refind\refind_x64.efi 并保存。
      1. 重新启动

    这下终于引导到 rEFInd 了。。。。。

    相关文章

      网友评论

          本文标题:记一次修复Linux引导

          本文链接:https://www.haomeiwen.com/subject/uomjyftx.html