Wednesday, December 19, 2007

Install Windows XP to SD or SDHC card Asus EEE pc

Installing Windows XP to a SD or SDHC card on Asus EEE pc

Tutorial written by CorvetteZ0606

You will need:

  • PC with DVD burner
  • External DVD reader
  • USB thumb drive ( I used a Corsair Flash Voyager 8GB)
  • Blank CD
  • SDHC card ( I used a Transcend TS8GSDHC6 8GB)
  • Eee pc
  • WinHex version 14.5 full version
  • Hitachi Microdrive Filter (can be downloaded from
  • Nero (I used version 6)
  • BootExtract (freeware)
  • Cabsdk (Microsoft freeware)
  • Windows XP SP1 (I used my Virginia Tech Volume Licensing Disk. I don't know if this matters.)

Setting up the BIOS

First, the BIOS needs set up. Here are my settings:


  • IDE Config:
    • Master and Slave both set to “Auto”
  • Onboard Devices: All enabled (originally the camera was disabled, but somehow it got enabled without me changing it. I don't know what's up there.)
  • OS Installation: Finished (I kept it this way through the whole process)


  • Priority:
    • 1st: Removabe Device
    • 2nd: HDD sm-siliconmoti
    • 3rd: USB-Pioneer DVD-RW
  • Hard disk Drives: (I somehow got this feature added to the BIOS. I don't know exactly what I did to get it, it wasn't there originally. I have NOT updated the BIOS. I have version 02.58 BIOS. I think it might be from something I set in Advanced.)
    • 1st: HDD:sm-siliconmoti
    • 2nd: USB: USB 2.0 CardRea
  • Boot Settings Config:
    • Quickboot enabled
    • Quietboot disabled
  • Onboard LAN boot ROM: disabled

Creating an XP Installation Disk

After setting up your Eee BIOS, you need to go back to your other PC to make a custom XP install disk. I suggest using a rewritable in case you screw up the first time.

Discussion of this topic is in

Making the disk: Note: this procedure was taken from Thank them for inventing this!

1. Copy all files from your XP disk to a folder on your C drive.

2. Move these files from your C:\XP_disk\i386 folder to a separate temp dir:

3. Install Microsoft cabsdk to the temp folder; cabsdk can be downloaded here

4. Open a command prompt. Type the following:
cabarc x USBSTOR.IN_
cabarc x USBPORT.IN_
cabarc x USB.IN_

5. Delete the following files:

6. Edit the files to match the following:
move the following lines from [InputDevicesSupport.Load] to [BootBusExtenders.Load]
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbstor = usbstor.sys

7. Move the following lines from [InputDevicesSupport] to [BootBusExtenders]
usbehci = “Enhanced Host Controller”,files.usbehci,usbehci
usbohci = “Open Host Controller”,files.usbohci,usbohci
usbuhci = “Universal Host Controller”,files.usbuhci,usbuhci
usbhub = “Generic USB Hub Driver”,files.usbhub,usbhub
usbstor = “USB Storage Class Driver”,files.usbstor,usbstor

8. Add the following line to the end of [HiveInfs.Fresh]
AddReg = usbboot.inf,usbservices

9. Add the following line to the beginning of [SourceDisksFiles]
usbboot.inf = 1,,,,,,_x,3,,3

10. Save file

11. Open Dosnet.inf

12. Change [Files] block so it looks like this:

13. Save and close file

14. Open USB.inf

15. Change these two sections so they look like this:

16. Change the [StandardHub.AddService] and [CommonClassParent.AddService] sections:
DisplayName = %StandardHub.SvcDesc%
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender

DisplayName = %GenericParent.SvcDesc%
ServiceBinary = %12%\usbccgp.sys
LoadOrderGroup = Boot Bus Extender

17. Save and close file.
Open usbport.inf:
Change the [EHCI.AddService], [OHCI.AddService] , [UHCI.AddService] and [ROOTHUB.AddService] sections:
DisplayName = %EHCIMP.SvcDesc%
ServiceBinary = %12%\usbehci.sys
LoadOrderGroup = Boot Bus Extender
DisplayName = %OHCIMP.SvcDesc%
ServiceBinary = %12%\usbohci.sys
LoadOrderGroup = Boot Bus Extender
DisplayName = %UHCIMP.SvcDesc%
ServiceBinary = %12%\usbuhci.sys
LoadOrderGroup = Boot Bus Extender
DisplayName = %ROOTHUB.SvcDesc%
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender

18. Save and close file.
Open USBSTOR.inf:
Change / Add the lines in the [USBSTOR.AddService] section:
DisplayName = %USBSTOR.SvcDesc%
ServiceType = 1
StartType = 0
Tag = 3
ErrorControl = 1
ServiceBinary = %12%\USBSTOR.SYS
LoadOrderGroup = Boot Bus Extender

19. Save and close.

20. Create a new file:
new file: USBBOOT.INF

Create a new file called USBBOOT.INF in the same directory as your other changed files, and put the following content into it:


HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","DisplayName",0x00000000,"USB Mass Storage Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Group",0x00000000,"System Reserved"

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","DisplayName",0x00000000,"USB 2.0 Enhanced Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Group",0x00000000,"System Reserved"

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","DisplayName",0x00000000,"USB2 Enabled Hub"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Group",0x00000000,"System Reserved"

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"Microsoft USB Universal Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"System Reserved"

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"Microsoft USB Open Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"System Reserved"

21. Repack the files:
At the command prompt in the directory where you changed the files, type the following:
cabarc n USB.IN_ usb.inf
cabarc n USBPORT.IN_ usbport.inf
cabarc n USBSTOR.IN_ usbstor.inf

22. Delete the files:

23. Move the following files back into your i386 directory for windows XP:

24. You now can proceed in two ways. You can either continue here, or move to shrinking your new image with nlite. For the latter please refer to the nlite wiki page. Note that you need to skip step 5 in that guide and use the folder where you modified all these files. After running nlite and burning an image, continue at step 30.

25. Unpack your Bootextract software to a temp directory.
If you are a member of you can download it here

Use BootExtract to read the bootsector from your XPSP1 CD. Here’s the text from when I did it:
C:\BootExtract\Release>BootExtract.exe F:
CD/DVD-BootImage-Extractor v1.0 © Jochen Kalmbach

Reading boot-record-volume from sector 0×11
Valid boot-record-volume found…

Reading boot-catalog from sector 0×13
PlatformID: 80×86
ID-String: Microsoft Corporation

Processing Initial/Default-Entry…
Boot-Indicator: Bootable
Emulation: No emulation
Load segment: 0×0000
Sector count: 4 (2048 bytes)
Starting sector: 0×142
Writing 'Drive-F.NoEmulation_Segment-0000_SecCount-4.bin'


26. Start up Nero, put your blank disk in, and start a new bootable CD project.

27. On the boot tab, select the file that bootextract made for your bootsector. Enable Expert settings. Set “Kind of Emulation” to “No emulation” set load segment of sectors to 0000. Set number of loaded sectors to 4. (note, these settings should match what Bootextract reported. If your XP CD gives you different info, then use that info.)

28. Add the files you have on your hard drive to the CD project.

29. Burn!

30. Ok, so now you have the xp install CD. Put it in your external CD reader and attach it to your Eee. Do not insert your SDHC card. Boot the CD. At BIOS start, hit the ESC button to get the boot menu. Select the DVD drive and let it boot into windows setup. If it fails to boot, you did something wrong on your XP CD.

31. Proceed with Installing XP onto the 4GB internal flash drive with a FAT32 partition. Make sure you delete all four linux partitions. Durring install you’ll see a lot of windows about unregistered drivers. Just hit continue anyways on all of these windows.

32. When windows boots for the first time, do not install any drivers or anything. First, you need to turn off the swap file, system restore, and the screensaver.

33. Then stick your USB thumb drive into the EEE with the following programs on it: Winhex installer, Hitachi Microdrive Filter.

34. Next copy the files from your thumb drive to the desktop and then properly remove the thumb drive.

35. Unzip the microdrive files to a folder on the desktop. And Insert your SDHC Card into the EEE.

36. You need to then Hit Start go to run, and type regedit. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\
Inside that you should find a directory called something like Disk&Ven_USB2.0&Prod_CardReader_SD0&Rev_0100. Open it. Inside that you should find another directory wich is just a bunch of numbers. Open it. In the right pane you should see a key called “Hardware ID” Right click on it, and select modify. It should list about 7 lines of text. Copy ONLY the first line to the clipboard. Hit cancel, close regedit.

37. Open cfadisk.inf in the directory you unzipped the microdrive filter to

38. Edit the section called [cfadisk_device] so that rather than containing 11 lines, just have one line. The line begins with: %MicroDrive_devdesc% = cfadisk_install,
After the comma, hit ctrl V to paste what you coppied from the registry into the file.

39.Save the file.

40. Go to Device manager. Under disk drives, you should see SiliconMotion and USB2.0 Card Reader. Right click on the card reader and click update driver. Direct the driver updater window to the Hitachi driver you just edited. It won’t detect the driver automatically, you have to specifty that your supplying the disk for the hardware and force it to use the driver. After the driver is updated, you need to reboot.

41. After rebooting, Install Winhex on your Eee.

42. Open Winhex, go to the tools menu and select disk tools and then clone disk.

43. For the source media, select HD0 from under “Physical Media”. Note this is not selected by default. Select HD1 Usb card reader for the destination under “physical media” not logical drives.

44. Make sure Copy entire medium is checked. Select Simultaneous IO. Set Start sector to 0. Hit ok. It will give you a help screen for some reason. Hit close. And then hit ok in the clone disk window again. This process will take about 20 minutes. Make sure you move your mouse every few minutes so that windows doesn’t think there’s no activity. Do not use the computer AT ALL while this is running. Afterwards, close the application.

45. Set your windows background to something different so that you can tell that you’re booting to the internal SSD instead of the SDHC.

46. Reboot your computer, hit ESC at bios so that you can select to boot from the card reader.

47. When you boot, you should see windows with your old background. (IE, you’ve booted from the SDHC.)

48. At this point you have windows running on the SDHC. I assume that you can use a partition tool to recover the 4GB that you lost on your SDHC by doing this and also you should be able to restore your Linux to the SSD. I haven’t tried either yet.



Anonymous said...
This comment has been removed by a blog administrator.
Nick said...

That's because he is installing from a cdrom to the internal SSD not to a SD or SDHC card. I don't have a tutorial to install windows XP from a external cdrom drive because a monkey could do it.

tw420 said...

I'm so close... maybe you have been here and can help:
1. xpsp1 - usbstor mod, 4G SDHC, usbCDR, 2G memory upgrade
2. installed perfectly to internal ssd, followed instructions above to the tee!
3. I get to clone part and it starts to copy when I get the good 'ol blue screen - install dies
4. I can get a good clone to sdhc when i leave out the hitachi driver after a fresh install, but then run into hal.dll is missing while booting to SDHC
5. Wondering if boot.ini points to right place...(rdisk(1))?
Any Ideas? (I've done my homework:-)

Nick said...

This is one of the guides I didn't personally write, it does work but I haven't done it myself. Your best bet would be to look through the posts here
and see if anyone else has encountered the problem your describing.

SublimePorte said...

This tutorial can be simplified a lot more by downloading this tool:
It basically just does all of the file editing for you and then creates a new iso.

J said...

I want to dedicate my thanks to the author of this guide. it really helped me a lot and guide me through every step. One thing though, after doing it, i still have 4Gb of unallocated space. Any idea if i can fit this into my C: of the SDHC and make the total capacity of my C: as 8GB?

Anonymous said...

Someone should post a Winhex or Acronis image of a working SDHC version of XP up on the torrents.

Anonymous said...

For people experiencing blue screens: I experienced this, had to reinstall, the first time this happened i had the cdrom drive still attached, the second time, i disconnected it. Also made sure that restore points were off, as well as screen saver.

Anonymous said...

forgot to mention, the second time it worked!!

Anonymous said...


I see is a lot of work to install XP on these EEEpc.

I have a similar problem: I need to install XP on a CF. But is not one of those sleek "true disk", it is a cheap removable disk.

There is any hope to install and boot XP from it?

Thank you a lot!


John D said...

truly enjoyed the monkey comment.
I guess that qualifies me as a lower primate. I grabbed one of those USB 2.0 adapters to enable an internal IDE samsung DVD drive as an external USB drive (20 bucks @ microcenter).

btw,thanks for the drivers.

Anonymous said...

Instead of having to buy/acquire a copy of Winhex to do the drive clone you can use the freeware program xxclone (from It also will create the boot sector on the SDHC card under the "cool tips" section. I've posted a little writeup on the eeeuser wiki on the page about XP on SDHC cards.

Anonymous said...

Please help !!!
I've done all the procedure above, but after reboot from the SD card windows actually start and then suddenly restart.
Any ideas???
I use EEE 701 and 16GB SD card


Anonymous said...

Start clone process, get blue screen stop error. Reboot and do clone again it works no error. When I try to boot from sdhc I get blue screen stop error again.
This doesn't work.

VigRX Plus said...

I am thoroughly convinced in this said post. I am currently searching for ways in which I could enhance my knowledge in this said topic you have posted here. It does help me a lot knowing that you have shared this information here freely. I love the way the people here interact and shared their opinions too. I would love to track your future posts pertaining to the said topic we are able to read.