作为我的 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 模式
解决:
- Windows 10 安装介质→ 在另一台电脑上安装 → 保存 ISO
- 使用以下方式创建可启动 USB鲁弗斯→ 重启 → 在 UEFI 固件中禁用 CSM 模式
- 启动 Windows 安装 USB → 当 GUI 加载时,通过Shift+打开终端F10
- 使用
mbr2gpt
将分区表转换为 GPT:- 确定操作系统磁盘号:
DiskPart
→lis disk
→exit
-
mbr2gpt /convert /disk:#
- 确定操作系统磁盘号:
- 创建必需UEFI 启动通过
DiskPart
:DiskPart
→lis disk
→sel dis #
→ 验证它是否是操作系统磁盘:lis par
- 删除旧的启动分区:
sel par #
→ 验证:det par
→del par override
- 确定磁盘布局:
lis par
(最佳分区布局:WinRE、EFI、MSR、OS) - 添加必要的 UEFI 分区:
- 温瑞:
选择操作系统分区: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
- 电喷和磁共振:
选择操作系统分区: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
- 温瑞:
- 获取操作系统分区驱动器号:
lis vol
→exit
(C:
通常不是 WinPE/WinRE 中的操作系统驱动器号)
- 配置EFI启动:
删除 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
DiskPart
→Sel Vol Y
→Remove
→Exit
- 通过重新启动
wpeutil reboot
,然后配置温瑞重新启动 Windows 后:- 打开行政终端:+R→打开:
powershell
→CTRL+SHIFT+好的 - 通过以下方式挂载 WinRE 分区
DiskPart
:lis vol
→sel vol #
→ 验证:det par
→Assign Letter=Z
→Exit
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
-
# 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"
- 删除 WinRE 挂载点:
DiskPart
→sel vol z
→remove
→exit
- 打开行政终端:+R→打开: