How do I make a live-boot USB stick for WinXP?

I know I can use something like Rufus to make a bootable WinXP installer USB drive, where I boot to the USB that then installs WinXP on the internal harddrive in a computer. Howerver, what I don't know how to do (or even if it's possible) is to make a live-boot USB drive for WinXP. That is to say, a USB drive where WinXP is actually installed on it, so I could boot any computer into WinXP from that USB stick.

One thing I've tried before is to install it into a VHD in VirtualBox, and then raw-write disk disk image to a real USB stick. Unfortunately, when I then try to boot from that USB stick, it ALWAYS gives me the blue-screen very early on in the boot process. I can only assume that WinXP doesn't contain the drivers that an OS would need to boot from a USB stick. Is there any way around this? Are there any drivers I could install into my VHD installation of WinXP that would make it USB bootable?


  • What do you mean by "raw-write disk disk image"? I was thinking to try making an iso of image of the OS and see if you can run from that. I've done that for a virtual machine copy of Windows 10. I don't think it would work to boot from, though you can try, assuming that's not what you already tried.
  • By "raw-write disk image" I mean not just copying files. I mean burning a VHD containing Windows XP fully installed to a USB stick, so it's sector-for-sector accurate, just in case WinXP checks sectors on the drive for validity (so it doesn't kick me out and say it's not properly installed). I accidentally made a typo where I included the word disk twice.

    With that in mind, PLEASE give me a tutorial on booting to Windows XP from a USB stick. There's 3 basic ways an OS can boot. From an IDE drive (WinXP comes with with builtin drivers for this), from an SATA drive (WinXP doesn't contain builtin drivers for SATA boot, but there's an explanation involving 3rd party SATA drivers over at, or from a USB thumbdrive (WinXP doesn't contain drivers that allow a USB boot, and unfortunately NOBODY here seems to know how to do it, as this is the SECOND time I've asked about it, without any answer).

    So PLEASE @Ocampa tell me how to raw-write an installed copy of WinXP to a USB drive, so that I can boot any computer to WinXP by using that USB drive. I need to know where to get the USB boot drivers for WinXP (if such a thing even exists, I don't know). PLEASE help me with this.
  • Yes; why is it that Bart's live CD dies on a memory stick ?
  • Well, I need to apologize to Bart. His live CD can and does work off USB stick.

    It turns out, a few years back, when I spent time with Bart's kit, I managed to make two live .iso that do work from a USB.

    One .iso is XP (Nt 5.1), the other is W3K (NT 5.2). In both I incorporated SATA drivers.

    One machine I booted is a Lenovo T500. BIOS is set to SATA. The hard-drive is the original spinning one. Live USB boots it and functions as Bart's live CD functions.

    The other machine is an HP T520 ThinClient. BIOS is only SATA. The hard-drive is an M.2sata card.
    Bart's live USB boots and functions in RAM (4gb DDR3); but it cannot see the M.2sata hard-drive ---at least mine can't, there is no mSATA driver in it.


    So, get out Bart's kit, gather drivers, and trial & error. Then give us some good report.

    //the USB stick I used is a USB-2, 8gb Kingston DataTraveller 3g, at least 5 years old
  • This morning I tried Bart's live USB stick on Dell e6540. BIOS is set to SATA. This one has a 64gb mSATA card, a 240gb SSD, a 500gb hybrid spinning HD. 8gb DDR3. It requires Fernando's modified SATA driver for XP to function on it.

    Bart's live USB booted it in 25 seconds. It recognized mSATA, SSD, HD. It functioned as Bart's live CD functions.
  • @nt351 you seem to be misunderstanding what I'm trying to do. I'm not trying to boot BartPE or WinPE or any other PE version of Windows on USB. I'm trying to install standard Windows XP (I have XP Home Edition on its original install CD) onto a USB stick. I know that XP can boot from an internal HDD, and a USB stick is basically an external solid state HDD. The only difference is the interface being USB instead of IDE. With SATA booting this can be corrected by slipstreaming SATA drivers onto the ISO. But how do I correct it for USB booting? Is there a way to slipstream USB bootable drivers onto the ISO?
  • edited March 2022
    USB is a much, much, much, much more complicated interface than IDE or SATA. It has to be, because it is designed to support all kinds of devices like keyboards, mice, cameras, printers, scanners, hell I've even seen USB connected sound cards and video cards although those have to work like crap.

    First off, BIOS. Windows XP uses BIOS and "MBR" booting. If your BIOS supports USB booting then it can boot a BIOS compatible OS such as MS-DOS, and from there, at least it would load an NT/2000/XP boot loader. The system partition must then also be accessible via BIOS reads.

    BIOSes that don't support USB booting may be able to use a program called PLOOP. I know that works with Linux bootable USB devices.

    Then the second problem becomes handing the boot process over to the protected mode drivers. With IDE/SATA it is just a matter of having the right driver and specifying the right device.

    I am aware of at least two problems with loading XP on anything other than a normal hard drive.

    First, it refuses to install to anything that is identified as removable media. For example, this is the case with CF cards attached to an IDE port. If I recall correctly, there is some registry setting to work around that.

    Second, as I understand it, Windows XP usually tries to speed up the boot process by not initializing all devices such as USB or network until AFTER it is essentially booted. For example, when I turn on my XP test box to use my Kryoflux or SCP, I have to wait a minute or so AFTER it gets to the damn desktop to use it or it may complain it is not attached. The reason for this is that initializing USB and all sorts of devices is simply slow so they delay it. (Linux usually initializes USB drives at kernel load, which is why it works).

    Clearly, you can't boot from a device that is not accessible immediately after the kernel is loaded.

    I'm guessing there is some workaround for that, but I don't know what it is.

    A couple of other issues:

    You might not be able to attach it to just any USB port, as then it might appear as a different device path to the boot loader.

    As a practical matter, cheap USB flash drives or CF cards may not do any kind of wear leveling like SSDs. Windows XP does lots of constant writing to a hard drive, both with file system and swap, and may kill such a device very quickly.
  • Constant writing to the harddrive? Doesn't it just write when changes are made that it needs to save?
Sign In or Register to comment.