25 julio 2012

Creando un Instalador de Win desde GNU/Linux

Participando en las IV Jornadas Regionales de Redes Libres en Bogota, Colombia, mas precisamente durante el Campus Party Bogota, en ocurrio un pequeño percance, a saber:

Un equipo Acer tenia un problema extraño, se apagaba solo porque el cooler dejaba de girar cuando iniciaba el sistema operativo, pero si lo dejaba en el BIOS seguia funcionando normalmente. Independientemente del sistema operativo instalado, todo indicaba que no era un problema de sistema operativo sino de hardware, pero esto sucedia porque tampoco tenia su "win2 original de Acer" sino una version en castellano. 
Una forma simple de cobrar soportes, un crimen que no tiene victimas, como pegarle a alguien en la obscuridad...

Buscando en muchos sitios aquel raro comportamiento, encontre que la solucion era actualizar el BIOS, lo que por si no me causo mucha gracia, y lo mejor de todo era que solamente se podia hacer bajo WinVista o superior, en un equipo que solo tenia instalado GNU/Linux.

Despues de mucho buscar soluciones simples sin tener que andar instalando un win2 en aquel equipo (estaba de viaje, no teniamos los discos de instalacion y un largo etcetera...), un amigo dio una mano y lo hizo desde su propio Win virtual, para que podamos salir del paso y solucionar las cosas...

Ya sin apuro, pude ver que habia formas de hacerlo directamente desde GNU/Linux y sin necesidad de andar recurriendo a otros sistemas operativos.

Crear un pendrive USB Windows XP booteable de instalacion:

Descargar "ms-sys" desde http://ms-sys.sourceforge.net/#Download

Instalarlo (make y make install seria lo normal, aunque siempre podes bajar los binarios en tu distro favorita, en mi caso como uso Slackware me doy el lujo de crear los paquetes yo mismo, los podes descargar de aca oficialmente)

Particionar el pendrive USB en NTFS (en mi caso lo deje en FAT32 porque asi lo necesitaba por otras causas) usando fdisk (o incluso el manejador grafico de particiones de tu preferencia)
Para saber cual es el disco y que nos muestre todos los discos conectados, hacemos desde la consola un simple:

root@scatha:~/mssys/ms-sys-2.2.0# fdisk -l

Para que el disco pueda tener MBR y todo lo demas ejecutamos ms-sys

root@scatha:~/mssys/ms-sys-2.2.0# ms-sys -w /dev/sdd
DOS/Windows NT master boot record successfully written to /dev/sdd

root@scatha:~/mssys/ms-sys-2.2.0# ms-sys -w /dev/sdd1
FAT32 DOS boot record successfully written to /dev/sdd1

root@scatha:~/mssys/ms-sys-2.2.0# ms-sys -p /dev/sdd1
Start sector 32 (nr of hidden sectors) successfully written to /dev/sdd1
Physical disk drive id 0x80 (C:) successfully written to /dev/sdd1
Number of heads (247) successfully written to /dev/sdd1
root@scatha:~/mssys/ms-sys-2.2.0#

Ahora copiamos los archivos de nuestra ISO de Windows XP en el pendrive USB

Copiamos el MBR del Windows XP en el pendrive USB

root@scatha:~# ms-sys -m /dev/sdX

Reemplazamos sdX con el numero del pendrive USB destino (por ejemplo: sdd1).

Después de eso, hacemos copia de seguridad de los datos, y a continuación,
formateamos el disco a NTFS desde el Live USB.

Ahora se puede instalar Windows XP a través del USB.

Documento esto porque realmente es muy molesto tener que recurrir a soluciones privativas e invasivas para solucionar problemas que el propio fabricante inventa, no es que me volvi atras en mi resolucion de no seguir usando Windows, como feliz y oportunamente anuncie hace largos años ya...

Moraleja:
No comprar hardware de fabricantes que apliquen practicas monopolicas o no-libres y que secuestren virtualmente nuestros equipos, realmente tenemos siempre las de perder en esos casos.

Referencias:
http://askubuntu.com/questions/151073/how-to-create-windows-xp-liveusb-using-ubuntu-to-replace-it

1 comentario:

Anónimo dijo...

En tu ejemplo NO es /dev/sdc1. Es /dev/sdc; porque se escribe en la MBR y no en la particiòn.