我正在使用 UEFI 模式启动,在重新安装 ubuntu 之前,我已经在 UEFI 模式下完美地实现了双启动。但是在旧 ubuntu 上犯了一个错误(删除了根目录中的一些文件夹/文件...)之后,我在旧 ubuntu 的旧分区上重新安装了新的 ubuntu。
现在的问题是 Windows10 没有出现在 grub 启动列表中,当我想使用可启动 USB 3.0 windows10(UEFI 模式)启动时,它无法检测到它。但如果我关闭 UEFI 模式(MBR 模式),它会在我的 windows 可启动 USB 上启动!
以下是 boot-repare 的 Boot-info 的一部分:
============================= Boot Info Summary: ===============================
=> No boot loader is installed in the MBR of /dev/sda.
sda1:______________________________________________________________________
File system: ntfs
Boot sector type: Windows 8/2012: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /bootmgr /boot/bcd
sda2:________________________________________________________________________
File system: vfat
Boot sector type: Windows 8/2012: FAT32
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /EFI/Boot/bootx64.efi /EFI/ubuntu/MokManager.efi
/EFI/ubuntu/fwupx64.efi /EFI/ubuntu/grubx64.efi
/EFI/ubuntu/shimx64.efi
/EFI/Microsoft/Boot/bootmgr.efi
/EFI/Microsoft/Boot/memtest.efi /bootmgr
sda3:______________________________________________________________________
File system: ntfs
Boot sector type: Windows 8/2012: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files:
sda4:______________________________________________________________________
File system: ntfs
Boot sector type: Windows 8/2012: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /Windows/System32/winload.exe
sda5:______________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System: Ubuntu 16.04.1 LTS
Boot files: /boot/grub/grub.cfg /etc/fstab
sda6:________________________________________________________________________
File system: swap
Boot sector type: -
Boot sector info:
sda7: ______________________________________________________________________
File system: ntfs
Boot sector type: Windows 8/2012: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files:
sda8:______________________________________________________________________
File system:
Boot sector type: -
Boot sector info:
Mounting failed: mount: unknown filesystem type ''
sda9: ______________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System:
Boot files:
============================= 驱动器/分区信息: ==============================
Drive: sda _____________________________________________________________________
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Partition Boot Start Sector End Sector # of Sectors Id System
/dev/sda1 1 250,069,679 250,069,679 ee GPT
GUID Partition Table detected.
Partition Attrs Start Sector End Sector # of Sectors System
/dev/sda1 R 2,048 2,099,199 2,097,152 Windows Recovery Environment (Windows)
/dev/sda2 2,099,200 2,303,999 204,800 EFI System partition
/dev/sda3 2,304,000 2,566,143 262,144 EFI System partition
/dev/sda4 2,566,144 149,889,023 147,322,880 Data partition (Windows/Linux)
/dev/sda5 149,889,024 189,889,023 40,000,000 Data partition (Linux)
/dev/sda6 196,952,064 213,575,679 16,623,616 Swap partition (Linux)
/dev/sda7 R 213,575,680 233,292,255 19,716,576 Windows Recovery Environment (Windows)
/dev/sda8 R 233,292,256 250,069,471 16,777,216 Intel Fast Flash (iFFS) partition (for Intel Rapid Start technology)
/dev/sda9 189,890,560 196,952,063 7,061,504 Data partition (Linux)
Attributes: R=Required, N=No Block IO, B=Legacy BIOS Bootable, +=More bits set
您能帮我找到修复 windows10 启动问题并将其添加到实际的 ubuntu 的 grub 列表中吗?
提前致谢!
答案1
如果您说您在 USB 驱动器上安装了 Windows 10,并且想要为该 USB 添加 GRUB 菜单项,那么本文可能会有所帮助:
您将找到驱动器的 GUID,blkid
并将其添加到您的/etc/grub.d/40_custom
文件中。
其中还提到,插入 USB 并启动 Ubuntu 并运行sudo update-grub
也可能有效。
答案2
你的EFI 系统分区(ESP;/dev/sda2
对您而言)似乎没有 Windows 引导加载程序文件,EFI/Microsoft/Boot/bootmgfw.efi
。您应该在 Ubuntu 中检查它是否只是您提供的引导信息脚本摘录中的一个遗漏。(在 Ubuntu 中,文件应该是/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
- 但请注意,ESP 使用不区分大小写的 FAT,因此从开始的所有内容EFI
都可能因大小写而异)。
如果此分析正确,则说明有东西删除了该bootmgfw.efi
文件,您必须恢复它。如果您有备份,这可能是最简单的恢复方法——只需恢复该文件,或者更好的是,EFI/Microsoft
从 ESP 恢复整个目录树。如果您没有备份,则需要使用 Windows 恢复工具。可能有一个好的、简洁的 Windows 特定程序可以执行此操作,但我没有任何此类程序的指示。如果您找不到其他内容,请检查这里。这是将 Windows 从 BIOS 模式转换为 EFI 模式启动过程的一部分,因此这并不是您需要做的;但标题为“复制 Windows 启动文件”(您需要从 Windows 安装 DVD 复制)、“启动到 Linux”和“设置 UEFI 系统分区”的部分应该完成这项工作。(请注意,Ubuntu 将 ESP 安装在/boot/efi
,因此您不需要按照该页面的说明进行安装,但您需要适当调整路径。)此外,您需要重新运行update-grub
以使 GRUB 注意到新恢复的 Windows 引导加载程序。