Fat*_*Ted 4 dual-boot uefi 16.04
作为 Ubuntu 的长期用户,我最近购买了一台 Acer Revo One,它在 60GB SSD 上预装了 Windows 8。这次我决定保留许可证。我利用免费升级到 MS Windows 10(我选择从 USB 光盘进行全新安装,以便我可以控制 SSD 上的分区 - 我为根分区留出了足够的空间)。此安装工作正常。
接下来,我安装了一个 HDD 并使用实时 USB 继续安装 Ubuntu 16.04。
我按如下方式对磁盘进行了分区(我从 Ubuntu live USB 启动后从 GParted 得到了这个):
基本上我想要:
/home交换分区和/tmp我不知道为什么/dev/sdb3并且/dev/sdb4有“msftdata”标志。
启用了安全启动(我已经阅读了各种帖子 - 有人说在安装 Ubuntu 时禁用了它,有人说你不需要这样做)。快速启动被禁用。
然而,Ubuntu 会按预期安装,但在重新启动时(已移除实时 USB 磁盘),机器仅引导至 Windows。
我已经检查了 BIOS,除了 Windows 启动管理器(或安装时的实时 USB 磁盘)之外,没有任何选项可以启动。
efibootmgr 报告:
BootCurrent:0002
Timeout: 2 seconds
BootOrder: 0000,0002,0001
Boot0000* Windows Boot Manager
Boot0001 ubuntu
Boot0002* UEFI: SanDisk
Run Code Online (Sandbox Code Playgroud)
我注意到 Boot0001 旁边没有星号暗示它不是“活动的”。我尝试将其设置为活动状态,并且还尝试更改引导顺序,因此 Boot0001 是第一个。我什至尝试将 BootNext 更改为 0001。这些都不起作用。我确实注意到激活 Boot0001 的更改会在下次启动时重置 - 所以我的更改不会被保留。
我阅读了许多帖子,其中提出了一些建议:
我似乎无法附加 EFI 分区的转储,但这是一个片段:
./EFI
./EFI/Microsoft
./EFI/Microsoft/Boot
./EFI/Microsoft/Boot/bg-BG
./EFI/Microsoft/Boot/bg-BG/bootmgfw.efi.mui
./EFI/Microsoft/Boot/bg-BG/bootmgr.efi.mui
./EFI/Microsoft/Boot/bootmgr.efi
./EFI/Microsoft/Boot/memtest.efi
./EFI/Microsoft/Boot/boot.stl
./EFI/OEM/Boot
...
./EFI/Microsoft/Boot/en-GB
./EFI/Microsoft/Boot/en-GB/bootmgfw.efi.mui
./EFI/Microsoft/Boot/en-GB/bootmgr.efi.mui
...
./EFI/OEM
./EFI/OEM/Boot
./EFI/OEM/Boot/boot.stl
./EFI/OEM/Boot/bootmgfw.efi
./EFI/OEM/Boot/bootmgr.efi
./EFI/OEM/Boot/memtest.efi
./EFI/OEM/Boot/BOOTSTAT.DAT
./EFI/OEM/Boot/BCD
./EFI/OEM/Boot/BCD.LOG
./EFI/OEM/Boot/BCD.LOG1
./EFI/OEM/Boot/BCD.LOG2
...
./EFI/OEM/Boot/en-GB
./EFI/OEM/Boot/en-GB/bootmgfw.efi.mui
./EFI/OEM/Boot/en-GB/bootmgr.efi.mui
...
./EFI/ubuntu
./EFI/ubuntu/fw
./EFI/ubuntu/fwupx64.efi
./EFI/ubuntu/grubx64.efi
./EFI/ubuntu/grub.cfg
./EFI/ubuntu/shimx64.efi
./EFI/ubuntu/MokManager.efi
./OEM
./OEM/AcerOA30.xml
./OEM/Factory
./OEM/Factory/AMIDEWINx64.exe
./OEM/Factory/AMIFLDRV64.sys
./OEM/Factory/CHK.bat
./OEM/Factory/CHK_DK.bat
./OEM/Factory/Delay-Diags.exe
...
Run Code Online (Sandbox Code Playgroud)
我知道我快要解决这个问题了,那么以上哪些建议可能有效?我宁愿不要陷入 Windows 不再启动而不得不重新启动的情况。重新安装所有东西需要很长时间。
一种成功。
我的 BIOS 已经过时了,所以我更新了它。
我还使用 USB 启动盘中的 Boot-Repair 来修复 EFI 启动分区(我不确定它是否已损坏)。
然后我尝试了@fords 建议 - 在 w$ 中运行 bcdedit - 成功!Grub 显示有多种选择 - Ubuntu 是默认设置。
当我重新启动到 Windows 时,这一切都化为乌有,在关闭时,它决定应用一个阻止 Ubuntu 启动的更新。(深深的叹息)。
我得到的只是几行建议我尝试
sysctl reboot
Run Code Online (Sandbox Code Playgroud)
或者
sysctl defaults
Run Code Online (Sandbox Code Playgroud)
两者都没有太大作用。
Windows 更新是否撤消了 Windows bcdedit 和/或 Linux 引导修复?如果是这样,我如何防止 Windows 更新每天造成严重破坏?
小智 8
您是否尝试在 Windows 命令提示符下将默认引导加载程序设置为 Grub?当我安装 Ubuntu 以在 Windows 10 上运行时,我必须这样做:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
Run Code Online (Sandbox Code Playgroud)
我还建议关闭安全启动。在双启动方面,Windows 是一个脾气暴躁的野兽。
| 归档时间: |
|
| 查看次数: |
29320 次 |
| 最近记录: |