csmwrap icon indicating copy to clipboard operation
csmwrap copied to clipboard

Running CSMWrap for WinXP 32-bit or other OS's that do not support GPT

Open Gelip opened this issue 6 months ago • 7 comments

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:

Image

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 avatar Jun 03 '25 02:06 Gelip

@Gelip Does Win2003 work? I think it starts to support GPT partition.

ghostplant avatar Jun 03 '25 06:06 ghostplant

@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 avatar Jun 03 '25 16:06 aroenai

@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/

ghostplant avatar Jun 03 '25 17:06 ghostplant

@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/

Image

Gelip avatar Jun 04 '25 05:06 Gelip

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.

mintsuki avatar Jun 04 '25 08:06 mintsuki

Regardless of CSMWarp, booting 2003 from GPT disk indeed works in UEFI Class3-only environment that has dropped CSM support.

ghostplant avatar Jun 04 '25 08:06 ghostplant

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.

FlyGoat avatar Jun 04 '25 10:06 FlyGoat