Zotzilaha | Efectivamente Guillermo he buscado en miles de partes incluso ya ahora que cheke mas detenidamente el post note ke haces mension a las fuentes las cuales ya las habia visto hace tiempo y para mi desgracia este proceso que publicas no es para hacer una instalacion de winxp en una usb o disco duro externo sino para meter por decir el cd de winxp en una unidad externa para bootearlo desde ahi es decir de alguna manera mas entendible seria como craear nuestra pendrive o USB en un CD(virtual) de winxp para instalarlo, por ejemplo, en las MINI laptops que no cuentan con unidad de CD/DVD, ahora retomando el objetivo principal que es la de instalar windows en una unidad externa(instalacion limpia nada de live usb), me tome un dia entero para buscar y de miles de paginas que accedi… encontre muy pocas que contenian alguna solucion… si bien microsoft dice que es imposible hacerlo(y yo de verdad llegue a creer que era imposible)encontre un proceso el cual consiste en modificar algunos archivos del cd.. este proceso ya lo hice pero no puedo dar una opinion final ya que si al parecer el proceso va bien(almenos no tira pantallasos azules) ES DEMASIADO LENTO!!! instale winxp en alrededor de 4 horas en un HDD de 2.5 IDE de 6 gb conectado a adaptador usb para HDD’s, ok todo el proceso de instalacion lento.. pero seguro xD jajaja pero ya despues de la instalacion el problema fue el inicio de windows donde deje la mini laptop ensendida 25 minutos y aun no arrancaba jajaja seguia funcionando el arranque de windows asi que fue estresante y decesperante para mi xD hasta el punto en que apague la pc y desconecte todo asi que el proceso keda pendiente, todo señala a ke la lentitud se debe al driver usb generico de winxp sp1, ke es USB 1 y no USB 2.0 y al parecer solo funciona este proceso con el SP1 en fin seguire buscando… mientras are un copy/paste 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 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 fr seriellen Anschluss”,files.none,serial serenum = “Enumerator fr 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,”SYSTEMCurrentControlSetServicesUSBSTOR”,”DisplayName”,0x00000000,”USB Mass Storage Driver” HKLM,”SYSTEMCurrentControlSetServicesUSBSTOR”,”ErrorControl”,0x00010001,1 HKLM,”SYSTEMCurrentControlSetServicesUSBSTOR”,”Group”,0x00000000,”System Reserved” HKLM,”SYSTEMCurrentControlSetServicesUSBSTOR”,”ImagePath”,0x00020000,”system32DRIVERSUSBSTOR.SYS” HKLM,”SYSTEMCurrentControlSetServicesUSBSTOR”,”Start”,0x00010001,0 HKLM,”SYSTEMCurrentControlSetServicesUSBSTOR”,”Type”,0x00010001,1 HKLM,”SYSTEMCurrentControlSetServicesusbehci”,”DisplayName”,0x00000000,”USB 2.0 Enhanced Host Controller Miniport Driver” HKLM,”SYSTEMCurrentControlSetServicesusbehci”,”ErrorControl”,0x00010001,1 HKLM,”SYSTEMCurrentControlSetServicesusbehci”,”Group”,0x00000000,”System Reserved” HKLM,”SYSTEMCurrentControlSetServicesusbehci”,”ImagePath”,0x00020000,”system32DRIVERSusbehci.sys” HKLM,”SYSTEMCurrentControlSetServicesusbehci”,”Start”,0x00010001,0 HKLM,”SYSTEMCurrentControlSetServicesusbehci”,”Type”,0x00010001,1 HKLM,”SYSTEMCurrentControlSetServicesusbhub”,”DisplayName”,0x00000000,”USB2 Enabled Hub” HKLM,”SYSTEMCurrentControlSetServicesusbhub”,”ErrorControl”,0x00010001,1 HKLM,”SYSTEMCurrentControlSetServicesusbhub”,”Group”,0x00000000,”System Reserved” HKLM,”SYSTEMCurrentControlSetServicesusbhub”,”ImagePath”,0x00020000,”system32DRIVERSusbhub.sys” HKLM,”SYSTEMCurrentControlSetServicesusbhub”,”Start”,0x00010001,0 HKLM,”SYSTEMCurrentControlSetServicesusbhub”,”Type”,0x00010001,1 HKLM,”SYSTEMCurrentControlSetServicesusbuhci”,”DisplayName”,0x00000000,”Microsoft USB Universal Host Controller Miniport Driver” HKLM,”SYSTEMCurrentControlSetServicesusbuhci”,”ErrorControl”,0x00010001,1 HKLM,”SYSTEMCurrentControlSetServicesusbuhci”,”Group”,0x00000000,”System Reserved” HKLM,”SYSTEMCurrentControlSetServicesusbuhci”,”ImagePath”,0x00020000,”system32DRIVERSusbuhci.sys” HKLM,”SYSTEMCurrentControlSetServicesusbuhci”,”Start”,0x00010001,0 HKLM,”SYSTEMCurrentControlSetServicesusbuhci”,”Type”,0x00010001,1 HKLM,”SYSTEMCurrentControlSetServicesusbohci”,”DisplayName”,0x00000000,”Microsoft USB Open Host Controller Miniport Driver” HKLM,”SYSTEMCurrentControlSetServicesusbohci”,”ErrorControl”,0x00010001,1 HKLM,”SYSTEMCurrentControlSetServicesusbohci”,”Group”,0x00000000,”System Reserved” HKLM,”SYSTEMCurrentControlSetServicesusbohci”,”ImagePath”,0x00020000,”system32DRIVERSusbohci.sys” HKLM,”SYSTEMCurrentControlSetServicesusbohci”,”Start”,0x00010001,0 HKLM,”SYSTEMCurrentControlSetServicesusbohci”,”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. Aclaro esta solucion no es correcta de utilizar dado que estamos modificando codigos del sistema operativos, si realmente te interesa probar el XP, 200X, o Vista en un PEN o Disco USB lo puedes hacer con toda confianza que funciona. |