在 SSD + HDD 系统上安装 Ubuntu 后安装 Win 10 - \EFI\Microsoft\Boot\grubx64.efi 丢失

在 SSD + HDD 系统上安装 Ubuntu 后安装 Win 10 - \EFI\Microsoft\Boot\grubx64.efi 丢失

我在 SSD(gpt)上安装了 Ubuntu(UEFI)。我决定在 HDD 上安装 Win 10(我也用它来存储数据)。我在格式化 HDD(gpt)后安装了它,但重启时出现以下错误(尝试启动 Windows 时)

启动错误 1

然后我重启并启动到 Ubuntu,在那里我运行了启动修复。这在 GRUB 引导加载程序中提供了一个 Windows 启动管理器条目,但当我单击它时,我收到以下错误

启动错误 2

我的磁盘分区如下

sudo fdisk -l

Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 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
Disk identifier: 6A5AE417-00FC-48A5-9E45-EE3DD51E1214

Device      Start       End   Sectors  Size Type
/dev/sda1    2048    514047    512000  250M EFI System
/dev/sda2  514048 900214783 899700736  429G Linux filesystem


Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 5A1E50F1-0809-4308-BBF4-657E23735BA6

Device          Start        End    Sectors   Size Type
/dev/sdb1        2048      34815      32768    16M Microsoft reserved
/dev/sdb2       34816  419944447  419909632 200.2G Microsoft basic data
/dev/sdb3  1936748544 1953523711   16775168     8G Linux swap
/dev/sdb4   419944448 1936748543 1516804096 723.3G Linux filesystem

Partition table entries are not in disk order.

我搜索了一下,发现例如此主题。我要在那里尝试答案吗?

更新:这是启动修复的日志

 Boot Info Script cfd9efe + Boot-Repair extra info      [Boot-Info 26Apr2016]


============================= Boot Info Summary: ===============================

 => Grub2 (v1.99-2.00) is installed in the MBR of /dev/sda and looks at sector 
    428568872 of the same hard drive for core.img, but core.img can not be 
    found at this location.
 => No boot loader is installed in the MBR of /dev/sdb.
 => No boot loader is installed in the MBR of /dev/sdc.

sda1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /EFI/Boot/bootx64.efi /EFI/ubuntu/fwupx64.efi 
                       /EFI/ubuntu/grubx64.efi /EFI/ubuntu/mmx64.efi 
                       /EFI/ubuntu/shimx64.efi 
                       /EFI/Microsoft/Boot/bootmgfw.efi 
                       /EFI/Microsoft/Boot/bootmgr.efi 
                       /EFI/Microsoft/Boot/bootx64.efi 
                       /EFI/Microsoft/Boot/memtest.efi

sda2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 17.04
    Boot files:        /boot/grub/grub.cfg /etc/fstab

sdb1: __________________________________________________________________________

    File system:       
    Boot sector type:  -
    Boot sector info: 
    Mounting failed:   mount: unknown filesystem type ''

sdb2: __________________________________________________________________________

    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

sdb3: __________________________________________________________________________

    File system:       swap
    Boot sector type:  -
    Boot sector info: 

sdc1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /efi/boot/bootx64.efi /efi/microsoft/boot/cdboot.efi 
                       /efi/microsoft/boot/cdboot_noprompt.efi 
                       /efi/microsoft/boot/memtest.efi /bootmgr /boot/bcd

============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________
Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 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 1,000,215,215 1,000,215,215  ee GPT


GUID Partition Table detected.

Partition  Attrs   Start Sector    End Sector  # of Sectors System
/dev/sda1                 2,048       514,047       512,000 EFI System partition
/dev/sda2               514,048   900,214,783   899,700,736 Data partition (Linux)

Attributes: R=Required, N=No Block IO, B=Legacy BIOS Bootable, +=More bits set

Drive: sdb _____________________________________________________________________
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdb1                   1 1,953,525,167 1,953,525,167  ee GPT


GUID Partition Table detected.

Partition  Attrs   Start Sector    End Sector  # of Sectors System
/dev/sdb1   +             2,048        34,815        32,768 Microsoft Reserved Partition (Windows)
/dev/sdb2                34,816   419,944,447   419,909,632 Data partition (Windows/Linux)
/dev/sdb3         1,936,748,544 1,953,523,711    16,775,168 Swap partition (Linux)

Attributes: R=Required, N=No Block IO, B=Legacy BIOS Bootable, +=More bits set

Drive: sdc _____________________________________________________________________
Disk /dev/sdc: 29.5 GiB, 31610372096 bytes, 61739008 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/sdc1                   1    61,739,007    61,739,007  ee GPT


GUID Partition Table detected.

Partition  Attrs   Start Sector    End Sector  # of Sectors System
/dev/sdc1                 2,048    61,736,959    61,734,912 Data partition (Windows/Linux)

Attributes: R=Required, N=No Block IO, B=Legacy BIOS Bootable, +=More bits set

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/sda1        4E12-B74E                              vfat       
/dev/sda2        a6b6740f-2439-4aae-86f2-65584630d5c2   ext4       
/dev/sdb1                                                          
/dev/sdb2        7CD26914D268D3C4                       ntfs       
/dev/sdb3        e9bc1d49-2b7b-4815-b506-cc19644b193e   swap       
/dev/sdc1        910B-04A2                              vfat       WUSB2236

========================= "ls -l /dev/disk/by-id" output: ======================

total 0
lrwxrwxrwx 1 root root  9 Sep  7 19:27 ata-HGST_HTS721010A9E630_JR1000D30HSXPF -> ../../sdb
lrwxrwxrwx 1 root root 10 Sep  7 19:27 ata-HGST_HTS721010A9E630_JR1000D30HSXPF-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Sep  7 19:28 ata-HGST_HTS721010A9E630_JR1000D30HSXPF-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Sep  7 19:27 ata-HGST_HTS721010A9E630_JR1000D30HSXPF-part3 -> ../../sdb3
lrwxrwxrwx 1 root root  9 Sep  7 19:27 ata-SAMSUNG_MZNTN512HDJH-00000_S36ANYAH700063 -> ../../sda
lrwxrwxrwx 1 root root 10 Sep  7 19:27 ata-SAMSUNG_MZNTN512HDJH-00000_S36ANYAH700063-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Sep  7 19:27 ata-SAMSUNG_MZNTN512HDJH-00000_S36ANYAH700063-part2 -> ../../sda2
lrwxrwxrwx 1 root root  9 Sep  7 19:27 usb-ADATA_USB_Flash_Drive_22B2011361270092-0:0 -> ../../sdc
lrwxrwxrwx 1 root root 10 Sep  7 19:27 usb-ADATA_USB_Flash_Drive_22B2011361270092-0:0-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  9 Sep  7 19:27 wwn-0x5000cca8c8c72b61 -> ../../sdb
lrwxrwxrwx 1 root root 10 Sep  7 19:27 wwn-0x5000cca8c8c72b61-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Sep  7 19:28 wwn-0x5000cca8c8c72b61-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Sep  7 19:27 wwn-0x5000cca8c8c72b61-part3 -> ../../sdb3
lrwxrwxrwx 1 root root  9 Sep  7 19:27 wwn-0x5002538d00163d10 -> ../../sda
lrwxrwxrwx 1 root root 10 Sep  7 19:27 wwn-0x5002538d00163d10-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Sep  7 19:27 wwn-0x5002538d00163d10-part2 -> ../../sda2

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/sda1        /boot/efi                vfat       (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/sda2        /                        ext4       (rw,relatime,errors=remount-ro,data=ordered)
/dev/sdc1        /media/bogdan/WUSB2236   vfat       (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)


=========================== sda2/boot/grub/grub.cfg: ===========================

还没有发布整个内容,因为它太长了,而且声誉不到 10,我无法提供更多链接

答案1

完整的 Boot Repair 输出会很有帮助。尝试将其发布到pastebin 网站并在此发布 URL。

我能说的是:

  • 有证据表明 Linux 既有 BIOS/CSM/传统模式,也有 EFI/UEFI 模式安装。这很令人困惑,也使诊断变得复杂。在 GPT 磁盘上与 Windows 进行双启动时,为简单起见,两个操作系统都应以 EFI 模式启动。最好完全禁用固件中的兼容性支持模块 (CSM) 可简化启动路径。请参阅我的这个页面了解有关此主题的更多信息。
  • 您说,当您从 GRUB 菜单中选择 Windows 时,您会收到“无法打开”和“无法加载映像”消息,这两条消息都与有关grubx64.efi。这些消息来自 Shim,它是用于处理安全启动的 Linux 工具。Shim 通常不应该存在于EFI/Microsoft/BootEFI 模式 Windows 引导加载程序所在的目录中;也不应该grubx64.efi存在于 Shim 启动的 GRUB 二进制文件,这些错误消息中提到了这一点。我最好的猜测是,您使用了 Boot Repair 选项来备份和替换 Windows 引导加载程序,但随后做了其他事情(可能使用了 Windows 引导修复工具),损坏了本来应该放在那里的 GRUB 副本。

你可以尝试的一件事是把我的rEFInd 启动管理器放在 USB 闪存驱动器或 CD-R 上并从中启动。(这可能需要禁用安全启动。)如果设置正确,rEFInd 应该能够让您启动 Windows 或 Ubuntu。如果这有效,您可以使用其 Debian 包或 PPA 将 rEFInd 安装到硬盘上。如果 rEFInd 没有帮助,那么也许它至少可以更好地了解已安装的内容。(rEFInd 主菜单上的每个图标都应该有一个描述,该描述可以是通用引导加载程序的标准描述或文件名。将描述或文件名与您选择启动选项时发生的情况配对将揭示很多有关计算机配置的信息。)

您还可以尝试运行更多启动修复工具。我会先使用 Windows 工具启动 Windows。在 Windows 专用论坛上寻求建议可能会有所帮助。Windows 启动后,您可以再次运行 Boot Repair 或使用 rEFInd 启动系统。请注意,您必须从EFI模式启动你的系统。大概最好也不要使用高级选项,尽管在极少数情况下,它们对于解决有缺陷的 EFI 或执行高级操作是必要的。

相关内容