无法启动 Ubuntu,因为 Windows 10 重写了整个 EFI 分区

无法启动 Ubuntu,因为 Windows 10 重写了整个 EFI 分区

我在 HP Pavilion 游戏笔记本电脑(15-cx0049nr)上设置 Windows 10 和 Ubuntu 16.04(游戏包)双启动时遇到了问题。

我意识到对此已经提出了很多问题,但我已经阅读了数十个帖子并尝试了各种解决方案,但都没有成功。

到目前为止,我使用磁盘管理工具清理了空间,禁用了快速启动、休眠和安全启动,并成功使用实时 USB 安装了 Ubuntu。安装完成后,我发现如果我F9在重新启动时立即点击,我会得到启动设备列表,并且可以选择 Ubuntu。但如果我不点击F9,它会直接进入 Windows。下次重新启动时,如果我点击F9,Ubuntu 文件夹和所有相关.EFI文件都会消失。

回到 Windows,磁盘管理实用程序显示 Ubuntu 分区为未分配空间。Diskpart 也找不到它。使用 Diskpart 安装 EFI 分区后,探索该分区可确认 Ubuntu 文件夹和所有 grub 文件都已消失。这就像 Windows 重写了 EFI 分区并拒绝承认 Ubuntu 分区一样。

到目前为止,我已经尝试过:

  • 加载 liveUSB 并运行启动修复。这样我就可以像以前一样在启动时按 F9 进入,直到 Windows 第一次启动。(此时,fdisk -l表示主 GPT 分区表和备份 GPT 分区表之间存在差异。Gdisk 可以修复它,但每次都会出现。)
  • 安装 rEFInd,但找不到任何 Ubuntu EFI 文件。
  • 安装 EasyUEFI,但也找不到任何 Ubuntu EFI 文件。
  • 使用 bcdedit 为 Ubuntu 创建启动项,该项在多次启动后仍然存在,但却指向任何内容(错误代码 0xc00000076)。

我不知道下一步该去哪儿。

在实时环境中,Ubuntu 安装无法访问,sudo parted -l表明备份 GPT 表已损坏,但主表正常,并显示:

Model: ATA ST1000LM049-2GH1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name                                      Flags
 1      1049kB  274MB   273MB   fat32           EFI system partition              boot, esp
 2      274MB   290MB   16.8MB                  Microsoft reserved partition  msftres
 3      290MB   551GB   550GB   ntfs            Basic data partition          msftdata
 6      551GB   969GB   419GB   ext4
 7      969GB   982GB   12.8GB  linux-swap(v1)
 4      982GB   983GB   1028MB  ntfs            Basic data partition          hidden, diag
 5      983GB   1000GB  16.9GB  ntfs            Basic data partition            hidden, msftdata


efibootmgr
BootCurrent: 0001
      Timeout: 0 seconds
      BootOrder: 2001,0000,3000,2002,2004
      Boot0000* Windows Boot Manager
      Boot0001* USB Hard Drive (UEFI) - KingstonDataTraveler 2.0           (KingstonDataTraveler 2.0)
      Boot0002* Internal EFI Shell
      Boot0004* Internal EFI Shell
      Boot0005* Default hard drive Boot
      Boot0006* Internal EFI Shell
      Boot0007* Windows Boot Manager
      Boot0008* Default hard drive Boot
      Boot2001* EFI USB Device
      Boot3000* Internal Hard Disk or Solid State Disk

答案1

终于解决了:从 BIOS 菜单禁用 Optane 内存。这个问题(以及我系统中的许多其他问题)源于英特尔的新 Optane 技术。显然,Optane 内存只是一个 16GB 的 SSD,带有一个特殊的驱动程序,允许它存储当前 Windows 状态的映像,而用户无法看到或修改该映像。该驱动程序还将驱动器呈现为对 Windows 和 Linux 不可见。谢谢,英特尔。有关更多信息,请参阅英特尔的常见问题解答(https://www.intel.com/content/www/us/en/support/articles/000024018/memory-and-storage/intel-optane-memory.html) 我最终通过在 BIOS 选项中禁用 optane 内存解决了这个问题,此后我的系统开始按预期运行。似乎引导加载程序首先查看了 Optane,因此我对常规 SATA 驱动器所做的任何操作都没有对引导加载程序或 Windows 产生任何明显影响。比我更聪明的用户可能会想出一些方法来充分利用这个额外的 SSD。如果您和我一样是基本用户,拥有一台配备 Optane 内存的新 HP 笔记本电脑并遇到类似问题,请尝试在 BIOS 中禁用 optane 驱动器。

答案2

这个答案可能没有帮助,或者可能是您的最后手段......当我在两周前第一次购买新的联想笔记本电脑时,我遇到了或多或少相同的问题,我曾经在 Windows 上使用华硕很长时间,几年前在开始使用 Ubuntu 之前我确实进行过全新安装,因此双启动没有任何问题。在尝试了许多方法之后,我认为笔记本电脑制造商提供的 Windows 可能有一些机制来阻止您使用其他操作系统,所以我最终决定格式化整个驱动器并重新安装一个干净的 Windows,然后在 Windows 旁边安装 ubuntu,这对我来说很有效,而且我不需要制造商附带的那些愚蠢的额外内置应用程序,所以现在我的 ubuntu 和 Windows 都是干净的。我几乎每天都使用它们,ubuntu 用于工作,windows 用于玩游戏,没问题。

相关内容