Installing Windows XP on SDHC

|
Software used:
- nLite
- Hitachi Microdrive Filters
- Windows XP Embedded Feature Pack
- WinRAR or WinZIP
- Any Linux Live CD

Hardware used:
- blank CD
- external USB CD/DVD reader
- SanDisk 4GB SDHC card
- eeePC 901

1. Use nLite to slim down your Windows XP installation. I removed all components as listed in this wiki entry, and it installed fine for me.


2. Install Windows XP on the internal 4GB SSD of your eeePC 901 using your new Windows CD


3. Install the eeePC drivers from the recovery CD you received with your eeePC. Also insert the SDHC card to which you are going to install Windows, so that Windows can install the SD drivers


4. Install the Hitachi Microdrive Filters as follows:
4.1 Go to the Windows registry
4.2 Navigate to HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_USB2.0&Prod_CardReader_SD0&Rev_0100. In that directory, open the directory that consists of just numbers
4.3 In the right pane, locate the "Hardware ID" key. Open it, and copy the first line of text
4.4 Close the registry
4.5 Extract the Hitachi Microdrive Filters zip file
4.6 Open cfadisk.inf
4.7 Locate the [cfadisk_device] section, which consists of the following 11 lines:
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-11000__________________________SC2IC801
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-11000__________________________SC2IC815
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-11000__________________________SC2IC915
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-10512__________________________SC1IC801
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-10512__________________________SC1IC815
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-10512__________________________SC1IC915
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DMDM-10340__________________________MD2IC501
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DMDM-10340__________________________MD2IC601
; debug on VMWare/special drive
; %Microdrive_devdesc% = cfadisk_install,IDE\DiskVMware_Virtual_IDE_Hard_Drive___________00000001
; %Microdrive_devdesc% = cfadisk_install,IDE\DiskIC25N040ATCS040________________________CA4OA71A

4.8 Delete all of the above mentionned lines after the first occurance of cfadisk_install, so your [cfadisk_device] section looks like this:
%Microdrive_devdesc% = cfadisk_install,

4.9 After the comma, paste the line of text you copied from your registry
4.10 Save the file
4.11 Go to your Device Manager, and locate your card reader
4.12 Right-click the card reader and select Update Driver
4.13 Point the driver installer to the cfadisk.inf file you just edited
4.14 Reboot your eeePC


5. Modify your USB drivers by editing the following files in C:\WINDOWS\inf:
5.1 In usb.inf, edit your [StandardHub.AddService] and [CommonClassParent.AddService] sections to look as follows:
[StandardHub.AddService]
DisplayName = %StandardHub.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender

[CommonClassParent.AddService]
DisplayName = %GenericParent.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbccgp.sys
LoadOrderGroup = Boot Bus Extender

5.2 In usbport.info, edit your [EHCI.AddService], [OHCI.AddService] , [UHCI.AddService] and [ROOTHUB.AddService] sections to look as follows:
[EHCI.AddService]
DisplayName = %EHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbehci.sys
LoadOrderGroup = Boot Bus Extender

[OHCI.AddService]
DisplayName = %OHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbohci.sys
LoadOrderGroup = Boot Bus Extender

[UHCI.AddService]
DisplayName = %UHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbuhci.sys
LoadOrderGroup = Boot Bus Extender

[ROOTHUB.AddService]
DisplayName = %ROOTHUB.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender

5.3 In usbstor.inf, edit your [USBSTOR.AddService] section to look as follows:
[USBSTOR.AddService]
DisplayName = %USBSTOR.SvcDesc%
ServiceType = 1
StartType = 0
Tag = 3
ErrorControl = 1
ServiceBinary = %12%\USBSTOR.SYS
LoadOrderGroup = Boot Bus Extender

6. Make some changes to the registry to make your changes to the drivers persistent
6.1 Open your Windows Registry
6.2 Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
6.3 Go to each of the subdirectories USBSTOR, usbehci, usbhub, usbuhci and usbohci, and change the key named "Start" to 0 for each of them
6.4 Reboot


7. Make sure the edited drivers are loaded
7.1 Go to your Device Manager
7.2 Delete all hardware under Universal Serial Bus controllers
7.3 If you use a USB mouse, switch to use the touchpad now
7.4 At the top, go to the Action menu and click Scan for Hardware Changes


8. Clone your new Windows installation to the SDHC card. The easiest way to do this is to boot your eeePC with a bootable Linux distribution and use DD (for me the command was "dd if=/dev/sda1 of=/dev/sdb1", but you might have to use different names than sda1 and sdb1)


9. Reboot your eeePC and boot into the Windows installation on your internal SSD drive


10. Make some last changes to the registry
10.1 Go to the Windows Registry
10.2 Go to HKEY_LOCAL_MACHINE
10.3 Click the File menu and choose Load Hive
10.4 Open Windows\System32\config\system from the Windows installation on your SDHC card (not your local drive!)
10.5 Give it an easy to recognise name
10.6 You will now have a new directory under HKEY_LOCAL_MACHINE with the name you just entered
10.7 Open the new directory, and open MountedDevices
10.8 Locate the DosDevices keys, and rename \DosDevices\C: to \DosDevices\X: and \DosDevices\D: to \DosDevices\C:
10.9 Select the directory you created earlier again
10.10 Click the File menu and choose Unoad Hive


11. Replace the USB drivers on the SDHC with the Windows XP Embedded version of the drivers
11.1 Install WinRAR
11.2 Open the Windows XP Embedded Feature Pack .iso file with WinRAR
11.3 Extract the file XPEFP2007.exe
11.4 Open a new instance of WinRAR, and open XPEFP2007.exe with it
11.5 In WinRAR, go to the directory named 'Rep'
11.6 Extract the files usbhubb.sys and usbstorb.sys
11.7 Rename usbhubb.sys to usbhub.sys and usbstorb.sys to usbstor.sys
11.8 Copy both files to WINDOWS\system32\drivers on your SDHC card (not on your local drive!)
11.9 Give both files now on the SDHC card read-only permissions


12. Change the desktop background color so you can easily distinguish between your local Windows installation and your SDHC Windows installation, to make sure the correct one is booted.


13. Reboot, and boot into your SDHC Windows installation by pressing Esc during the eeePC's boot sequence


14. Cross your fingers, and hope that when Windows is booted you are greeted by the old desktop background color


15. Install Anti-virus, Windows Updates, ...

16. Install a decent Linux distribution on your internal SSD :D


This tutorial was created by combining various bits and pieces from the following locations, and tested twice (involuntarily ;)) for correctness:

http://wiki.eeeuser.com/howto:installxp
http://wiki.eeeuser.com/howto:nlitexp
http://forum.eeeuser.com/viewtopic.php?pid=378472#p378472
http://forum.eeeuser.com/viewtopic.php?id=11644
http://forums.ngine.de/viewtopic.php?t=1764
http://forums.ngine.de/viewtopic.php?p=8384#p8384
http://forums.ngine.de/viewtopic.php?f=4&t=2318&start=0

About me

  • I'm An Hilven
  • My CV
  • me
  • Publications
  • Unpublished work
  • My Library

    Shelfari

    Disclaimer