Monday, November 09, 2009

Instalar WinXP en SD Memory Stick desde USB

Para ser sincero la aplicación de un sistema operativo desde una memoria (especificamente un Memory Stick) me parece inútil a menos que tengas realmente poco espacio en tu computadora y no puedas aumentarlo de algún modo (me refiero a cambiar el disco duro). En mi vida de informático había tenido que cambiar discos duros e instalar un sistema operativo multiples veces. Pero hoy llega un cliente pidiendo que instale XP en una NETBOOK cuyo disco duro es de 2GB y tener suficiente espacio para instalar Office, un mensajero decente, plugins para archivos y programas (Acrobat reader, Java, Codec Pack, etc.) y me pregunto yo... ¿en sólo 2 Gigabytes?... ja... Se me ocurre un Disco Duro externo USB pero... hablamos de una Computadora de bolsillo... así que me entrega un Memory Stick de 8GB (Kinngston MicroSD HC de 8GB) através de un adaptador de tarjetas SD. Veamos...






Hardware:
NETBOOK ASUS EEE PC 2G
-Celeron M 800Mhz
-512 en RAM
-SSD 2GB (Disco duro de Estado Sólido)
-3 puertos USB
-Lector de Memorias MMC y SD.






Software:
-Windows XP SP3 ( Sin Modificar y me refiero a NO UTILIZAR las versiones UE, ISSO, GOLD, BLACK, etc.)






Adicionalmente Necesitaremos:
-1 Memoria USB de 1GB al menos.
-Para poder ejecutar la instalción de XP desde USB:
  1. USB_PREP8
  2. PeToUSB
  3. Bootsect.exe
  4. XP3eSD (Modifica archivos de instalación para poder utilizar memorias USB en la instalación).
  5. Cabextract (Utilizado para exrtaer archivos comprimidos de la instalación de Windows).

 -Para poder instalar XP a la SD (Memory Stick)
  1. Hitachi Microdrive Filter Drivers (Trata a las memorias insertadas en lectores como Discos Duros).
  2. Partedmagic (Hay muchas utilerias para clonar discos pero de todas la que probé solo este método funcionó. Bajar el que dice pmagic-usb-xxxx.zip).
  3. SYSLINUX (Para arrancar Partedmagic desde el USB. Bajar la más reciente que dice syslinux-xxxx.zip).
LA FINALIDAD ES INSTALAR TODO SOLO USANDO UNA MEMORIA USB.





A darle...

Antes de iniciar cualquier operación, hay que tener en cuenta que las modificaciones que hacen los programas de la lista los dispositivos USB (Memorias y Tarjetas) son diferentes a la de su uso cotidiano y se usan en condiciones a las que no se les ha designado; en cuyo caso puede causar la pérdida total o parcial de archivos e incluso, y en casos muy extremos, dejar inservible dichos dispositivos. Así que no me hago responsable por la pérdida de información o por el daño a dispositivos por el uso del presente tutorial.
Entendido los riesgos, prosigamos.



Arrancar la instalación de XP  desde una memoria USB.



En muchos lugares te muestran como poner la instalación de XP en una memoria USB e incluso te dicen que no hay forma de instalarlo en un disco USB (Memorias USB o USBHD) porque el propio sistema operativo no lo permite. Lo que haremos, a parte de poner la instalación de XP en una memoria USB es habilitar la instalación de XP en memorias USB y discos externos ( discos duros USB claro).
IMPORTANTE: hasta el momento no he podido instalar XP en una memoria insertada en un lector de memorias, si alguien lo consigue, me harían un favor al comentarme el procedimiento para hacer esta guía aún más completa.



  1. Inserta tu memoria usb de 1GB.
  2. Inserta el CD de instalción de XP (Cierra la ventana de instalación si aparece).
  3. Extraer los archivos de Bootsect.zip en c:\. Los archivos deben estar en la raiz.
  4. Crear alguna carpeta (sugiero la carpeta en escritorio para mayor comodidad). Extraer en esa carpeta el contenido de USB_prep8 y el ejecutable que se encuentra en PeToUSB.
  5. Abrir la carpeta y ejecutar el archivo que se llama usb_prep8.cmd.
  6. Aparecerá una ventana como esta. Presiona una tecla para continuar.
  7. Seguido verás una ventana así. LAS OPCIONES ESTÁN PRECONFIGURADAS solo presiona el botón START para empezar a formatear la memoria USB.
  8. Cuando termine de formatear la memoria NO CIERRES LA PRIMERA VENTANA, ve a Inicio -> Ejecutar y escribe CMD y luego Aceptar.
  9. Si realizaste bien todos los pasos escribe c:\bootsect.exe /nt52 X: (Donde X es la letra que tiene tu memoria USB, verifícalo en Mi PC). Este paso coloca un sector de arranque correcto a la memoria para que pueda arrancar como un CD desde inicio.
  10. Si todo salió perfecto verás en la pantalla : "Bootcode was successfully updated on all targeted volumes.". Ya puedes cerrar esta ventana.
  11. Si todo sigue correcto verás una pantalla como esta en la ventana de usbprep8. Sino intenta presionando ENTER, o verifica si existe algúna ventana esperando a presiones un botón Aceptar o Cerrar del segundo paso.
  12. Hay que corregir algunos datos en las opciones 1 2 y 3:
    Presiona 1 y luego ENTER. Y abre la unidad de CD donde se encuentra el CD de instalación de XP.
    Presiona 2 y luego ENTER. Y escribe una letra de unidad que NO ESTE ASIGNADA, ya que servirá para almacenar temporalmente los archivos de instalación (Creo que aparece la unidad T: por default , si no está asignada a alguna de las unidades de tu computadora entonces puedes dejarla como está.
    Presiona 3 y luego ENTER. Y escribe la letra correspondiente a la memoria USB.
    Presiona 4 y luego ENTER para iniciar el proceso.

  13. A partir de aqui se te preguntará si quietes formatear la unidad T: respondes "Y" (Sí).
    Te preguntará cerca de 3 veces si deseas realizar operaciones como copiar archivos y si quieres hacer que la unidad USB tenga la letra U: al iniciar e incluso si quieres desmontarla al finalizar el proceso. A todo ello respondes "Y" (Sí).

  14. Crea una nueva carpeta en el Escritorio y accede a tu unidad de CD donde está la instalación de Windows XP. Y copia la carpeta "i386" en la carpeta que creaste.
  15. Ejecuta xp3esd y presiona el botón que tiene el icono de la carpeta y busca la carpeta en la que copiaste los archivos de la carpeta i386 (NO ABRAS LA CARPETA i386).
  16. Presiona el Botón CREATE y espera a que modifique algunos archivos y si muesta otra ventana NO HAGAS CLIC.
    Este paso modifica archivos que necesita el instalador para identificar discos en donde puede instalar Windows, añadiendo soporte para unidades USB extraibles (Memorias y Discos Externos USB). El programa intentará crear una Imagen ISO de la carpeta i386 que copiaste. Realmente no necesitamos la imagen ISO; solo los archivos que modificó, los cuales permanecen en la carpeta i386 que copiaste. Inicia el administrador de tareas (ctrl + alt + supr) selecciona XP3eSD  y finaliza la tarea.
    ahora busca la carpeta i386 que copiaste y ubica los siguientes archivos y cópialos:
    TXTSETUP.SIF
    DOSNET.INF
    USB.INF
    USBPORT.INF
    USBSTOR.INF
    USBBOOT.INF
    Abre tu Memoria USB y ubica 2 carpetas que tienen entre el nombre signos de moneda "$$" existen dos y en una de ellas hay una carpeta que se llama i386; dentre de ésta pega los archivos que copiaste (Reemplaza los archivos si es necesario).

  17. Si todo salió bien hasta este punto tendrás como resultado una memoria USB que puede arrancar desde inicio y ejecutar el programa de instalación de XP.




Pausa...


La memoria que creaste SÍ instala Windows XP desde un puerto USB sin necesidad de CD y SÍ permite instalar Windows XP en Discos y Memorias USB; PERO NO EN MEMORIAS SD o cualquier otro Memory Stick. Según con lo que me he encontrado la única traba para instalar Windows XP es el intermediario entre la Memory Stick y el programa de Instalación que es el Lector de Memorias. El programa de instalación inicia e incluso muestra disponible el espacio de la Memory Stick como candidato para instalar Windows XP; pero al particionar o formatear no lo parmite e incluso si se deja intacto el sistema de archivos, el error que marca es que no se puede crear la carpeta de Windows y el programa de instalción no puede continuar.




Solución...




Como trabajo en una NETBOOK con un SSD de 2GB es suficiente para instalar Windows XP, lo único que se me ocurrió es encontrar la forma de clonar un XP previamente instalado a la Memory Stick (la micro SD). Así que empecemos:



    1. Si no tienes la Memoria conectada a un Puerto USB, hazlo ahora (Claro, con la Netbook apagada).
    2. Enciéndela. Como la NETBOOK con la que se cuenta  no tiene unidad de CD o DVD hay que entrar en la BIOS y configurar lo necesario para que tome la memoria USB como primer dispositivo de arranque.
    3. Aparecerá un menú con dos opciones. Selecciona la instalación en modo texto (Segunda Opción) en el paso de la instalación que te pide formatear la partición, seleccionas FAT y cuando termine la instalación en modo texto (cuando reinicie por primera vez), Selecciona la primera Opción e Instala Windows como normalmente lo haces.
    4. Retira tu Memoria USB (Tercer Reinicio).Y espera a que Windows Inicie por primera vez.
    5. INICIA SESIÓN Como un usuario con privilegios de Administración.
    6. No olvides que estamos trabajando en la NETBOOK en el PRIMER INICIO DE SESIÓN. Deshabilita el protector de pantalla, la Opción de Restaurar el Sistema y el Archivo de paginación en todas la unidades
    7. Descomprime el Archivo que tiene los drives de Hitachi (Hitachi Microdrive Filter Drivers) nuevamente de preferencia en una carpeta en el Escritorio.
    8. INSERTA TU MEMORIA SD EN EL LECTOR DE TARJETAS y espera a que lo puedas visualizar en Mi PC.
    9. Abre el editor del registro (Inico -> Ejecutar -> Escribe Regedit y presiona Aceptar).
    10. Navega hasta la siguiente dirección: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\
    11. Dentro encontrarás un directorio que tiene el nombre similar a este: Disk&Ven_USB2.0&Prod_CardReader_SD0&Rev_0100
    12. Dentro de este directorio encontrarás otro con el nombre formado por muchos números, haz clic en él y del lado derecho verás muchas entradas de registro en forma de lista. Localiza una que dice: “Hardware ID” y haz clic derecho y luego en Modificar.
    13. Esta clave tiene alrededor de 7 líneas de tecto, COPIA SOLO LA PRIMERA LÍNEA y cierra todas las ventanas del editor del registro.
    14. Ve a la carpeta donde extrajiste los archivos del driver de Hitachi y edita el archivo que se llama " cfadisk.inf " y en la sección [cfadisk_device] asegúrate que solo haya una línea con lo siguiente:
      %MicroDrive_devdesc% = cfadisk_install,
      y pega adelante de la coma la línea de texto que copiaste del editor del registro.

    15. Ve al administrador de dispositivos (Clic derecho en Mi PC, selecciona Administrar y Clic en Administrador de Dispositivos) y busca en unidades de disco algo que diga: USB2.0 Card Reader; haz clic derecho y haz clic en actualizar controlador y haz que NO busque por el driver automáticamente y que seleccionarás uno de la lista y le asignas la ruta en el escritorio donde guardaste el driver de Hitachi.
    16. Reinicia windows Normalmente. Accesa como usuario con privilegios una vez más.
    17. EN LA OTRA COMPUTADORA (por que estamos utilizando dos: la que prepara la memoria USB y la NETBOOK, para los despistados) introduce la Memoria USB y Formatéala como Fat32 (Si no quieres perder el instalador de XP de tu memoria, crea una Imagen de tu USB con algún programa). Extrae a c:\ el archivo syslinux.exe que viene en la carpeta win32 del archivo SYSLINUX-XXX.zip.
    18. Abre el símbolo del sistema (Inicio -> Ejecutar y Escribe CMD ) y escribe: c:\syslinux.exe -d /boot/syslinux -ma X:  (Donde X: es la letra de la unidad que corresponde a tu memoria USB).
    19. Y extrae a la memoria usb el contenido de pmagic-usb-xxxx.zip (Hasta aqui deberían estar dos carpetas en la raiz de la memoria (boot y pmagic) y un archivo (ldlinux.sys, tal vez esté oculto y no se muestre)).
    20. INSERTA LA MEMORIA EN LA NETBOOK, y asegúrate de que en la BIOS está como primer dispositivo de arranque.
    21. Al iniciar te encontrarás con una distribución de Linux, abre un programa que se encuentra directamente en el  escritorio, el Editor de Particiones ( tal vez esté como gparted). En este punto tienes conectada la memoria USB, Insertada la Memory Stick y el SSD (Disco de Estado Sólido). En las barras de herramientas encontrarás la lista de discos disponibles por el tamaño de los discos debes averiguar cual corresponde a las memorias y a tu disco de estado sólido. Por ejemplo yo tengo un SSD de 2GB y  una Memoria de 1GB y una Memory Stick de 8GB, y me las muestra en ese orden como /dev/sda, /dev/sdb y /dev/sdc. Lo primero que debo de verificar es el tamaño de la partición de el SSD que es en donde instalé XP, ver que tamaño tiene y crear una partición igual en la Memory Stick. Cuando se crea la partición en la Memory Stick igual a la del SSD entonces aplicamos los cambios. Si aún tienes dificultad para encontrar las rutas de acceso, busca en el escritorio que lleva entre el nombre la palabra "Mount ". Ese te especifica los nombres de acceso, y ciérralo sin montar ninguna unidad.
    22. Abrimos un terminal, lo encontrarán como ROXTerm y escribimos lo siguiente:
      dd if=/dev/sda1 of=/dev/sdc1 (Esto lleva un poco de tiempo porque copia los archivos de la partición 1 del SSD a la Memory Stick, suponiendo que SSD es /dev/sda y la Memory Stick es /dev/sdc).
      dd if=/dev/sda of=/dev/sdc bs=512 count=1 (No estoy muy seguro pero este comando copia el sector de arranque e información de partición a la Memory Stick, claro, suponiendo que SSD es /dev/sda y la Memory Stick es /dev/sdc).

    23. Reinicia y Ajusta la configuración de la BIOS para que arranque desde el Lector de Memorias. 
       


Si todo salió bien iniciarás windows desde el lector de tarjetas. La parte donde utilizas el particionador de Linux y la consola no son difíciles, cualquier persona que tenga experiencia particionando se encontrará con programas que le son familiares.


Fuentes:


  1. 3eportal.com:  http://www.3eportal.com/index.php?option=com_content&task=view&id=14&Itemid=9
  2. eeegudes.com: http://www.eeeguides.com/2007/11/installing-windows-xp-from-usb-thumb.html
  3. partedmagic.com: http://partedmagic.com/
Gracias. Hasta la próxima entrada.