在装有 Windows 10 Pro 的定制 PC 上支持安全启动

在装有 Windows 10 Pro 的定制 PC 上支持安全启动

作为我的 Windows 11 升级活动的一部分,MS 说我的电脑不支持安全启动. msinfo32.exe 也确认了一些事情: msinfo32 快照

奇怪的是,当我进入 BIOS 时,它显示安全启动状态:“已启用”: BIOS 安全启动菜单快照

因此我假设还需要设置其他 BIOS 设置。

然后,我尝试了这个安全启动菜单的几个组合值(通过更改操作系统类型:“其他操作系统”更改为“Windows UEFI 模式”),并在 CSM 菜单中: BIOS CSM 菜单快照

但每当我更改CSM\启动 CSM设置为“已禁用”(无论安全启动\操作系统类型值如何)或“自动”安全启动\操作系统类型=“Windows UEFI 模式”。所有其他组合似乎对安全启动没有任何影响。


我没有乱用安全启动\密钥管理(我是不是该?...): BIOS 安全启动密钥管理快照


进一步挖掘后,我发现一个超级用户的帖子,其中指出:

如果操作系统是在 CSM 下安装的,它会认为这台机器不兼容 UEFI,并以传统模式安装。如果切换到 UEFI,它将无法启动,因为这不是 UEFI 加载程序期望看到的。如果系统是在 UEFI 下安装的,它会检测到这一点并配置 BIOS,因此如果您随后切换到 CSM,它将无法启动,因为这不是传统 BIOS 加载程序期望看到的。可以将系统配置为以任何一种方式启动,但这不是很容易,我不知道如何在 Windows 中执行此操作。

由于我有一台定制的机器,其中我使用大部分 BIOS 默认设置安装了 Windows 10,所以我现在怀疑我的 Windows 是在 CSM 下安装的。


那么,有没有一种简单的方法(比如,通过调整 BIOS)来支持安全启动,而无需重新安装 Windows 10?


编辑:
实际分区布局


Windows 10 Pro,64 位 (21H1)
M/B Asus Prime Z370-P
RAM:16GB 板载
英特尔 i7 8700 GPU(英特尔 630) Broadcom 802.11ac PCIe Sound Blaster X-Fi Xtreme Audio PCIe




答案1

CSM 模式应该绝不已启用操作系统,因为其唯一目的是支持 2017 年前尚不支持 EFI 启动的发行版(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 diskexit
    2. mbr2gpt /convert /disk:#
      

  5. 创建必需UEFI 启动通过DiskPart
    1. DiskPartlis disksel dis #→ 验证它是否是操作系统磁盘:lis par
    2. 删除旧的启动分区:sel par #→ 验证:det pardel par override
    3. 确定磁盘布局:lis par (最佳分区布局:WinRE、EFI、MSR、OS)
    4. 添加必要的 UEFI 分区:
      1. 温瑞
        选择操作系统分区:sel par 1→验证其是否为操作系统分区:det par
        Shrink Desired=665 minimum=650
        Cre Par Pri Size=665 Id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
        Format Quick Fs=NTFS Label=WinRE
        Gpt Attributes=0x8000000000000001
        
      2. 电喷磁共振
        选择操作系统分区:sel par 2→验证其是否为操作系统分区: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
        
    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
    
    删除 EFI 挂载点:DiskPartSel Vol YRemoveExit

  7. 通过重新启动wpeutil reboot,然后配置温瑞重新启动 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:
        Xcopy "C:\Mount\Windows\System32\Recovery\WindowsRE\WinRE.wim" "C:"
        # If hidden file: Xcopy /H
      
      # Unmount image, discard changes:
        Dism /Unmount-Image /MountDir:"C:\Mount" /Discard
      
    4. # Copy WinRE.wim:
        MkDir "Z:\Recovery\WindowsRE" ; Xcopy "C:\WinRE.wim" "Z:\Recovery\WindowsRE"
      
      # 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

相关内容