缺少 Windows 启动选项

缺少 Windows 启动选项

我曾尝试在我的计算机上安装 ElementaryOS,但却意外地擦除了我的启动分区。

我已经成功安装了 Elementary OS(0.6 Odin,尽管这并不重要)。现在,我的 grub 只显示 Elementary,我无法进入 Windows。

我尝试过以下过程(os-prober没有做任何有用的事情):

运行parted -l结果如下:

Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                          Flags
 1      1049kB  473MB  472MB   ntfs         Basic data partition          hidden, diag
 3      577MB   593MB  16.8MB               Microsoft reserved partition  msftres
 4      593MB   157GB  157GB   ntfs         Basic data partition          msftdata
 5      157GB   158GB  541MB   ntfs                                       hidden, diag
 2      158GB   158GB  294MB   fat32        NO NAME                       boot, esp
 6      158GB   250GB  91.9GB  ext4         elementary OS

我知道那sda2是我创建的新启动分区。sda4是 Windows 10 的分区吗?sda5是恢复分区吗?(我真的不确定)。

我尝试通过添加以下行将sda5和添加到我的 GRUB 中:sda4/etc/grub.d/40_custom

#!/bin/sh
exec tail -n +3 $0
menuentry "Windows 10 Recovery" --class windows --class os {
    insmod part_msdos   
    insmod ntfs
    set root='(hd0,msdos4)'
    search --no-floppy --fs-uuid --set=root EE92464E92461C09
    chainloader +1
}

menuentry "Windows 10" --class windows --class os {
    insmod part_msdos   
    insmod ntfs
    set root='(hd0,msdos4)'
    search --no-floppy --fs-uuid --set=root 28981AAB981A7790
    chainloader +1
}

使用后:

> sudo blkid /dev/sda4
/dev/sda4: UUID="28981AAB981A7790" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="09b51487-4e98-458a-9a50-0a4470e4f844"

> sudo blkid /dev/sda5
/dev/sda5: UUID="EE92464E92461C09" TYPE="ntfs" PARTUUID="6805dc0a-c750-4ef6-a06d-f41ad4ab3f2a"

当然,我跑了sudo update-grub

然而,我得到了一个错误:“无效的 EFI 文件路径”当尝试从这些新条目启动时。

另外,安装新的启动分区并运行ls会产生以下结果:

EFI
-> BOOT
-> ubuntu

意思是,我没有 Windows(和 Windows 恢复)启动项。

我真的不想重新安装我的 Windows 和 Elementary。但是我不知道如何解决这个问题。

答案1

+1要求“chainloader”命令加载分区的第一个扇区。但是您的计算机使用 EFI 固件——它不使用引导扇区,因此“+1”根本没有任何用处。相反,“chainloader”命令的参数必须是包含*.efi引导加载程序的可执行文件的路径。

Windows 始终将其引导加载程序安装在\EFI\Microsoft\Boot\bootmgfw.efi(相对于 EFI 系统分区的根目录,不是主 Windows 分区,因此您也不应该使用“set root”)。

(“part_msdos”位也是不正确的,因为你的磁盘有一个 GPT 分区表。基本上全部的自定义菜单项特定于 BIOS 系统,不适用于您的 EFI 机器。)

由于您已经删除了旧分区 - 从 Windows 安装 CD(或 USB 记忆棒)启动,按 Shift+F10 打开控制台窗口,然后使用命令bcdboot c:\windows重新安装 Windows 引导加载程序 - 它将复制所有必要的文件,重建“BCD”配置文件,并添加 EFI 启动条目。

(如果使用 Rufus 创建 Windows USB 记忆棒,请确保选择 UEFI 模式,因为它只能执行其中一种。)

相关内容