Skitergia

Parametrizando el mundo



Recuperando instalación de windows desde un USB

by Skiter on 12 mayo, 2015

Ayer me pidió un amigo una ayuda para instalar una imagen corporativa de windows en su portatil de empresa.Le habían dado un disco duro con la imagen para instalar (se entiende que con todo lo necesario para su trabajo dentro) y un CD de WinPE para arrancar lo minimo, en cualquier equipo, que permita instalar la imagen de sistema.

El problema estaba en que el nuevo ordenador no tenía unidad de CD (ni había una externa disponible) y solamente permitia el arranque de una memoria USB. Copiando el contenido del CD de WinPE a un pendrive USB, y seleccionando el modo de arranque adecuado en la BIOS, el sistema no arrancaba.

Esto es porque para que cualquier sistema de archivos pueda ser arrancable, bien sea un disco duro, un CD o DVD, o una memoria flash, hay que “configurarle las instrucciones1 para que el sistema sepa que tiene que arrancar desde ahi. Y esto lo hace mirando una sección de los datos del sistema de archivos del soporte llamada MBR. Dependiendo de las instrucciones que contenga el MBR, el sistema arrancará con los datos de la partición indicada, o “montará”2 el soporte como una unidad de almacenamiento más.

 

1-“Configurarle las Instrucciones”: forma sencilla, coloquial y poco precisa de explicarlo .

2-“Montar”: o “colocar” una unidad de disco en un lugar determinado para que sea accesible. Como ponerle el número a tu casa para que el cartero sepa que ahí pueden llegar cartas.

 

Para hacer esto, he encontrado un sencillo tutorial de Ubuntu, una distribución de linux, que se puede aplicar tambien para arrancar cualquier otro tipo de archivos o sistemas operativos, puesto que tira de una herramienta libre y multi-sistema llamada PendriveLinux. Descargando el programita (no requiere instalación, en windows al menos), podemos ejecutar una modificación del MBR de cualquier dispositivo USB para que sea arrancable, y luego ponerle dentro lo que nosotros queramos (una Ubuntu, un Windows, un WinPE para instalar o restaurar otro windows, un virus…), aparte de la opción por defecto en el tutorial de Ubuntu de cargarle directamente una imagen de sistema operativo arrancable.

 

Lo que también se puede hacer es simplemente hacer la partición arrancable, engañando al programita con un archivo ISO de imagen falso, y copiando luego de forma normal los archivos que queramos. En este caso, copiar y pegar los archivos que vienen en el CD de WinPE.

Para hacer esto, hay que seguir los siguientes pasos:

1-. Crear un archivo de texto en cualquier sitio y renombrarlo como extensión .iso.

ISO

2-. Descargar y ejecutar el programita PendriveLinux (aqui o aqui directamente). Tras pulsar en “I Agree” en los términos legales, el programa se ejecuta (sin instalación).

2015-05-12_115734

3-. En el primer desplegable, y único que se puede pinchar, seleccionamos de la lista el sistema operativo que se vaya a ejecutar en esa partición. En este caso, abajo del todo, Windows 7 installer.2015-05-12_1158314-. Tras esto, se activa el siguiente campo de texto donde seleccionaremos el archivo de imagen .iso falso que acabamos de crear.

2015-05-12_1201565-. Tras esto, se activa el desplegable del paso 3, para seleccionar la unidad externa en la que se quiere instalar todo.

2015-05-12_120315Es posible que no aparezca aqui la unidad deseada, si ésta no está reconocida como un dispositivo extraible, si está formateada en un tipo de archivo atípico, sin formato, etc. En ese caso, para ver todas las unidades visibles y no visibles, seleccionar el checkbox “Show all Drives”, pero con mucho cuidado, pues veréis también particiones de vuestro sistema operativo, de intercambio, y otras muchas posibles cosas que si las rompéis os pueden generar una catastrofe engorrosa en vuestro equipo.2015-05-12_1209086-. Se puede seleccionar, además, el formatear la unidad elegida. No siempre es necesario hacerlo, y si tenéis otros datos que queráis conservar, mejor no hacerlo.

7-. Al pulsar el botón “Create” aparecerán una serie de diálogos y barras de progreso mientras se modifica el MBR y se intenta copiar la imagen .iso que le hemos indicado. Este proceso fallará, ya que nuestro falso archivo de imagen está en realidad vacío, y nos dará un mensaje de error, pero no importa. El formato del MBR para hacer esa partición arrancable se habrá realizado.

8-. Una vez terminado el proceso, podremos ver la unidad conectada a nuestro equipo como un dispositivo extraible de almacenamiento cualquiera. A efectos prácticos, enchufado a cualquier equipo tras haberlo encendido, la memoria flash, el disco, CD o DVD que sea seguirá funcionando como cualquier otro. Unicamente si dejamos el USB/HD/CD/DVD enchufado al equipo antes de encenderlo, podremos arrancar el sistema que lleve esta nueva partición dentro al encenderlo3.

3- Es importante tener la BIOS del sistema configurada para arrancar de USB, unidad de CDo DVD en un orden de prioridad anterior al disco duro interno del equipo, y/o pulsar la tecla signada al prompt de selección de menú de arranque (generalmente F12 nada más encender el equipo), para poder seleccionar el arranque desde USB o CD/DVD. Es muy sencillo, pero no lo explicaré aqui para no alargarme más.

Liandola parda con MSDOS

by Skiter on 5 mayo, 2011

Soy Linuxero converso desde el primer año de carrera y por deformación “frikiaccional” estoy malacostumbrado a usar el Shell Scripting para muchos apaños.

Llevo dos dí­as intentando organizar un par de scripts Linux y Windows para hacer backups automáticos a unidades de disco encriptadas usando TrueCrypt, Rsync, Cygwin y liandola parda (en la parte de windows, como no).

Hoy he sufrido mi propia maldición. Usando un comando linux (sed.exe y gawk.exe en windows, provistos por CYGWin) estaba intentando filtrar la fecha y la hora para añadirla al final del nombre de los archivos de log en formato SQLTime (YYYYMMDDhhmmss)

echo %date% %time% | C:\cygwin\bin\sed.exe -e “s/\//\ /g”| C:\cygwin\bin\sed.exe -e “s/\:/\ /g” | C:\cygwin\bin\sed.exe -e “s/,/\ /g”| c:\cygwin\bin\gawk ‘{print $3″.”$2″.”$1″.”$4$5$6 }’

Output: 2011.05.05.135915    (lo se, lo se. No es SQLTime. He añadido unos puntitos “a lo aleman“)

Con dos cojones (con perdon). Como todo lo que suelo hacer yo, hay una forma más facil de hacerlo (en Windows). Al final va a resultar que MS-DOS no era tan malo).

echo %DATE:~6,4%.%DATE:~3,2%.%DATE:~0,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%

Output: 2011.05.05_135915    (Ta Da!!!!)

Resulta que a las variables de entorno que ya existen, puedes incluirle “recortes” añadiendo los dos puntos (:) y la ví­rgula (~). El primer número es el primer caracter desde el que se empieza a mostrar (la cuenta empieza en 0), el segundo número es el número de caracteres que se muestran (contando desde el primer número).

echo %DATE% = 05/05/2011

echo %DATE:~6,4% = 2011

(a partir del sexto caracter, el 2, contamos 4, inclusive el sexto)

Y cual es la diferencia que ha hecho que me vuelva loco buscando una alternativa nativa de MS-DOS???

Que la segunda forma puedes incrustarsela a un comando de MS-DOS que utilice un ejecutable Linux-like (de CyGWin) y se lo come como si fuese un caracter más en la linea de comandos (por ejemplo, al pasarselo a un atributo de una opción del comando linux).

Cuando termine con los scripts de BackUp dejaré un HowTo aqui y veréis por que necesitaba esta pijoteria.

 

 

 

 

P.D.: como curiosidad para todos aquellos que habéis aprendido hoy que el “rabito de la ñ” se llamaba “ví­rgula“, y no biribula, birbula, ño o “palito de la ñ”, os sugiero que busques la definición y la compareis con los resultados en imágenes de google…jajajaja.

P.D. II: Os dejo otros truquillos que despues, refinando el script, he tenido que usar para darle formato a los datos que iba almacenando en las variables.

echo %DATE:~,-3% = 05/05/2

(el -3, sin numero, pero con coma delante, elimina los 3 últimos caracteres)

echo %DATE:~-3% = 011

(el -3, sin numero ni coma delante, empieza a contar por el final, hacia atrás. Sólo los 3 últimos caracteres se muestran)

echo %DATE:/=\% = 05\05\2011

(con un igual entre caracteres, reemplaza las instancias del primero por el segundo. Aqui, las / con \)

echo %DATE:/=% = 05052011

(igual que el anterior, pero reemplazando por nada. Elimina el carácter)

 

A %d blogueros les gusta esto: