V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Xuyiyang23333
V2EX  ›  Linux

Windows 总是删除 GRUB 的引导项,怎么破?

  •  
  •   Xuyiyang23333 · 2020-05-07 22:00:10 +08:00 · 5117 次点击
    这是一个创建于 1668 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用的是一台联想笔记本,通过 UEFI 方式启动。部署完 GRUB (当时我创建了两个 300MiB 的 FAT32 格式的分区,一个给 Windows,一个给 Linux )之后,会往 NVRAM 里写一个启动项。但是一旦我重启到 Windows,这个启动项就会被删除。我还以为是因为它们在同一块硬盘导致的,于是我格盘在内置硬盘里装了 Debian,把 Windows 以 WTG 方式安装至一个 CZ880 U 盘中。

    用了一阵子之后我发现 Windows 依然会删 GRUB 的引导项,无奈之下只得在部署 GRUB 的时候加上--removable参数,这个参数可以写一个引导文件至EFI/BOOT/BOOTX64.EFI的位置,给可移动设备引导用的,没想到在这里用上了。

    这下没什么问题了,也能正常启动,但总觉得有些膈应,有什么办法可以让 Windows 与别的系统和谐相处吗?

    Windows 是必须得用的,偶尔会玩玩游戏,推推 GalGame 啥的。

    24 条回复    2020-05-24 19:05:24 +08:00
    Deteriorator
        1
    Deteriorator  
       2020-05-07 22:35:28 +08:00
    没遇见这种情况,我是 win10 和 Ubuntu 双系统,也是用 grub2 引导,一直正常使用
    islxyqwe
        2
    islxyqwe  
       2020-05-07 22:44:34 +08:00
    联想笔记本...启动 windows 后出事...难道又是 WPBT?
    autoxbc
        3
    autoxbc  
       2020-05-07 22:48:23 +08:00
    UEFI 的部分设计是丑陋的,建议继续用 Legacy BIOS,现在一些引导器甚至可以做到 BIOS + GPT
    dandycheung
        4
    dandycheung  
       2020-05-07 22:56:03 +08:00 via iPhone
    EPS 分区有两个?
    DefoliationM
        5
    DefoliationM  
       2020-05-07 23:10:12 +08:00
    我这没问题 可能是笔记本的问题 有些笔记本会给自己定制东西 建议换台笔记本再试试
    Nitroethane
        6
    Nitroethane  
       2020-05-07 23:12:37 +08:00
    新版的 Windows 好像不会覆盖已有的 EFI 分区了。半个月前装黑苹果和 win10 双系统,先黑苹果后 win10,win10 只是在 EFI 分区下添加了自己的引导,对分区中已有的文件没有做任何改动。对了,win10 版本是 1903
    leavic
        7
    leavic  
       2020-05-07 23:26:33 +08:00
    再买一台电脑,windows 的归 windows,ubuntu 的归 ubuntu,mac 的归 mac 。
    我是说真的。
    LokiSharp
        8
    LokiSharp  
       2020-05-07 23:55:55 +08:00
    用 Windows 的引导引导 GRUB 即可
    zro
        9
    zro  
       2020-05-08 00:01:36 +08:00
    不需要创建多个 EFI 分区的。。
    anguiao
        10
    anguiao  
       2020-05-08 00:07:50 +08:00 via Android
    单个 EFI 分区就可以,安装的时候把 EFI 分区挂载到 /boot/efi 就行,我一直是这么干的。
    ragnaroks
        11
    ragnaroks  
       2020-05-08 00:28:57 +08:00
    手动创建 EFI 分区,从 win10.iso 复制 \EFI 全部文件到此根目录下

    然后进 PE 使用略过引导的(比如"不更新 bcd"之类的选项)安装

    最后使用 bcd 工具手动设置引导记录
    victor97
        12
    victor97  
       2020-05-08 06:34:24 +08:00 via Android
    一个 EFI 分区,空间划大一点
    reus
        13
    reus  
       2020-05-08 08:14:15 +08:00 via Android
    我现在都不用 grub 了,mount 那个 efi 分区到 /boot,然后内核文件就会装到 efi 分区里,然后用 systemd-boot 创建 efi 条目,配置好就行了

    grub 也可以用 efi 方式安装
    LittleControl
        14
    LittleControl  
       2020-05-08 08:36:26 +08:00
    不要把 win 的 efi 分区和 linux 的 efi 分区都装到一个区域,win 的 efi 一个分区,对于 Linux 的 grub 也单独开一个分区,只不过在 grub 利引导两个系统,就可以了
    这样,基本上两个系统都算互补干预了,grub 可以引导双系统,win 的 efi 分区只可以引导它自己的 win 系统
    reus
        15
    reus  
       2020-05-08 13:44:47 +08:00 via Android
    @LittleControl efi 是给主板固件读的,当然可以放 linux 的 efi 启动器。grub 或者 systemd 都可以。一个 efi 分区就行了
    printempw
        16
    printempw  
       2020-05-08 17:51:51 +08:00
    我也是在同一块硬盘上安装的 Windows 和 Linux,EFI 引导 grub / Windows Boot Manager,没出现 grub 引导项被删除的情况。不过每次 Windows 更新的时候它都会把 Windows Boot Manager 的启动顺序改成第一位……
    Xuyiyang23333
        17
    Xuyiyang23333  
    OP
       2020-05-08 23:56:42 +08:00 via iPhone
    @autoxbc 但总觉得 MBR 引导修改起来太麻烦了,得用特殊软件改扇区。UEFI 就方便许多,只要是 FAT 的分区,把 EFI 文件放到正确的位置,直接就可以引导起来。
    autoxbc
        18
    autoxbc  
       2020-05-09 01:51:39 +08:00
    @Xuyiyang23333 #17 MBR 不应该经常变动,把单步自举引导器 wee63 写入,以后再也不需要修改

    在 wee63 当中,直接可以载入 bootmgr 或者 grldr 等链式引导,UEFI 模式中的 EFI 文件就是多余的
    Xuyiyang23333
        19
    Xuyiyang23333  
    OP
       2020-05-09 09:11:54 +08:00 via iPhone
    @autoxbc 刚刚试了试 wee63,感觉还不错。在 BOOTICE 里看到个叫 Plop Boot Manager 的引导器,感觉界面更好看。
    我有个问题,MBR 在不使用别的引导器的情况下是不是只能引导一个系统啊,以前我给一台老笔记本(在某个暑假被我拆了,装不回去了)装系统的时候都不知道有引导扇区这个东西,现在对于 MBR 的特性也是半懂不懂。
    autoxbc
        20
    autoxbc  
       2020-05-09 17:24:08 +08:00
    @Xuyiyang23333 #19 MBR 里总是有一个引导器的,这个引导器如果是单一引导器,那么确实只能引导其所指向的特定系统

    不过部分多引导器有些特别的反向兼容设计,可以被其他单一引导器引导,比如 grub4dos 可以通过 grub4dos.mbr 扇区文件被 ntldr 载入,那么单一引导器就变相获得了多引导能力
    Xuyiyang23333
        21
    Xuyiyang23333  
    OP
       2020-05-09 18:50:12 +08:00
    @autoxbc 我可能得到最优解了,我现在是在磁盘上使用 GPT 分区表,创建一个 FAT32 分区和一个 1MB 的未格式化分区,1MB 的分区打上 bios-boot 的 GUID,再把 GRUB2 按照 EFI 的方式和 MBR 的方式安装两遍就行了。这样可以同时兼容 UEFI 和 MBR 启动,也不会受到 MBR 蛋疼的四个主分区的限制。
    qbqbqbqb
        22
    qbqbqbqb  
       2020-05-13 14:14:03 +08:00
    应该不是 Windows 删的,Windows 10 只有在系统大版本升级的时候才会改引导。估计是联想的 BIOS 的坑。
    目前市面上很多品牌台式机和笔记本,甚至是组装机主板的 UEFI BIOS 对于非 Windows 系统的引导都有很多坑,明面上支持按照标准 UEFI 的规格设置引导项,实际上只有 bootmgfw.efi 和 bootx64.efi 两个文件保证能用,其它都是 bug 。
    edwardjobs
        23
    edwardjobs  
       2020-05-23 16:00:27 +08:00 via iPhone
    前些日子做 win 和 deepin 的双系统 就失败了 折腾了两天哪
    Xuyiyang23333
        24
    Xuyiyang23333  
    OP
       2020-05-24 19:05:24 +08:00
    @qbqbqbqb 证实了,确实是 BIOS 的问题。折腾黑苹果的时候在 pcbeta 下载了一份别人的成品 Clover,那人没有把 Windows 的引导删掉,我直接扔到 EFI 里面去,结果被 UEFI 识别出引导项了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2562 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:15 · PVG 13:15 · LAX 21:15 · JFK 00:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.