Mostrando entradas con la etiqueta win2k. Mostrar todas las entradas
Mostrando entradas con la etiqueta win2k. Mostrar todas las entradas

miércoles, 6 de agosto de 2008

Tutorial: Expandir una imagen de disco de Windows (para usar en XEN)

Como estoy terminando algunos programas que estuve haciendo en Visual Basic 6 (no se rían, era la forma más rápida de hacer esos programas para que funcionaran en cualquier cosa que fuera superior a Windows 98 sin sudar demasiado y sin tener que acudir a las "nuevas tecnologías" de M$) y para poder probarlos, tuve que dedicarle espacio a algunas imagenes de disco con Windos dentro de mi XEN.

La cosa venía bien... asigné 10 GB. a Windows 2000/98, 10 a XP y otros 10 a Vista... pero por lo que pude ver, hice algún cálculo mal, porque resulta ser que al tercer día de tener Vista apenas funcionando, se engulló los 10GB y empezó a escupir popups exigiendo espacio, como comilón en espeto corrido...

Y así fué que, como siempre, tuve que acurrir al pingüino para salvar al engendro de Redmond.

Tutorial: Expandir una imagen de disco de Windows (para usar en XEN)

Primero, hacemos una copia de la imagen, para trabajar sin miedo de destruir nuestra instalación. Cualquier desastre posterior se resuelve volviendo a copiar el respaldo de la imagen original y levantando la máquina virtual nuevamente.

ishtar:/storage/xen/images # cp vista.img vista.img.backup
ishtar:/storage/xen/images # ls -la
total 33999252
drwxr-xr-x 3 root root 4096 Aug 5 09:40 .
drwxr-xr-x 3 root root 4096 Jul 20 19:43 ..
-rw------- 1 root root 10737418240 Aug 4 20:37 vista.img.backup
-rw------- 1 root root 10737418240 Aug 5 10:19 vista.img
-rw------- 3 root root 10737418240 Jul 20 19:45 win2k.img
-rw------- 1 root root 10737418240 Aug 4 00:18 xpx64.img
-rw------- 1 root root 10737418240 Aug 3 03:19 xp.img
ishtar:/storage/xen/images #

Luego, usamos el multifacético y carismático "dd" para expandir el tamaño de la imagen a 20GB (supongo que le alcanzará...):

ishtar:/storage/xen/images # dd if=/dev/zero of=vista.img seek=20000 obs=1M
count=0
0+0 records in
0+0 records out
0 bytes (0 B) copied, 3.9378e-05 s, 0.0 kB/s
ishtar:/storage/xen/images # ls -la vista.img
-rw------- 1 root root 20971520000 Aug 7 10:39 vista.img
ishtar:/storage/xen/images #

A estas alturas, el archivo de imagen posée el tamaño deseado, que son cerca de 20Gb. Los parámetros seek=20000 y obs=1M definen desde donde vamos a empezar a escribir en el archivo que estamos modificando (algo así como 20000 MB. adelante), lo cual evita que sobreescribamos el contenido de la imagen. El hecho de haber utilizado count=0 solo asegura que en realidad no escribamos nada en el archivo, sino que solamente hagamos que "dd" cambie el límite final del mismo para que quede del tamaño deseado (y por eso sale el mensaje final que dice 0 bytes (0 B) copied.

Ahora solo resta terminar la manipulación iniciando la máquina virtual y utilizando las herramientas del sistema para extender el volúmen al nuevo tamaño total disponible. Podríamos intentarlo con otras herramientas, pero la experiencia dicta que es mejor hacer que el mismo Windos se encargue del trabajo sucio, ya que él sabe mejor de qué se trata.

Mi máquina virtual con Windows Vista Business Edition, se llama "bosta" (in Uruguay, it means "cow shit", a synonym of your "bull shit"... sorry Bill, I couldn't resist...).

ishtar:/storage/xen/images # xm create bosta
Using config file "/etc/xen/vm/bosta".
Started domain bosta
ishtar:/storage/xen/images #

Una vez que la máquina virtual se inicia, vamos al Panel de control (Control Panel), luego a las Herramientas administrativas (Administrative tools), después al Administrador de equipos (Computer Management), y dentro del mismo, vamos a Almacenamiento (Storage). Allí veremos el disco del sistema, con una capacidad total de cerca de 20 GB., y si entramos a sus propiedades, tenemos dentro la partición de 10 GB. actual.


Aquí seleccionamos la partición actual, le hacemos click con el botón derecho y seleccionamos en el menú contextual la opción Expandir volúmen (Extend Volume):


Aparecerá un amistoso asistonto que nos guiará por el proceso de expansión. En un momento dado, el asistente pregunta cuanto del espacio disponible del disco deseamos utilizar. En mi caso, le dije que utilizara todo el espacio disponible para expandir la partición principal del sistema.


Una vez terminado el proceso (que dura algunos segundos), el asistente termina y nos deja con la partición extendida al tamaño que hallamos definido. Es una buena idea revisar que el resto de las propiedades que dicha partición tenía, siguen ahí. Si no es el caso, posiblemente tengamos que arrancar de nuevo con la copia que dejamos como respaldo. De cualquier otro detalle nos daremos cuenta al intentar reiniciar la máquina virtual, y en ese caso, talvés tengamos que recurrir al "intuitivo" comando bcdedit para lograr que nuestro Vista vuelva a bootear.


Por último, es una muy buena idea programar un chequeo de disco durante el siguiente reinicio, solo como una forma de asegurarnos que todo sigue como esperamos una vez que reiniciemos el sistema. Como administrador unix/linux, sé que esto es realmente una mera formalidad probablemente fútil, dado que si algo falla en un filesystem NTFS, probablemente sea una buena idea organizar el sepelio del mismo, y de toda la información que aguardaba feliz a ser vista nuevamente una vez que todo este asunto terminara.


Si todo salió bien, apenas arranque la máquina virtual nuevamente, se chequeará el disco y se revisará que todo está donde debe estar. ¡Otra vez Victoria!.

Otro día les escribo un tutorial de cómo montar y manejar particiones contenidas en imágenes de disco como las que estoy usando. Pero como dice Robert S. Howard, "That's another story" :-)

Happy hacking!

 
Gustavo Castro

Crea tu insignia