Search
Search titles only
By:
Search titles only
By:
Forums
New posts
Search forums
What's new
New posts
Latest activity
Feedback
View Statistics
Members
Current visitors
Buy Sell Trade
WTB
Log in
Register
Search
Search titles only
By:
Search titles only
By:
New posts
Search forums
Menu
Install the app
Install
Reply to thread
Forums
Technology
Computer Software
Running windows XP directly from USB drive ??
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Message
<blockquote data-quote="vivacious_tg" data-source="post: 1702127" data-attributes="member: 33203"><p><strong><em>@raksrules</em></strong></p><p></p><p>used below guide in 2009 to install windows xp on a usb hard disk and it worked , it should work for usb drive as well.</p><p>[SPOILER=Code]</p><p><strong><strong><strong>Requirements</strong></strong></strong></p><p></p><p></p><ul> <li data-xf-list-type="ul">An existing Windows install for carrying out the steps in this tutorial</li> <li data-xf-list-type="ul">A USB2-compliant Hard disk drive (or a big USB2 stick, see remarks below)</li> <li data-xf-list-type="ul">An original Windows XP CD (tested only against SP1 so far, but reported to work on other versions)</li> <li data-xf-list-type="ul">A registered version of <a href="http://www.winiso.com/" target="_blank">WinISO</a> (or any other software that allows direct editing of ISO files)</li> <li data-xf-list-type="ul">The Microsoft <a href="http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe" target="_blank">CAB SDK</a></li> <li data-xf-list-type="ul">A CD-burning software that can handle ISO files. I like the free <a href="http://www.burnatonce.com/downloads/" target="_blank">burnatonce</a></li> </ul><p><strong><strong><strong>How To:</strong></strong></strong></p><p></p><p><strong><strong>Summary:</strong></strong></p><p>We will dump the contents of your original Windows XP CD , extract a few files from the Image using ISO modification software, edit the files, and put the modified versions back on the ISO. The resulting ISO image is burnt back onto a CD media, and can then directly be used to install Windows on your USB drive.</p><p></p><p>I am also covering a few pitfalls that happened to me, in hope they will save you a bit of time.</p><p> </p><p><strong><strong>1) Does your computer support booting from USB?</strong></strong></p><p>Usually, if its an option in your BIOS boot sequence menu, the answer to this is yes. If its not there, look for BIOS updates. If you are not sure, proceed and see what happens ;-)</p><p><strong><strong>2) Sorting out the "Bootability" of your USB-Drive</strong></strong></p><p>Connect your USB drive to your computer, directly, without a Hub. Then, shut down your computer, disconnect any other hard disk drives from it, and insert your original Windows XP CD into the drive. Start the installation, and proceed to the section where you are allowed to pick a hard drive. If it goes beyond the partition selection, your drive is already fine for booting Windows XP. If not (seems to be the cases with many of the Freecom USB HDDs for example), you will get an error like "Windows is unable to find your drive, partition, data etc bla". This is usually not a big problem. All you need to do is "properly" format the drive. Reboot into your normal Windows, and get <a href="http://h18000.www1.hp.com/support/files/serveroptions/us/locate/69_6073.html" target="_blank">this HP tool</a> , and use it to format your HDD completely. I chose NTFS format, worked fine everytime i tried. After this, my drives are recognized as valid installation devices by theWindows XP installer.</p><p>(In fact, i did not manage to create a USB primary partition with FAT32 that was recognized as being installable)</p><p><strong><strong>3) Dumping the original Windows CD into an ISO File</strong></strong></p><p> </p><p>Pretty easy one. Simply open WinISO, and select Actions -> Make ISO from CDROM, and save your CD image.</p><p> </p><p><strong><strong>4) Extracting the files we need to work on</strong></strong></p><p> </p><p>After the CD dump is done, close and reopen WinISO. Then, open the ISO file you just created using File -> Open.</p><p>Now, click the I386 folder, and select the following files (Ctrl key to multi-select)</p><p></p><ul> <li data-xf-list-type="ul">TXTSETUP.SIF</li> <li data-xf-list-type="ul">DOSNET.INF</li> <li data-xf-list-type="ul">USB.IN_</li> <li data-xf-list-type="ul">USBPORT.IN_</li> <li data-xf-list-type="ul">USBSTOR.IN_</li> </ul><p>Select Actions -> Extract and put the resulting files into some folder to work on them.</p><p><strong><strong>5) Unpacking IN_ files</strong></strong></p><p> </p><p> </p><p>Use the Cab SDK (from the command line) for extracting the contents of the .IN_ files. Each of them contains exactly one .inf file. If you are unsure how to use the Cab SDK, here is an example command line: "cabarc x USBSTOR.IN_" . You should end up with three new files in the folder, called:</p><p></p><ul> <li data-xf-list-type="ul">usb.inf</li> <li data-xf-list-type="ul">usbport.inf</li> <li data-xf-list-type="ul">usbstor.inf</li> </ul><p>You can now delete the .IN_ files.</p><p><strong><strong>6) Editing the files</strong></strong></p><p>This is the main job. i ll also try to explain a bit whats happening. Use a simple Texteditor like Notepad.</p><p></p><p><strong><strong>6-A) TXTSETUP.SIF</strong></strong></p><p>This file is loaded on the initial install step by the Windows XP CD installer. In this file, we will change the way Windows treats USB devices during system setup -- the default is to only treat them as input devices during installation -- we will change this to include mass storage driver support (which needs to be loaded into the installer much earlier in order to work).</p><p></p><p>First, move the following entries from [InputDevicesSupport.Load] to the [BootBusExtenders.Load] section , as shown here</p><p> </p><p>[BootBusExtenders.Load]</p><p>pci = pci.sys</p><p>acpi = acpi.sys</p><p>isapnp = isapnp.sys</p><p>acpiec = acpiec.sys</p><p>ohci1394 = ohci1394.sys</p><p><strong><strong>usbehci = usbehci.sys</strong></strong></p><p><strong><strong>usbohci = usbohci.sys</strong></strong></p><p><strong><strong>usbuhci = usbuhci.sys</strong></strong></p><p><strong><strong>usbhub = usbhub.sys</strong></strong></p><p><strong><strong>usbstor = usbstor.sys</strong></strong></p><p></p><p></p><p>[InputDevicesSupport.Load]</p><p><strong><strong>usbehci = usbehci.sys</strong></strong></p><p><strong><strong>usbohci = usbohci.sys</strong></strong></p><p><strong><strong>usbuhci = usbuhci.sys</strong></strong></p><p><strong><strong>usbhub = usbhub.sys</strong></strong></p><p>usbccgp = usbccgp.sys</p><p>hidusb = hidusb.sys</p><p>serial = serial.sys</p><p>serenum = serenum.sys</p><p><strong><strong>usbstor = usbstor.sys</strong></strong></p><p> </p><p>... now the same for [BootBusExtenders] and [InputDevicesSupport]</p><p> </p><p>[BootBusExtenders]</p><p>pci = "PCI-Bustreiber",files.pci,pci</p><p>acpi = "ACPI Plug & Play-Bustreiber",files.acpi,acpi</p><p>isapnp = "ISA Plug & Play-Bustreiber",files.isapnp,isapnp</p><p>acpiec = "Integrierter ACPI-Controllertreiber",files.none,acpiec</p><p>ohci1394 = "IEEE-1394-Bus-OHCI-konformer Anschlusstreiber",files.ohci1394,ohci1394</p><p><strong><strong>usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci</strong></strong></p><p><strong><strong>usbohci = "Open Hostcontroller",files.usbohci,usbohci</strong></strong></p><p><strong><strong>usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci</strong></strong></p><p><strong><strong>usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub</strong></strong></p><p><strong><strong>usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor</strong></strong></p><p></p><p></p><p>[InputDevicesSupport]</p><p><strong><strong>usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci</strong></strong></p><p><strong><strong>usbohci = "Open Hostcontroller",files.usbohci,usbohci</strong></strong></p><p><strong><strong>usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci</strong></strong></p><p><strong><strong>usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub</strong></strong></p><p>hidusb = "HID-Parser",files.hidusb,hidusb</p><p>serial = "Treiber f�r seriellen Anschluss",files.none,serial</p><p>serenum = "Enumerator f�r seriellen Anschluss",files.none,serenum</p><p><strong><strong>usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor</strong></strong></p><p>usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp</p><p> </p><p>Next, we also have to write several keys into the registry. Convieniently, the txtsetup.sif allows you to specify files that are parsed and instered into the registry at install time. Insert the following in the [HiveInfs.Fresh] section:</p><p>[HiveInfs.Fresh]</p><p>AddReg = hivedef.inf,AddReg</p><p>AddReg = hivesys.inf,AddReg</p><p>AddReg = hivesft.inf,AddReg</p><p>AddReg = hivecls.inf,AddReg</p><p>AddReg = hiveusd.inf,AddReg</p><p>AddReg = dmreg.inf,DM.AddReg</p><p><strong><strong>AddReg = usbboot.inf,usbservices</strong></strong></p><p> </p><p>and also in [SourceDisksFiles]</p><p>[SourceDisksFiles]</p><p><strong><strong>usbboot.inf = 1,,,,,,_x,3,,3</strong></strong></p><p>bootvid.dll = 1,,,,,,3_,2,0,0,,1,2</p><p>kdcom.dll = 1,,,,,,3_,2,0,0,,1,2</p><p>Finally, save and close <strong><strong>TXTSETUP.SIF</strong></strong>. We are done with it.</p><p><strong><strong>6-B) DOSNET.INF</strong></strong></p><p>Now, open <strong><strong>DOSNET.INF</strong></strong> , and change the second [Files] section to look like this:</p><p>[Files]</p><p><strong><strong>d1,usbboot.inf</strong></strong></p><p>d1,_default.pif</p><p>d1,12520437.cpx</p><p>d1,12520850.cpx</p><p>....</p><p><strong><strong>6-C) usb.inf</strong></strong></p><p>Change the bolded lines in the [StandardHub.AddService] and [CommonClassParent.AddService] sections:</p><p>[StandardHub.AddService]</p><p>DisplayName = %StandardHub.SvcDesc%</p><p>ServiceType = 1 ; SERVICE_KERNEL_DRIVER</p><p><strong><strong>StartType = 0 </strong></strong>; SERVICE_DEMAND_START</p><p>ErrorControl = 1 ; SERVICE_ERROR_NORMAL</p><p>ServiceBinary = %12%\usbhub.sys</p><p><strong><strong>LoadOrderGroup = Boot Bus Extender</strong></strong></p><p></p><p>[CommonClassParent.AddService]</p><p>DisplayName = %GenericParent.SvcDesc%</p><p>ServiceType = 1 ; SERVICE_KERNEL_DRIVER</p><p><strong><strong>StartType = 0 </strong></strong>; SERVICE_DEMAND_START</p><p>ErrorControl = 1 ; SERVICE_ERROR_NORMAL</p><p>ServiceBinary = %12%\usbccgp.sys</p><p><strong><strong>LoadOrderGroup = Boot Bus Extender</strong></strong></p><p><strong><strong>6-D) usbport.inf</strong></strong></p><p>Change the bolded lines in the [EHCI.AddService], [OHCI.AddService] , [UHCI.AddService] and [ROOTHUB.AddService] sections:</p><p>[EHCI.AddService]</p><p>DisplayName = %EHCIMP.SvcDesc%</p><p>ServiceType = 1 ; SERVICE_KERNEL_DRIVER</p><p><strong><strong>StartType = 0 </strong></strong>; SERVICE_DEMAND_START</p><p>ErrorControl = 1 ; SERVICE_ERROR_NORMAL</p><p>ServiceBinary = %12%\usbehci.sys</p><p><strong><strong>LoadOrderGroup = Boot Bus Extender</strong></strong></p><p>[OHCI.AddService]</p><p>DisplayName = %OHCIMP.SvcDesc%</p><p>ServiceType = 1 ; SERVICE_KERNEL_DRIVER</p><p><strong><strong>StartType = 0 </strong></strong>; SERVICE_DEMAND_START</p><p>ErrorControl = 1 ; SERVICE_ERROR_NORMAL</p><p>ServiceBinary = %12%\usbohci.sys</p><p><strong><strong>LoadOrderGroup = Boot Bus Extender</strong></strong></p><p>[UHCI.AddService]</p><p>DisplayName = %UHCIMP.SvcDesc%</p><p>ServiceType = 1 ; SERVICE_KERNEL_DRIVER</p><p><strong><strong>StartType = 0 </strong></strong>; SERVICE_DEMAND_START</p><p>ErrorControl = 1 ; SERVICE_ERROR_NORMAL</p><p>ServiceBinary = %12%\usbuhci.sys</p><p><strong><strong><strong>LoadOrderGroup = Boot Bus Extender</strong></strong></strong></p><p>[ROOTHUB.AddService]</p><p>DisplayName = %ROOTHUB.SvcDesc%</p><p>ServiceType = 1 ; SERVICE_KERNEL_DRIVER</p><p><strong><strong>StartType = 0 </strong></strong>; SERVICE_DEMAND_START</p><p>ErrorControl = 1 ; SERVICE_ERROR_NORMAL</p><p>ServiceBinary = %12%\usbhub.sys</p><p><strong><strong>LoadOrderGroup = Boot Bus Extender</strong></strong></p><p><strong><strong>6-E) usbstor.inf</strong></strong></p><p>Change / Add the bolded lines in the [USBSTOR.AddService] section</p><p>[USBSTOR.AddService]</p><p>DisplayName = %USBSTOR.SvcDesc%</p><p>ServiceType = 1</p><p><strong><strong>StartType = 0</strong></strong></p><p><strong><strong><strong>Tag = 3</strong></strong></strong></p><p>ErrorControl = 1</p><p>ServiceBinary = %12%\USBSTOR.SYS</p><p><strong><strong>LoadOrderGroup = Boot Bus Extender</strong></strong></p><p><strong><strong>6-F) new file: USBBOOT.INF</strong></strong></p><p>Create a new file called USBBOOT.INF in the same directory as your other changed files, and put the following content into it:</p><p>[usbservices]</p><p></p><p>HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","DisplayName",0x00000000,"USB Mass Storage Driver"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ErrorControl",0x00010001,1</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Group",0x00000000,"System Reserved"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ImagePath",0x00020000,"system32\DRIVERS\USBSTOR.SYS"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Start",0x00010001,0</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Type",0x00010001,1</p><p></p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","DisplayName",0x00000000,"USB 2.0 Enhanced Host Controller Miniport Driver"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ErrorControl",0x00010001,1</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Group",0x00000000,"System Reserved"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ImagePath",0x00020000,"system32\DRIVERS\usbehci.sys"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Start",0x00010001,0</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Type",0x00010001,1</p><p></p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","DisplayName",0x00000000,"USB2 Enabled Hub"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ErrorControl",0x00010001,1</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Group",0x00000000,"System Reserved"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ImagePath",0x00020000,"system32\DRIVERS\usbhub.sys"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Start",0x00010001,0</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Type",0x00010001,1</p><p></p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"Microsoft USB Universal Host Controller Miniport Driver"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,1</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"System Reserved"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"system32\DRIVERS\usbuhci.sys"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,1</p><p></p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"Microsoft USB Open Host Controller Miniport Driver"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ErrorControl",0x00010001,1</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"System Reserved"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ImagePath",0x00020000,"system32\DRIVERS\usbohci.sys"</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0</p><p>HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,1</p><p> </p><p><strong><strong>7) Repack the inf files into their original IN_ format</strong></strong></p><p>If you have not already deleted your extracted .IN_ files, do so now. They need to be replaced. Open a DOS shell again, and navigate to the folder with your changed files. Then exceute the following commands:</p><p>cabarc n USB.IN_ usb.inf</p><p>cabarc n USBPORT.IN_ usbport.inf </p><p>cabarc n USBSTOR.IN_ usbstor.inf</p><p>The three IN_ files should now exist again. </p><p></p><p>Congratulations. All out modifications are done.</p><p><strong><strong>8) Inject the changed files into the ISO</strong></strong></p><p>Open your Windows CD image again with WinISO. Navigate to the I386 folder, and <strong><strong>delete</strong></strong> the following files from the ISO, saving the changes to the ISO afterwards:</p><p></p><ul> <li data-xf-list-type="ul">DOSNET.INF</li> <li data-xf-list-type="ul">TXTSETUP.SIF</li> <li data-xf-list-type="ul">USB.IN_</li> <li data-xf-list-type="ul">USBPORT.IN_</li> <li data-xf-list-type="ul">USBSTOR.IN_</li> </ul><p>Just to be sure all is updated in the ISO, cloase and repoen the ISO in WinISO. Now, again go to the I386 folder and select "Add Files". Now add your changed files, in detail:</p><p></p><ul> <li data-xf-list-type="ul">USBBOOT.INF</li> <li data-xf-list-type="ul">DOSNET.INF</li> <li data-xf-list-type="ul">TXTSETUP.SIF</li> <li data-xf-list-type="ul">USB.IN_</li> <li data-xf-list-type="ul">USBPORT.IN_</li> <li data-xf-list-type="ul">USBSTOR.IN_</li> </ul><p>Save the ISO. You are done.</p><p><strong><strong>9) Burn the ISO back to CD</strong></strong></p><p>Feel free to use any burning package you want. I used the free and simple <a href="http://www.burnatonce.com/index.htm?news" target="_blank">Burnatonce</a></p><p><strong><strong>10) Install Windows XP from the CD</strong></strong></p><p> </p><p>Shut down your computer. Disconnect ANY internal and external hard drives (so Windows cannot find them during installation and mess up their Master Boot Records hehe). Some computers will have trouble to boot without an internal HDD attached, check in your BIOS and, if possible, remove the HDD from the boot sequence and set the USB Harddisk as the first boot device, and the CDROM as second.</p><p>Also, now connect your USB Harddrive directly to the computer, <strong><strong>without any Hubs in between.</strong></strong></p><p> </p><p> </p><p>Windows should install just fine, with the exceptions noted below.</p><p>Issues you will encounter during installation:</p><p></p><ul> <li data-xf-list-type="ul">During driver installation, the USB drivers will prompt you, as they are "not certified" - This is normal. Our changes invalidated the checksum, and therefore the driver is no longer signed. Just press "yes" a couple of times.</li> <li data-xf-list-type="ul">Upon completion of the install, the system will complain once on the first bootup that the pagefile does not exist. You can ignore this for now, as Windows will work fine without it. People are looking at fixing this issue, but its not critical for now.</li> </ul><p></p><p><strong><strong>Once everything is up and running , shut down and reconnect all your drives.</strong></strong></p><p></p><p>[/SPOILER]</p></blockquote><p></p>
[QUOTE="vivacious_tg, post: 1702127, member: 33203"] [B][I]@raksrules[/I][/B] used below guide in 2009 to install windows xp on a usb hard disk and it worked , it should work for usb drive as well. [SPOILER=Code] [B][B][B]Requirements[/B][/B][/B] [LIST] [*]An existing Windows install for carrying out the steps in this tutorial [*]A USB2-compliant Hard disk drive (or a big USB2 stick, see remarks below) [*]An original Windows XP CD (tested only against SP1 so far, but reported to work on other versions) [*]A registered version of [URL="http://www.winiso.com/"]WinISO[/URL] (or any other software that allows direct editing of ISO files) [*]The Microsoft [URL="http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe"]CAB SDK[/URL] [*]A CD-burning software that can handle ISO files. I like the free [URL="http://www.burnatonce.com/downloads/"]burnatonce[/URL] [/LIST] [B][B][B]How To:[/B][/B][/B] [B][B]Summary:[/B][/B] We will dump the contents of your original Windows XP CD , extract a few files from the Image using ISO modification software, edit the files, and put the modified versions back on the ISO. The resulting ISO image is burnt back onto a CD media, and can then directly be used to install Windows on your USB drive. I am also covering a few pitfalls that happened to me, in hope they will save you a bit of time. [B][B]1) Does your computer support booting from USB?[/B][/B] Usually, if its an option in your BIOS boot sequence menu, the answer to this is yes. If its not there, look for BIOS updates. If you are not sure, proceed and see what happens ;-) [B][B]2) Sorting out the "Bootability" of your USB-Drive[/B][/B] Connect your USB drive to your computer, directly, without a Hub. Then, shut down your computer, disconnect any other hard disk drives from it, and insert your original Windows XP CD into the drive. Start the installation, and proceed to the section where you are allowed to pick a hard drive. If it goes beyond the partition selection, your drive is already fine for booting Windows XP. If not (seems to be the cases with many of the Freecom USB HDDs for example), you will get an error like "Windows is unable to find your drive, partition, data etc bla". This is usually not a big problem. All you need to do is "properly" format the drive. Reboot into your normal Windows, and get [URL="http://h18000.www1.hp.com/support/files/serveroptions/us/locate/69_6073.html"]this HP tool[/URL] , and use it to format your HDD completely. I chose NTFS format, worked fine everytime i tried. After this, my drives are recognized as valid installation devices by theWindows XP installer. (In fact, i did not manage to create a USB primary partition with FAT32 that was recognized as being installable) [B][B]3) Dumping the original Windows CD into an ISO File[/B][/B] Pretty easy one. Simply open WinISO, and select Actions -> Make ISO from CDROM, and save your CD image. [B][B]4) Extracting the files we need to work on[/B][/B] After the CD dump is done, close and reopen WinISO. Then, open the ISO file you just created using File -> Open. Now, click the I386 folder, and select the following files (Ctrl key to multi-select) [LIST] [*]TXTSETUP.SIF [*]DOSNET.INF [*]USB.IN_ [*]USBPORT.IN_ [*]USBSTOR.IN_ [/LIST] Select Actions -> Extract and put the resulting files into some folder to work on them. [B][B]5) Unpacking IN_ files[/B][/B] Use the Cab SDK (from the command line) for extracting the contents of the .IN_ files. Each of them contains exactly one .inf file. If you are unsure how to use the Cab SDK, here is an example command line: "cabarc x USBSTOR.IN_" . You should end up with three new files in the folder, called: [LIST] [*]usb.inf [*]usbport.inf [*]usbstor.inf [/LIST] You can now delete the .IN_ files. [B][B]6) Editing the files[/B][/B] This is the main job. i ll also try to explain a bit whats happening. Use a simple Texteditor like Notepad. [B][B]6-A) TXTSETUP.SIF[/B][/B] This file is loaded on the initial install step by the Windows XP CD installer. In this file, we will change the way Windows treats USB devices during system setup -- the default is to only treat them as input devices during installation -- we will change this to include mass storage driver support (which needs to be loaded into the installer much earlier in order to work). First, move the following entries from [InputDevicesSupport.Load] to the [BootBusExtenders.Load] section , as shown here [BootBusExtenders.Load] pci = pci.sys acpi = acpi.sys isapnp = isapnp.sys acpiec = acpiec.sys ohci1394 = ohci1394.sys [B][B]usbehci = usbehci.sys[/B][/B] [B][B]usbohci = usbohci.sys[/B][/B] [B][B]usbuhci = usbuhci.sys[/B][/B] [B][B]usbhub = usbhub.sys[/B][/B] [B][B]usbstor = usbstor.sys[/B][/B] [InputDevicesSupport.Load] [B][B]usbehci = usbehci.sys[/B][/B] [B][B]usbohci = usbohci.sys[/B][/B] [B][B]usbuhci = usbuhci.sys[/B][/B] [B][B]usbhub = usbhub.sys[/B][/B] usbccgp = usbccgp.sys hidusb = hidusb.sys serial = serial.sys serenum = serenum.sys [B][B]usbstor = usbstor.sys[/B][/B] ... now the same for [BootBusExtenders] and [InputDevicesSupport] [BootBusExtenders] pci = "PCI-Bustreiber",files.pci,pci acpi = "ACPI Plug & Play-Bustreiber",files.acpi,acpi isapnp = "ISA Plug & Play-Bustreiber",files.isapnp,isapnp acpiec = "Integrierter ACPI-Controllertreiber",files.none,acpiec ohci1394 = "IEEE-1394-Bus-OHCI-konformer Anschlusstreiber",files.ohci1394,ohci1394 [B][B]usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci[/B][/B] [B][B]usbohci = "Open Hostcontroller",files.usbohci,usbohci[/B][/B] [B][B]usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci[/B][/B] [B][B]usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub[/B][/B] [B][B]usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor[/B][/B] [InputDevicesSupport] [B][B]usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci[/B][/B] [B][B]usbohci = "Open Hostcontroller",files.usbohci,usbohci[/B][/B] [B][B]usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci[/B][/B] [B][B]usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub[/B][/B] hidusb = "HID-Parser",files.hidusb,hidusb serial = "Treiber f�r seriellen Anschluss",files.none,serial serenum = "Enumerator f�r seriellen Anschluss",files.none,serenum [B][B]usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor[/B][/B] usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp Next, we also have to write several keys into the registry. Convieniently, the txtsetup.sif allows you to specify files that are parsed and instered into the registry at install time. Insert the following in the [HiveInfs.Fresh] section: [HiveInfs.Fresh] AddReg = hivedef.inf,AddReg AddReg = hivesys.inf,AddReg AddReg = hivesft.inf,AddReg AddReg = hivecls.inf,AddReg AddReg = hiveusd.inf,AddReg AddReg = dmreg.inf,DM.AddReg [B][B]AddReg = usbboot.inf,usbservices[/B][/B] and also in [SourceDisksFiles] [SourceDisksFiles] [B][B]usbboot.inf = 1,,,,,,_x,3,,3[/B][/B] bootvid.dll = 1,,,,,,3_,2,0,0,,1,2 kdcom.dll = 1,,,,,,3_,2,0,0,,1,2 Finally, save and close [B][B]TXTSETUP.SIF[/B][/B]. We are done with it. [B][B]6-B) DOSNET.INF[/B][/B] Now, open [B][B]DOSNET.INF[/B][/B] , and change the second [Files] section to look like this: [Files] [B][B]d1,usbboot.inf[/B][/B] d1,_default.pif d1,12520437.cpx d1,12520850.cpx .... [B][B]6-C) usb.inf[/B][/B] Change the bolded lines in the [StandardHub.AddService] and [CommonClassParent.AddService] sections: [StandardHub.AddService] DisplayName = %StandardHub.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER [B][B]StartType = 0 [/B][/B]; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbhub.sys [B][B]LoadOrderGroup = Boot Bus Extender[/B][/B] [CommonClassParent.AddService] DisplayName = %GenericParent.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER [B][B]StartType = 0 [/B][/B]; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbccgp.sys [B][B]LoadOrderGroup = Boot Bus Extender[/B][/B] [B][B]6-D) usbport.inf[/B][/B] Change the bolded lines in the [EHCI.AddService], [OHCI.AddService] , [UHCI.AddService] and [ROOTHUB.AddService] sections: [EHCI.AddService] DisplayName = %EHCIMP.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER [B][B]StartType = 0 [/B][/B]; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbehci.sys [B][B]LoadOrderGroup = Boot Bus Extender[/B][/B] [OHCI.AddService] DisplayName = %OHCIMP.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER [B][B]StartType = 0 [/B][/B]; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbohci.sys [B][B]LoadOrderGroup = Boot Bus Extender[/B][/B] [UHCI.AddService] DisplayName = %UHCIMP.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER [B][B]StartType = 0 [/B][/B]; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbuhci.sys [B][B][B]LoadOrderGroup = Boot Bus Extender[/B][/B][/B] [ROOTHUB.AddService] DisplayName = %ROOTHUB.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER [B][B]StartType = 0 [/B][/B]; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbhub.sys [B][B]LoadOrderGroup = Boot Bus Extender[/B][/B] [B][B]6-E) usbstor.inf[/B][/B] Change / Add the bolded lines in the [USBSTOR.AddService] section [USBSTOR.AddService] DisplayName = %USBSTOR.SvcDesc% ServiceType = 1 [B][B]StartType = 0[/B][/B] [B][B][B]Tag = 3[/B][/B][/B] ErrorControl = 1 ServiceBinary = %12%\USBSTOR.SYS [B][B]LoadOrderGroup = Boot Bus Extender[/B][/B] [B][B]6-F) new file: USBBOOT.INF[/B][/B] Create a new file called USBBOOT.INF in the same directory as your other changed files, and put the following content into it: [usbservices] HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","DisplayName",0x00000000,"USB Mass Storage Driver" HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ErrorControl",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Group",0x00000000,"System Reserved" HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ImagePath",0x00020000,"system32\DRIVERS\USBSTOR.SYS" HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Start",0x00010001,0 HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Type",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","DisplayName",0x00000000,"USB 2.0 Enhanced Host Controller Miniport Driver" HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ErrorControl",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Group",0x00000000,"System Reserved" HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ImagePath",0x00020000,"system32\DRIVERS\usbehci.sys" HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Start",0x00010001,0 HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Type",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","DisplayName",0x00000000,"USB2 Enabled Hub" HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ErrorControl",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Group",0x00000000,"System Reserved" HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ImagePath",0x00020000,"system32\DRIVERS\usbhub.sys" HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Start",0x00010001,0 HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Type",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"Microsoft USB Universal Host Controller Miniport Driver" HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"System Reserved" HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"system32\DRIVERS\usbuhci.sys" HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"Microsoft USB Open Host Controller Miniport Driver" HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ErrorControl",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"System Reserved" HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ImagePath",0x00020000,"system32\DRIVERS\usbohci.sys" HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0 HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,1 [B][B]7) Repack the inf files into their original IN_ format[/B][/B] If you have not already deleted your extracted .IN_ files, do so now. They need to be replaced. Open a DOS shell again, and navigate to the folder with your changed files. Then exceute the following commands: cabarc n USB.IN_ usb.inf cabarc n USBPORT.IN_ usbport.inf cabarc n USBSTOR.IN_ usbstor.inf The three IN_ files should now exist again. Congratulations. All out modifications are done. [B][B]8) Inject the changed files into the ISO[/B][/B] Open your Windows CD image again with WinISO. Navigate to the I386 folder, and [B][B]delete[/B][/B] the following files from the ISO, saving the changes to the ISO afterwards: [LIST] [*]DOSNET.INF [*]TXTSETUP.SIF [*]USB.IN_ [*]USBPORT.IN_ [*]USBSTOR.IN_ [/LIST] Just to be sure all is updated in the ISO, cloase and repoen the ISO in WinISO. Now, again go to the I386 folder and select "Add Files". Now add your changed files, in detail: [LIST] [*]USBBOOT.INF [*]DOSNET.INF [*]TXTSETUP.SIF [*]USB.IN_ [*]USBPORT.IN_ [*]USBSTOR.IN_ [/LIST] Save the ISO. You are done. [B][B]9) Burn the ISO back to CD[/B][/B] Feel free to use any burning package you want. I used the free and simple [URL="http://www.burnatonce.com/index.htm?news"]Burnatonce[/URL] [B][B]10) Install Windows XP from the CD[/B][/B] Shut down your computer. Disconnect ANY internal and external hard drives (so Windows cannot find them during installation and mess up their Master Boot Records hehe). Some computers will have trouble to boot without an internal HDD attached, check in your BIOS and, if possible, remove the HDD from the boot sequence and set the USB Harddisk as the first boot device, and the CDROM as second. Also, now connect your USB Harddrive directly to the computer, [B][B]without any Hubs in between.[/B][/B] Windows should install just fine, with the exceptions noted below. Issues you will encounter during installation: [LIST] [*]During driver installation, the USB drivers will prompt you, as they are "not certified" - This is normal. Our changes invalidated the checksum, and therefore the driver is no longer signed. Just press "yes" a couple of times. [*]Upon completion of the install, the system will complain once on the first bootup that the pagefile does not exist. You can ignore this for now, as Windows will work fine without it. People are looking at fixing this issue, but its not critical for now. [/LIST] [B][B]Once everything is up and running , shut down and reconnect all your drives.[/B][/B] [/SPOILER] [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Technology
Computer Software
Running windows XP directly from USB drive ??
Top
Bottom