Rufus is a very clever Windows utility that will make a bootable USB drive from a bootable ISO file. It is open source and supports EFI booting as well as the normal MBR booting.
It can be used to make an XP install USB drive from an XP ISO.
The only downside to Rufus is that it does not create a multiboot USB drive - it is not designed to do this - it is intended to create a bootable USB drive from a bootable ISO and it does this well.
If you use Rufus to make an NTFS USB XP install drive - you will find that you can install XP onto a system's internal hard drive in two stages:
Always test the USB drive that is made by Rufus on a real system - it may not work on a virtual machine (e.g. 'EULA not found' or may crash!).
The NTFS XP install USB drive that Rufus makes has a bespoke Master Boot Record (MBR) which prompts the user to press a key to boot from the USB drive and then swaps over hd0 with hd1 so that XP is installed to the internal hard disk.
The 'boot chain' for Rufus is like this:
Once you have made a Rufus XP install USB drive, you can copy over the XP install files to your grub4dos multiboot USB drive as follows:
1. Copy the entire \i386 folder to \i386 on your multiboot drive
2. Copy the following files to the root of your multiboot drive:
3. Use the following menu entry in your menu.lst file:
Test the grub4dos USB multiboot drive on a real system (not a virtual machine (unmountable boot volume) or QEMU (can't find EULA)). After the first copyfiles stage has completed, allow the system to reboot from the internal hard disk (but keep the multiboot USB drive connected).
If you need to load a mass storage txtsetup.oem (F6) floppy disk image (so that you can press F6 during Setup and install an AHCI driver or RAID driver for instance) then add the floppy image using the menu below:
For XP 32-bit Intel AHCI drivers, you can use the winvblock.ima.gz file from the Beta Downloads page.
If you wish you can move the rufus.ntldr file to the i386 folder on your USB drive and change the last line in the menu accordingly.
You can also move the txtsetup.sif file to the \i386 folder and overwrite the old one that is already there.