我有 UEFI 固件,但 Windows 说我有 Legacy Boot

我有 UEFI 固件,但 Windows 说我有 Legacy Boot

我正在尝试获取需要 EFI 启动的 Windows 11,但是,当我在 Windows 中检查系统信息时,它说我有 Legacy 启动:屏幕截图1

  • 检查 UEFI 固件设置 [技嘉主板] 时,它显示我有 UEFI 启动:截图2

我是否有 EFI 启动?如果没有,我该如何获取它?

答案1

当前的 Windows 10 安装要么是在之前使用 BIOS 主板时进行的映像安装,要么是在 UEFI 固件设置中启用了 CSM 模式的情况下错误安装的 Windows:

  • CSM 模式应该绝不已启用操作系统, 就像它一样唯一的目的是为了支持 2017 年左右尚不支持 EFI 启动的发行版 [BSD/Linux](Windows ≥7 支持 EFI 启动);CSM 模式在 32 位环境中模拟 BIOS 的 16 位架构,这样做会导致性能下降(启动时间增加 400%+、无法使用 GPT 等)
    • 唯一原因启用 CSM 模式是在需要访问旧版 OP[tion] ROM 时,一旦在 OP ROM 中完成,就应该重新禁用 CSM 模式

解决:

  1. Windows 10 安装介质→ 在另一台电脑上安装 → 保存 ISO
  2. 使用以下方式创建可启动 USB鲁弗斯→ 重启 → 在 UEFI 固件中禁用 CSM 模式
  3. 启动 Windows 安装 USB → 当 GUI 加载时,通过Shift+打开终端F10
  4. 使用mbr2gpt将操作系统磁盘的分区表转换为 GPT:
    1. 确定操作系统磁盘号:DiskPartlis disexit
    2. mbr2gpt /convert /disk:#
      

  5. 创建必需UEFI 启动通过DiskPart
    1. DiskPartlis dissel dis #→ 验证它是否是操作系统磁盘:lis par
    2. 删除旧的启动分区:sel par #→ 验证:det pardel par override
    3. 确定磁盘布局:lis par (最佳分区布局:ESP、MSR、OS、WinRE)
    4. 添加必要的 UEFI 分区:
      1. 电喷磁共振
        选择操作系统分区:sel par 1→验证:det par
        Shrink Desired=388 Minimum=388
        Cre Par EFI Size=100
        Format Quick Fs=FAT32 Label=EFI
        Assign Letter=Y
        Cre Par Msr Size=16
        
      2. 温瑞
        选择操作系统分区:sel par 3→验证:det par
        Shrink Desired=768 minimum=750
        Cre Par Pri Size=768 Id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
        Format Quick Fs=NTFS Label=WinRE
        Gpt Attributes=0x8000000000000001
        
        • 从 Win10 开始v2004,WinRE 是违约位于 OS 分区之后(之前的默认值:WinRE、ESP、MSR、OS),因为Winre.wim随着操作系统版本更新而增长,目前在 Windows 11 上已超过 400MB;因此,WinRE 分区应该有 ~300MB 的可用空间来吸收未来的大小增长
          • 有一种方法可以本机缩小分区,将未分配的空间放在分区末尾,但我不确定 Windows 安装程序在两年一次的版本更新期间如何执行此操作 - 如果要这样做,请稍后通过第三方程序移动
          • <v2004:如果Winre.wim原始 WinRE 分区超出容量,则会在 OS 分区后自动创建一个新分区,从而产生两个恢复分区,但只有后者处于活动状态
    5. 获取操作系统分区驱动器号:lis volexit
      C:通常不是 WinPE/WinRE 中的操作系统驱动器号)

  6. 配置EFI启动:
    ::# Create EFI directories and enter:
        MkDir "Y:\EFI\Microsoft\Boot"
        Cd /d "Y:\EFI\Microsoft\Boot"
    
    ::# Create EFI boot structure:
        BootRec /Fixboot
    
        ::# If Access Denied error occurs (C: is OS partition):
            BcdBoot C:\Windows /s C: /f UEFI
    
    ::# Resolve any other boot issues:
        BootRec /FixMBR && BootRec /RebuildBCD
    
    1. 删除 EFI 挂载点:DiskPartSel Vol YRemoveExit

  7. 重启:wpeutil reboot
  8. 配置温瑞重新启动 Windows 后:
    1. 打开行政终端:WinKey+R打开powershellCTRL+SHIFT+好的
    2. 通过以下方式挂载 WinRE 分区DiskPart
      lis volsel vol #→ 验证:det parAssign Letter=ZExit
    3. WinRE.wim从 Windows 安装 USB 中提取sources\install.wim|| .esd
      # Get list of images [indexes] within the ESD/WIM:
        Dism /Get-ImageInfo /ImageFile:"E:\sources\install.wim"
      
      # Mount install.wim||.esd (usually index 1: Home | 6: Pro):
        MkDir "C:\Mount" ; Dism /Mount-Image /ImageFile:"E:\sources\install.wim" /Index:1 /MountDir:"C:\Mount" /ReadOnly
      
      # Copy WinRE.wim:
        MkDir "Z:\Recovery\WindowsRE" ; Xcopy "C:\Mount\Windows\System32\Recovery\WindowsRE\WinRE.wim" "Z:\Recovery\WindowsRE"
        # If hidden file: Xcopy /H
      
      # Unmount image, discard changes:
        Dism /Unmount-Image /MountDir:"C:\Mount" /Discard
      
    4. # Disable WinRE:
        ReAgentC /Disable
      
      # Set Custom WinRE Path:
        ReAgentC /SetREimage /Path "Z:\Recovery\WindowsRE"
      
      # Enable WinRE and verify:
        ReAgentC /Enable ; ReAgentC /Info
      
      # Cleanup:
        Del "C:\WinRE.wim" ; RmDir "C:\Mount"
      
    5. 删除 WinRE 挂载点:DiskPartsel vol zremoveexit

答案2

你的主板有 UEFI 固件,但是当前操作系统未安装 UEFI 支持。

大多数配备 UEFI 固件的 PC 仍支持 BIOS 样式的启动。(这就是屏幕截图中的“CSM 支持”功能 - BIOS 兼容性支持模块。当 CSM 处于活动状态时,固件将显示 UEFIBIOS 启动选项。)

这意味着操作系统可以通过 UEFI 支持进行安装或者使用传统的 MBR 引导扇区(例如,如果您在 F8 引导菜单中选择了错误的选项,或者如果您忘记在 Rufus 中选择“UEFI/GPT”,或者如果整个操作系统磁盘是从较旧的仅 BIOS 系统移动的)。请注意,有些工具仅支持为 BIOS 模式制作 Windows USB 记忆棒;有些工具可以创建双模式 USB 记忆棒 - 进行全新安装时,请确保 F8 菜单在菜单项前面明确列出“UEFI:”。

并且,每当通过 BIOS/CSM 模式启动操作系统时,它将无法访问 EFI 运行时服务,而只能访问旧的 BIOS 功能,就好像它真正在仅 BIOS 的系统上运行一样,这就是 Windows 的“系统信息”将显示的内容。

最近的 Windows 版本有一个mbr2gpt工具,可以将现有的 BIOS 模式安装转换为支持 UEFI 的安装;对于旧版本,可以手动执行相同的操作。

答案3

參考文獻:CSM 启动

这意味着您的 Windows(启动管理器)是在 BIOS/传统模式下安装的。您可以缩小主分区,使用新可用的空间创建一个 EFI 系统分区 (ESP),然后使用 向其中安装 Windows 启动管理器的 UEFI 变体bcdboot.exe

不过,我不确定这是否足以帮助您完成升级(我假设您正在尝试从 Windows 10 升级到 11)。如果仍然不起作用,您可能需要从头开始安装。请确保这次以 UEFI 模式启动安装介质。禁用将CSM support帮助您确保这一点(如果安装介质未正确创建用于 UEFI 启动,则禁用它将阻止您以 BIOS/传统模式启动它以及您现有的安装)。


当然mbr2gpt,如果可行,这是最快/最简单的选择。如果不可行,“从头安装”还包括将主分区存档为映像dism.exe并在使用 GPT 重新分区驱动器后提取的选项。

在 Windows 上准备好可用的 ESP 后,您也可以在 Linux 上转换分区表,尽管这需要更加小心。确保驱动器末尾有一些可用空间,以便备份 GPT 不会覆盖任何分区/文件系统。

答案4

尝试搜索 legacy to uefi。Windows 有一个工具:

mbr2gpt

启动到 cmd(shift restart)

类型:mbr2gpt /validate如果清楚,请按照以下操作

我建议不要mbr2gpt /convert单独运行,而是运行完整的mbr2gpt /convert /disk c: /allowfullos

而不是像上面那样到处乱逛

相关内容