用 Clover 在 bios 机子上模拟 uefi 安装 Windows 2022 系统

继上一篇:《grub2 + 虚拟磁盘 或 grub2 + ntboot 启动 bios + gpt 上的 Windows 2022》,因为网友反馈用方案A和B的Windows系统安装关键更新失败,这里实验方案D:用 clover 在 bios 机上模拟 uefi,让Windows以为这就是uefi启动的。

过程:

  1. 将分好区的虚拟磁盘 win2022.vhd 挂到 debian 11 的虚拟机里,准备安装 clover
  2. 如下载到当前最新版本 Clover-5145-X64.iso.7z,解压后 Clover-5145-X64.iso
  3. mount -o loop Clover-5145-X64.iso /mnt/iso # 挂载iso文件
  4. dd if=/dev/sdb2 of=/tmp/origPBR bs=512 count=1 conv=notrunc # 假如 win2022.vhd 上的 esp 分区为 /dev/sdb2
  5. cp /mnt/iso/usr/standalone/i386/boot1f32 /tmp/newPBR
  6. dd if=/tmp/origPBR of=/tmp/newPBR skip=3 seek=3 bs=1 count=87 conv=notrunc
  7. dd if=/tmp/newPBR of=/dev/sdb2 bs=512 count=1 conv=notrunc
  8. dd if=/mnt/iso/usr/standalone/i386/boot0ss of=/dev/sdb bs=440 count=1 conv=notrunc
  9. mount /dev/sdb2 /mnt/1 # 将 esp 分区挂载到 /mnt/1
  10. cp -r /mnt/iso/efi /mnt/1/ # 复制efi目录到esp分区
  11. cp /mnt/iso/usr/standalone/i386/x64/boot6 /mnt/1/boot
  12. 如果仅启动Windows,可编辑配置文件 /mnt/1/EFI/clover/config.plist ,内容如下:

    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
     <key>Boot</key>
     <dict>
         <key>DefaultVolume</key>
         <string>EFI</string>
         <key>DefaultLoader</key>
         <string>\efi\Microsoft\Boot\bootmgfw.efi</string>
         <key>Fast</key>
         <true/>
     </dict>
     <key>GUI</key>
     <dict>
         <key>Custom</key>
         <dict>
             <key>Entries</key>
             <array>
                 <dict>
                     <key>Hidden</key>
                     <false/>
                     <key>Disabled</key>
                     <false/>
                     <key>Image</key>
                     <string>os_win</string>
                     <key>Volume</key>
                     <string>EFI</string>
                     <key>Path</key>
                     <string>\efi\Microsoft\Boot\bootmgfw.efi</string>
                     <key>Title</key>
                     <string>Windows 2022</string>
                     <key>Type</key>
                     <string>Windows</string>
                 </dict>
             </array>
         </dict>
     </dict>
    </dict>
    </plist>
  13. clover安装好后,释放Windows 2022,添加引导等操作和前边的方案A差不多
  14. 在VirtualBox里的bios虚拟机启动,可以正常安装Windows及进行更新。在系统信息中显示为UEFI类型

在一台线上超微atom C2750的机子上测试,失败,clover未能启动,报错:

X64 Exception type - 0000000000000000D !!!
RIP - 000000007D34F7C5, CS - 00000000000038, RFLAGS - 00000000010206
ExceptionData - 000000000000000

bios-gpt-5.png

bios-gpt-6.png

参考:

标签: none

添加新评论