我将首先描述安装 ubuntu 的步骤。
我的电脑是 HP Spectre x360,2020 年初推出的。
我尝试在与 Windows 10 相同的硬盘上安装 ubuntu。我在 C: 驱动器中创建了一个分区。
安装似乎很好,但是当它提示我删除重新启动时安装 ubuntu 的驱动器时,我的设备直接进入了 Windows。
经过进一步调查:快速启动已关闭。安全启动已关闭。Ubuntu 未添加到 UEFI 中的启动菜单中。
当我从 Windows 检查磁盘时,似乎我为 ubuntu 创建的分区未分配。但是,当我从磁盘启动 ubuntu 安装程序并再次运行安装过程时,ubuntu 安装程序指示 ubuntu 已安装在我的计算机上的相应分区中。
任何能解决这个问题的方法都将不胜感激。
更新:我按照建议关闭了英特尔傲腾并确保所有固件都是最新的。尝试再次安装 ubuntu,但遇到了问题:
Executing 'grub-install /dev/nvme0n1 failed. This is a fatal error.
我重新启动进入 Windows,Windows 中显示我为 ubuntu 创建的分区已填满,但 ubuntu 仍然没有出现在我的启动菜单中,也没有出现在 UEFI 的任何地方。
我非常困惑,如果有人有任何建议或资源那就太好了。
答案1
编辑:为那些搜索的人更新答案
尝试将 FAT32 EFI 分区扩展到 512MiB,grub 在处理较小的 EFI 分区时会出现问题
如果 UEFI 中没有 grub2-efi ,则可能需要重新安装 GRUB2(UEFI) ,请注意,当您从 usb/live 媒体启动 ubuntu 时,您是否通过 usb [UEFI] 启动,如果没有,您可能已通过 mbr 安装它。
您需要启动 ubuntu live 并在 /EFI 分区上重新安装 grub2-efi
- 进入 gnome 磁盘
- 识别您的磁盘
- 单击 EFI 分区上的播放按钮(应为 FAT32,大小约为 100mb,来自 Windows 安装)
- 记下 EFI 挂载点(/dev/sda1 之类的)
- 使用命令
sudo grub-install /dev/sdX
,其中 sdX 是你的 EFI 挂载点
** 请注意,如果您有 nvme 驱动器,它将类似于 /dev/nvme0n1p1 而不是 sdX ,请进行相应替换
- 使用命令
sudo update-grub
**重要提示:使用 blkid 命令检查 efi 分区的 UUID,检查它是否与 /etc/fstab 条目中的值匹配,否则 ubuntu 将无法启动,您可能需要更新 UUID,特别是如果您已格式化 EFI 分区。(例如:sudo blkid /dev/sdX)
从 :https://linuxsuperuser.com/reinstall-grub2-efi-bootloader-ubuntu/
如果不起作用,请检查一下https://help.ubuntu.com/community/UEFIBooting#Install_GRUB2_in_.28U.29EFI_systems
答案2
您也可以检查 bios 设置,
BIOS > 系统配置 > 启动设备选项
然后在 UEFI 启动顺序下,检查操作系统启动管理器
确认 ubuntu 是否安装
答案3
理论上这样做应该没有风险。不过,尝试此操作需自担风险:
进入系统 BIOS 程序并进入安全设置。清除安全密钥文件并关闭安全启动。我相信,当安装 Windows 10 时,特别是如果它是 OEM 安装,则会使用 BIOS 句柄并启用和生成带安全密钥的安全启动。这会导致随后安装的引导加载程序应用程序执行被忽略(即被视为恶意)。