Why can’t I install Windows on my USB drive?


A collection of limitations (both hardware and software) currently prevent Windows from booting and running off a USB drive. Some of them are described in this whitepaper from WinHEC 2003. Another reason not mentioned in this paper is that during any hot-plug operation, the USB bus is completely reinitialized. Windows really doesn't like it when it loses access to its boot device. Imagine, you plug in a USB camera, the USB bus reinitializes, Windows loses access to the boot drive, and oops the kernel needs to page in some data and it can't.

Rats.

But who knows, someday maybe it will work.

Comments (35)
  1. Anonymous says:

    That’s really interesting, because both Mac OS 9 and Mac OS X can boot from USB drives. I wonder how they handle USB initialization. Maybe they don’t…

  2. Anonymous says:

    OS X doesn’t count because it seems to have a million and one funky little boot modes ;)

  3. Anonymous says:

    I think the matter is not just booting. It is dealing with "run-time".

    Just a question to Raymond Chen; I have used a "Windows Terminal Client" or something like this in university, a dumb terminal. That machine boots from network, right? So, what happens if the connection goes down?

  4. Anonymous says:

    Dumb terminals typically can load all the software they need into memory at boot time. Once they’ve booted, you can yank the network cable and they don’t care.

    (I remember workstations at school which did need to access the network after they booted. If the connection went down, the machines would simply lock up.)

  5. Anonymous says:

    Our school (i.e. high school) workstations didn’t have hard disks and ran Windows over the network. Each machine had a T: drive with files which Windows needed to write to while running.

    A great trick was to delete the WIN.INI from somebody else’s T: drive — instant crash! A similar trick was to pull out the Ethernet cable from your machine, which would bring down the whole room (though that got you in more trouble).

  6. Anonymous says:

    I like how the white paper is a .doc wrapped in an .exe. Why not just provide the .doc directly?

  7. Anonymous says:

    That bothers me too. It might have to do with digital signatures?

  8. Anonymous says:

    "Dumb terminal" as in VT100? IIRC, the "dumb" part is that it DOES need to run to mamma with everything. Maybe s/dumb terminal/thin client/g? Or some other buzzword, if "thin client" is out of fashion.

  9. Anonymous says:

    I read in "Showstopper" that Dave Cutler had originally designed the NT kernel to not be paged, but Rick Rashid (of Mach fame) in MS Research started a skunkworks project to make parts of the NT kernel pageable to reduce the kernel’s working set size. Dave fought it, but lost (because of the limited RAM sizes back in 1990). Looks like Dave’s conservative engineering design sense might have been right after all. ;) btw, none of the Linux kernel is pageable.

  10. Anonymous says:

    Runtime: Showstopper is a great book. I wonder if Raymond can post some good kernel-mode stuff here. I would love to hear more about the kernel-mode side of things.

  11. Anonymous says:

    The EXE is a self-extracting zip archive (as are many of the EXE downloads that Microsoft provides). Any unzip program should be able to unzip it without any problems (rename it to .zip if you have — you shouldn’t).

  12. Anonymous says:

    What about Firewire drives; can I boot from one of those?

  13. Anonymous says:

    There’s a registry hack that can be used to determine whether the NT kernel is paged or not.

  14. Anonymous says:

    Yes, docs are put in EXEs so they can be signed.

    Although recent Word versions support digital signatures on documents themselves, the UI to check if a document is correctly signed is non-intuitive (Tools -> Options -> Security -> Digital Signatures).

    IE is much more upfront when you try to download the EXE and it says "This was signed by Bill"

  15. Anonymous says:

    Someday is today! SureBoot Corporation (www.sureboot.com) already has this functionally working for Windows 2K and XP. Their technology allows Win 2K/XP to boot and run from any USB or 1394 storage device. Not just external hard drives, but also storage devices such as USB key drives. Imagine XP running on a 256MB USB drive key or 2K on a 128MB key. They are able to do all of this on legacy machines that don’t support USB or 1394 devices in the ROM BIOS.

    Additionally they have technology that allows Win 2K/XP to boot and operate from read-only CD or DVD media without requiring any writeable disk storage. They’ve been demonstrating a related product that automatically generates a bootable Win 2K/XP CD from any existing end-user Win 2K/XP configuration. The generated CD becomes a fully functional Win 2K/XP disaster recovery environment for the machine from which it was created. Their technology to automatically generate a protected Win 2K/XP rescue environment on the hard drive is also pretty cool.

  16. Anonymous says:

    See also BartPE at http://www.nu2.nu/pebuilder/

    The only thing it doesn’t do is take into account the real hardware on your machine when doing the build (eg copying your actual hd and network drivers).

  17. Anonymous says:

    There’s a Linux distro called Knoppix that is pretty neat. You download an ISO image, burn it on a CD, and boot from it. It brings up Linux and X and you have a fully-functional Linux system (running off the CD) without needing to install anything on the HD.

    Once you’re done with it, you just reboot the system and the Knoppix stuff is gone.

  18. Anonymous says:

    I wish Longhorn would allow one to do that(knoppix kind of boot), even if that means limiting certain functionalities of the OS.

    Raymond any idea if there is a thinking on this area.

  19. Anonymous says:

    "Yes, docs are put in EXEs so they can be signed." – Peter Torr

    Not just to stop us Mac users getting at it then ?

    NOTE: I AM JOKING !

  20. Anonymous says:

    "Yes, docs are put in EXEs so they can be signed." – Peter Torr

    It’s certainly not to save space. USB-BOOT.EXE is 88768 bytes long, the "uncompressed" USB-BOOT.DOC is only 79360 bytes long.

  21. Anonymous says:

    Just responding in particular to Mike Dunn. You can get the same thing as Knoppix with Windows a number of ways. Sysinternals has a ERD Commander for $$$, Avast has a BART CD thingy, NAI has CleanBoot (still in beta), you can build your own PE using a Windows Preinstallation Kit if you’re a "system builder" and finally, you can go build your own LiveCD with a variety of user contributed plugins using Bart’s PE Builder <www.nu2.nu/pebuilder>. It’s very useful.

  22. Anonymous says:

    You can also use Windows XP Embedded[1] which supports the El Torito spec[2] to get something similar to Knoppix. Add SFU[3] to the image and you have something much better then Knoppix :)

    [1] http://www.microsoft.com/embedded/xp

    [2] http://www.phoenix.com/resources/specs-cdrom.pdf

    [3] http://www.microsoft.com/windows/sfu

  23. Anonymous says:

    There are licensing issues with Knoppix-like versions of Windows (possibly including BartPE). IANAL. If anyone is interested in creating/deploying something like that, please review the licensing info for whichever flavor of Windows on Microsoft’s website.

    (Too many possible links to add to this post – Google for ’em if you’re interested.)

  24. Anonymous says:

    * Via meryl, Gnooks — book reco engine * Backgrounder on steganography over at gadgetopia * Gizmodo has a piece about ATTWS’s new song identification service * For adrian, how to turn a Game Boy Advance into a microcontroller. *…

  25. Anonymous says:

    Hi I want create a usb device.

    i need desgin a driver for this device.

    help me plz

    thanks a lot.

    reza sadeghi

  26. Anonymous says:

    Not sure if anyone is aware of WinPE (Windows Preinstallation Environment), which can boot from CDROM already.

  27. Anonymous says:

    Windows98SE on USB would be a good idea, just that it reinitialises the USB controller.

    Dynebolic is a great LiveCD Linux distro which comes as an ISO, burned onto a CD and allows booting over CD-ROM and possibly USB. It provides a complete Linux workstation capable of streaming music over internet and more. Check it out at http://www.dynebolic.org

  28. Anonymous says:

    Could someone forward me a copy of the doc file, un ‘exe’d? I don’t have a Windows machine, and would like to avoid setting up time with someone just to de-exe it.

    Thx, Jim Main, mainsolutions@consultant.com

  29. Anonymous says:

    Commenting on this entry has been closed.

  30. Anonymous says:

    Yesterday I mentioned I’d like to experiment with Longhorn by installing it onto an external USB drive. I’m not so sure now whether that will be possible. I came across a post by Raymond Chen Why can’t I install Windows…

Comments are closed.