Tutorial:¡¡Instalar windows xp en hd externo!!

Hola amigos buscando por internete me tope con esto , y ahora mismo estoy realizando la prueba, voy por el ultimo apartado asi que a disfrutarlo peña [beer] .
------------------------------------------------------------------------------------
Requerimientos :



Una instalación de Windows
Un disco USB2 o un Stick USB2 lo suficientemente grande 4gb.
Windows XP CD.
WinISO (o cualquier software que permita edición directa de archivos ISO)
Microsoft CAB SDK
Software que grabe formato ISO en Cd´s. Este es gratis burnatonce
A modo de leyenda :

Letras que están en verde es lo nuevo que se agrega/modifica.
Las lineas de comando ms-dos que haya que escribir lo pondré en magenta.
Los archivos y lineas (texto) que se eliminan irán en rojo


Sumario:

Vamos a hacer una imágen del CD de WinXP, extraeremos algunos archivos de la imágen usando el editor de ISO´s. Editaremos estos archivos y los volveremos a meter en el ISO una vez modificados. La imágen resultante la quemamos en otro CD, y ya puede ser usada para instalar directamente en un dispositivo USB. Suena fácil eh. bueno vamos allá.


1) Soporta tu pc el arranque desde USB?

Usualmente esto es una opción en la secuencia de arranque del BIOS. Si no la ves, actualiza tu BIOS. Si no estás seguro, sigue adelante a ver que pasa...

2) Descubriendo si tu USB-Drive arranca.

Conecta tu USB drive al ordenador, directamente al puerto, sin Hub. Apaga el pc, desconecta todos los discos duros, pon un CD booteable de XP, comienza a instalar y ve hasta la parte donde seleccionas el disco donde quieres instalar. Si la instalación pasa de la parte donde has de seleccionar la particion. Tu USB sirve para arrancar XP. De lo contrario te dará un error de "Windows no pudo encontrar, su disco, partición, datos, etc.. bla , bla. Esto no es problema, lo único que hay que hacer es formatear el drive USB. Arrancar con el windows normalmente, buscas esta herramienta de HP , y usarla para formatear el stick o disco usb completamente en formato NTFS.

3) Haciendo la imágen del disco de XP.

Fácil. Abre WinISO, vete a Actions-> Make ISO from CDROM, y guarda la imágen de CD. Ya está.



4) Extrayendo los archivos necesarios

Una vez tenemos la imágen, la cargamos en WinISO. Vamos a la carpeta i386, seleccionamos los archivos siguientes :




TXTSETUP.SIF
DOSNET.INF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
Vamos a Actions -> Extract y los ponemos en una carpeta aparte para trabajar con ellos.







5) Desempaquetando los archivos IN_

De la linea de comando usamos el Cab SDK.
cabarc x USBSTOR.IN_
cabarc x USB.IN_
cabarc x USBPORT.IN_


y nos quedarían los 3 unpacked :



usb.inf
usbport.inf
usbstor.inf
ok ahora borramos los .IN_
del *.in_




6) Editando los archivos.


Bien este es paso principal. Usaremos un editor de texto simple como Notepad2 .

6-A) TXTSETUP.SIF

Este archivo es cargado en el paso inicial de la instalación. Aqui cambiaremos la forma en que windows trata los dispositivos USB durante el arranque del sistema. Por defecto son tratados como dispositivos de entrada (input devices) durante la instalación. Lo cambiaremos para que los incluya como dispositivos de almacenamiento (mass storage driver) que por tanto necesita ser cargado antes por el instalador para que funcione la cosa.

Primero, movemos la entrada siguiente desde [InputDevicesSupport.Load] hacia la sección[BootBusExtenders.Load]
[BootBusExtenders.Load]
pci = pci.sys
acpi = acpi.sys
isapnp = isapnp.sys
acpiec = acpiec.sys
ohci1394 = ohci1394.sys
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbstor = usbstor.sys



[InputDevicesSupport.Load]
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys

usbccgp = usbccgp.sys
hidusb = hidusb.sys
serial = serial.sys
serenum = serenum.sys
usbstor = usbstor.sys



... ahora lo mismo para [BootBusExtenders] y [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
usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci
usbohci = "Open Hostcontroller",files.usbohci,usbohci
usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci
usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor



[InputDevicesSupport]
usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci
usbohci = "Open Hostcontroller",files.usbohci,usbohci
usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci
usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub

hidusb = "HID-Parser",files.hidusb,hidusb
serial = "Treiber f?r seriellen Anschluss",files.none,serial
serenum = "Enumerator f?r seriellen Anschluss",files.none,serenum
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor
usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp

Luego escribimos algunos keys en el registro.
Inserta lo siguiente en la sección [HiveInfs.Fresh] :
[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
AddReg = usbboot.inf,usbservices


y en [SourceDisksFiles] también

[SourceDisksFiles]
usbboot.inf = 1,,,,,,_x,3,,3
bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2



Finalmente, salvamos y cerramos TXTSETUP.SIF. ya terminamos con este.




6-B) DOSNET.INF

Abrimos DOSNET.INF , cambiamos la sección [Files] que nos quede asi:
[Files]
d1,usbboot.inf
d1,_default.pif
d1,12520437.cpx
d1,12520850.cpx

....



6-C) usb.inf

Cambiamos lo que está en verde en ambas secciones [StandardHub.AddService] y en [CommonClassParent.AddService]


[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

6-D) usbport.inf
Cambiamos en la sección [EHCI.AddService], [OHCI.AddService] , [UHCI.AddService] y en [ROOTHUB.AddService] :


[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



6-E) usbstor.inf
Cambiamos / Añadimos en la sección [USBSTOR.AddService]

[USBSTOR.AddService]
DisplayName = %USBSTOR.SvcDesc%
ServiceType = 1
StartType = 0
Tag = 3

ErrorControl = 1
ServiceBinary = %12%\USBSTOR.SYS
LoadOrderGroup = Boot Bus Extender




6-F) Nuevo archivo: USBBOOT.INF
Creamos un archivo nuevo llamado USBBOOT.INF en el mismo directorio donde hemos cambiado los otros archivos y le pegamos esto dentro :

[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





7) Empaquetamos los archivos inf en su formato original IN_
cabarc n USB.IN_ usb.inf
cabarc n USBPORT.IN_ usbport.inf
cabarc n USBSTOR.IN_ usbstor.inf


ok ya tenemos los IN_ modificados.
Ahora solo queda volverlos a poner en el ISO.


8) Integrando los IN_ al ISO


Abrimos la imágen otra vez con WinISO. Vamos a I386 y borramos estos archivos. Le decimos al WinISO que salve los cambios.






DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
Para estar seguros, salimos del WinISO. Lo abrimos otra vez y cargamos la imágen. Vamos a la carpeta I386, seleccionamos "Add Files". y añadimos nuestros archivos modificados que serían :
USBBOOT.INF
DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_
Ya está, guardamos el ISO. y terminamos.







9) Quemar el ISO en CD

Usa cualquiera, desde nero, alcohol, Burnatonce , el que mas te guste.


10) Instalando
Apagamos el ordenador. Desconectamos todos los discos internos y externos, asi windows no encuentra ninguno y evitamos se cargue/joda el MBR (OJO con esto que nos jode el disco). Vamos al BIOS y quitamos el hdd de la secuencia y dejamos USB en primer lugar, luego CDROM, los demás disabled. Conectamos el super stick USB o disco duro USB en que querramos instalar, directo al puerto, nada de hubs por medio.


Y Windows deberia instalarse bien, con la excepciones siguientes :








En la instalación del driver USB te dirá que no está certificado. Esto es normal, nuestros cambios invalidaron el checksum, y por tanto el driver no está firmado. Le das que "Si" unas cuantas veces y a tomar pcl.
Al terminar la instalación la primera vez que arranque el sistema se va a quejar de que no existe archivo de paginación. Lo ignoras de momento, windows funciona bien sin el. Este problema no está aún resuelto asi que estamos buscando una solución... Ya actualizaré la guia cuando la encontremos. De todas formas este no es un error crítico.
Una vez que todo esté listo y corriendo, apaga y conecta otra vez tus hdd.

Salu2 y disfruten su Win llega y pon.
------------------------------------------------------------------------------------

Lo aveis disfrutado? espero que si, recuerdo que el manual noes mio, pero quien lo izo se lo a currado. espero respuesta si todo os a salido bien yo estoy acavando de grabar el cd jeje [poraki]
Viola la licencia de Windows
y en el hipotetico (ahora casi imposible) caso de que tenga un xp original? :-?
Tu dices ke viola la ley de windows, pero mas de la mitad de aqui tiene el windows pirata asi que...
keyzero escribió:Tu dices ke viola la ley de windows, pero mas de la mitad de aqui tiene el windows pirata asi que...

Ya, pero esto es un foro y tiene sus normas.
RAYDEN01 escribió:y en el hipotetico (ahora casi imposible) caso de que tenga un xp original? :-?


aun asi la viola la licencia no te permite modificarlo de esa manera
No lei el tuto pero q es lo q viola de la ley de windows?


Si os refereis a modeficarlo para ejecutarlo desde hd externo pues no se entonces q pintaba en su dia la noticia cuando se conseguio hacer el windows live cd tipo linux live? Pq tb viola la ley de windows supongo.

Un saludo
badillo escribió:Viola la licencia de Windows


No la viola siempre y cuando uses una licencia valida.

Los archivos txtsetup.sif y winnt.sif son archivos de la instalacion para modificarlos, documentando microsoft el proceso.

El archivo txtsetup sirve para añadir drivers (entre otras cosas) que es para lo que se usa en el tutorial y el archivo winnt.sif sirve para la instalación desatendida.

Por si no te vale lo que yo diga

Bartpe tampoco viola la licencia de windows (siempre y cuando uses una licencia valida)
JdR escribió:
No la viola siempre y cuando uses una licencia valida.

Los archivos txtsetup.sif y winnt.sif son archivos de la instalacion para modificarlos, documentando microsoft el proceso.

El archivo txtsetup sirve para añadir drivers (entre otras cosas) que es para lo que se usa el tutorial y el archivo winnt.sif sirve para la instalación desatendida.

Por si no te vale lo que yo diga

Bartpe tampoco viola la licencia de windows (siempre y cuando uses una licencia valida)


Uno q piensa como yo [oki]
Yo veo una gran utilidad poder llevarte un winxp por ay con toda la configuracion.
la licencia dice que solo puede ser usado en una unica maquina
Instalandolo como dice este tutorial solo podras usarlo en una sola maquina (a menos que la otra tenga el mismo chipset) y si no mal recuerdo dice que solo puedes usarlo en una misma maquina a la vez (para ms cambiar la placa base es cambiar la maquina
badillo escribió:la licencia dice que solo puede ser usado en una unica maquina
¿Y si yo quiero tener instalado Linux o Vista y dejar XP en un disco duro USB para cosas concretas?
keyzero escribió:Yo veo una gran utilidad poder llevarte un winxp por ay con toda la configuracion.


Para eso no vale
keyzero escribió:si que vale listo

seguro??....me da a mi que no.... [tomaaa]
haver arrancar desde usb arranca en la makina kse ha instalado.
Tengo que probarlo en otroa makina, pero si lo ejecuto desde prueba de fallos en otra makina deveria funcionar porke no se carga los drivers no? espero reespuestas
si es por tenet vista y xp,o xp y 2000,o 2000 y win98

puedes usar el VirtualPC de microsoft
Lo suyo es que fuera un windows xp portatil, por eso os comento si en teoria lo pongo en otro pc que tenga arranque desde usb, si lo pongo a prueba de fallos no carga ningun driver y deveria ir no? que me decis amigos? [beer] [rtfm]
18 respuestas