在 UEFI 下安装 Windows XP 系统
UEFI 固件引导具有很多 Legacy (就是我们平常说的 BIOS )引导所没有的优点,但是缺点也多,比如不支持老系统。 Windows XP 诞生的时候还没有 UEFI ,所以 Windows XP 本身不被 UEFI 固件支持。于是我在虚拟机上尝试并成功在 UEFI 上安装了 Windows XP 系统,但并未在实体机上尝试。大家如果有兴趣,可以试试用实体机。不要怀疑我用的是 CSM ,我还不知道 VMware 能不能开 CSM 。接下来,我们也让 Windows XP 在 UEFI 固件上运行吧。不说了,先上一张效果图(一些信息已被我用画图软件删除)
工具/原料
支持 UEFI/Legacy 双引导的 Windows 预安装环境( Windows PE )
Windows XP 安装镜像(原版、 ghost 都行)
Windows Longhorn version 5219 安装镜像
Here we go.
安装并使用 UEFI 下引导 Windows XP
1、首先,我们先将引导方式设置为 BIOS/Legacy (别问我为什么,等一下会改回来的。虚拟机改 VMX 或直接在虚拟机设置 -> 选项里改,兼容性选 Windows 8 ;实体机进 BIOS ,把引导方式改成 UEFI )
2、进入 Windows 预安装环境 ( Preinstallation Environment , PE )
3、然后分区。注意此时至少分成两个分区,第一个为 100MB 的 FAT32 的分区(充当 ESP 分区),接下来自己分 NTFS 分区。分区表不用转 GPT 。因为 Windows XP 不支持 GPT , 还要自己找 disk.sys ,很麻烦。有人说 UEFI 需要 GPT , 但是我要纠正一下:是 GPT 一定要 UEFI ,但 UEFI 同样支持 MBR ,只要有 FAT 分区就可以引导。比如像这样分区:( Disk Genius 的广告已被画图去除)
4、在刚刚分出来的 NTFS 分区上正常安装 Windows XP 系统。激活这个 NTFS 分区并重启,确认可以进入系统。
5、打开 Windows Longhorn version 5219 安装镜像中的 install.wim (可以试试 7-zip),找到并提取 \Boot\EFI\Microsoft\BootMgr\bootmgfw.efi 和 \Windows\System32\winload.efi ,如果真的有想要用 GPT 的,在网上自己找 Windows Server 2003 的 disk.sys
6、将系统引导类型改为 UEFI ,并再次启动到 Windows 预安装环境(Windows PE)
7、打开预留的 100MB FAT32 分区,新建目录 \EFI\Boot\ ,把刚才的 bootmgfw.efi 重命名为 bootia32.efi 放在这个目录里;打开刚才装了 Windows XP 的 NTFS 分区,把 winload.efi 拷贝到 \Windows\System32\ ,并把根目录下的 boot.ini 和 ntldr 拷贝到预留的 FAT32 分区的根目录。
8、打开 FAT32 分区根目录下的 boot.ini ,添加以下参数:NOBCD/usenewloader
9、好,重启并等待。然后你会看到 UEFI 界面过后, Windows XP 图标在黑色的界面上显现——恭喜你,成功在 UEFI 下引导了 Windows XP !
给 Windows XP 的引导添加专门的引导项
1、各种电脑的操作可能会不一样,我这里用 VMware 的 UEFI 界面做演示。在 UEFI 上进入Enter setup -> Configure boot options -> Add boot option
2、找到一个带 HD 的选项,选中并点进去
3、依次选择<EFI><Boot>bootia32.efi
4、Input the description 一项自己打入想要的启动项名称;Input optional data 不用打。然后点 Commit changes and exit
5、返回后打开 Configure boot options -> Change boot order把你刚才设置的选项移到最上面。然后点击 Commit changes and exit
6、然后 Boot normally 即可。