zoukankan      html  css  js  c++  java
  • 重装 Windows 10 后修复 Linux 的 EFI 引导

    .

    .

    .

    .

    .

    重装Win10后,原先 Linux 的 efi 引导被 win10 替换掉了,所以需要修复回来。

    LZ 的 Linux 是 Fedora 34,所以通过U盘的 Live CD 启动.

    1.首先通过 fdisk 查看 efi 分区所在的磁盘。

    >$ sudo fdisk -l
    Disk /dev/sdb: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
    Disk model: WDC WD20EZRX-22D
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: 81921D83-5F46-440C-A8AE-0E7659E3C5BA
    
    Device          Start        End    Sectors  Size Type
    /dev/sdb1        2048    2099199    2097152    1G EFI System
    /dev/sdb2  1048578048 3890219007 2841640960  1.3T Linux filesystem
    /dev/sdb3  3890219008 3907028991   16809984    8G Linux swap
    /dev/sdb4     2099200    6293503    4194304    2G Linux filesystem
    /dev/sdb5     6293504 1048578047 1042284544  497G Linux filesystem

    由此可知,我的 efi 分区是 sdb1,那么使用 efibootmgr 命令修复该分区即可。

    >$ sudo efibootmgr -c -d /dev/sdb -p 1 -L Fedora -l "EFIfedoragrubx64.efi"

    参数解释:

    -d: 指定 efi 所在的磁盘;

    -p: efi 所在的分区号码;我的 EFI 分区是 /dev/sdb1,因此分区号是 1;

    -L: 启动时候我们看到的 EFI 菜单名字;

    -l: 引导程序所在路径;由于我的引导程序在 /dev/sdb1/EFI/fedora/grubx64.efi,因此我这里指定为 "EFIfedoragrubx64.efi",你要根据自己的情况加以修改;

    命令执行成功后重启,再进入 BIOS 设置,应该就可以看到 Linux  的 EFI 信息了。

    参考文献:

    EFI 启动项修复记录

    作者:dybai
    出自:http://www.cnblogs.com/0xcafebabe
    赞赏:3Ky9q5HVGpYseBPAUTvbJBvM3h3FQ3edqr
    本作品采用知识共享署名-相同方式共享 3.0 中国大陆许可协议进行许可。
    欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

  • 相关阅读:
    PDO 数据访问抽象层
    递归例子
    Windows对象操作:浏览器窗口信息
    练习题:选择器和选择好友
    搭建wamp环境,数据库基础知识
    堆表空间管理
    vc弹出USB的方法. 附试验通过的代码!
    javascript 调用C++函数
    [转]在Win7 64位注册ActiveX控件
    SetForegroundWindow的正确用法
  • 原文地址:https://www.cnblogs.com/0xcafebabe/p/15143524.html
Copyright © 2011-2022 走看看