csmwrap
csmwrap copied to clipboard
Running CSMWrap for WinXP 32-bit or other OS's that do not support GPT
CSMWrap - and any UEFI application you can boot from a FAT32 partition on an MBR drive (hard disk or USB stick) - it doesn't necessarily have to be an ESP partition on a GPT drive. WinXP 32-bit not support GPT that's why it's best to make a FAT32 100MB partition on the hard disk and install the system on the second NTFS partition. XP can be booted using winload.exe with Longhorn 5472 therefore the need to prepare the hard drive using diskpart in WinPE 3.1 or later this way:
- boot Windows 7 or newer installer
- press Shift+F10 to run CMD
- run diskpart and prepare hard disk
list disk
sel disk x
clean
create par pri size=100
format fs=fat32
create par pri size=10240
active
format fs=ntfs quick label="OS"
exit
x is hard disk number to prepare, NTFS par is 10GB but you can adjust this
On a FAT32 partition, place the UEFI Shell in EFI\Boot\bootx64.efi for 64-bit UEFI or bootia32.efi for 32-bit UEFI and csmwrapx64.efi or csmwrapia32.efi anywhere on the same partition, e.g. in the root directory. This is important because the UEFI application may not work or malfunction running from EFI\Boot\bootx64.efi or bootia32.efi location - then UEFI Shell is helpful:
UEFI Shell x64: https://github.com/tianocore/edk2/blob/UDK2018/EdkShellBinPkg/FullShell/X64/Shell_Full.efi UEFI Shell x86: https://github.com/tianocore/edk2/blob/UDK2018/EdkShellBinPkg/FullShell/Ia32/Shell_Full.efi
@Gelip Does Win2003 work? I think it starts to support GPT partition.
@Gelip Does Win2003 work? I think it starts to support GPT partition.
GPT partitions are supported starting with Server 2003 SP1, but booting is only supported on 64-bit Itanium according to the documentation.
@aroenai I don't think so, x64 also works even without CSMWarp. The very early solution had already proved GPT booting for 2K3 working without any special things needed to do. I had tried it few years ago using VirtualBox which provides fully UEFI-x64 class 3. See https://www.bilibili.com/video/BV1DG41177tD/
@FlyGoat Yea, I test XP 32-bit with disk.sys and partmgr.sys from 2k3 on GPT but this works only in UEFI 32-bit or UEFI DUET 32-bit - CSMWrap is no needded because Windows not support boot from GPT in Legacy mode: https://forums.mydigitallife.net/threads/winxp-32-bit-on-a-modern-pc-iso-boot-wim-install-wim.88834/page-3#post-1877906 https://youtu.be/CA_IEMb-m08
XP 64-bit also support GPT in UEFI 64 but I use UEFI Longhorn 16497 loader: https://forums.mydigitallife.net/threads/winxp-64-bit-on-a-modern-pc-iso-boot-wim-install-wim.88435/
It is important to note that, by spec, UEFI must support MBR, and it is recommended to place the csmwrap.efi executable on an MBR FAT partition on the same disk as the legacy OS you're trying to boot.
In general, GPT support in the legacy OS is not a concern of CSMWrap.
Regardless of CSMWarp, booting 2003 from GPT disk indeed works in UEFI Class3-only environment that has dropped CSM support.
I think this is already refleted in https://github.com/FlyGoat/CSMWrap/wiki/Partitioning-and-Boot-Scenarios? Feel free to edit wiki if you fell there is a problem.