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

Date:April 15, 2004 / year-entry #145
Orig Link:https://blogs.msdn.microsoft.com/oldnewthing/20040415-00/?p=39793
Comments:    35
Summary: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...

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.


But who knows, someday maybe it will work.

Comments (35)
  1. rentzsch 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. CC says:

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

  3. Dave 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. Raymond Chen 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. Tim Robinson 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. Scott says:

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

  7. Raymond Chen says:

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

  8. Aarrgghh 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. runtime 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. Mark G 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. dxa 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. Jason Zions says:

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

  13. John Topley says:

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

  14. Peter Torr 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. JB 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 Coward 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. Mike Dunn 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. Kannan 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. CC 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 ?


  20. keithmo [exmsft] 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. Michael 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. Andreas Häber 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. anon 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. * 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. reza sadeghi 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. Ray says:

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

  27. 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. mainsolutions@consultant.com 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. Raymond Chen says:

    Commenting on this entry has been closed.

  30. 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.

*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index