lunes, 8 de abril de 2013

Trabajando con WUBI

Siempre que se pueda a la hora de instalar una distribución Linux lo mejor es hacerlo en el un disco físico, sea este externo o no. Esto no siempre es posible, bien por que no tenemos una unidad externa o por la razón que sea no podamos o no nos apetezca particionar nuestro disco (cada uno tendrá sus razones).
Es en este caso que Wubi puede ser una buena opción para probar o trabajar con Ubuntu y derivadas. Parece que a partir de Ubuntu 13.04 no corren buenos tiempos para  Wubi,  pero mientras la LTS 12.04 siga teniendo soporte (y aun quedan unos años de soporte) siempre será posible usarlo con esta versión.

Cuando ejecutamos  Wubi en un sistema Windows, este dependiendo de nuestra arquitectura nos descargará e instalará la correspondiente versión (32 o 64bits) de Ubuntu o una de sus derivadas(Xubuntu,Kubuntu,Lubuntu,...) entre las que podemos elegir. Este proceso de isntalación lo hará en un disco virtual dentro de nuestro disco de windows sin modificar nuestro disco. 

Si queremos forzar a que nos instale la versión de 32bits lo ejecutamos desde la consola de comandos con el parametro --32bit
wubi.exe --32bit




Una vez instalado nos pedirá reiniciar el sistema, completará la instalación y las próximas veces que reiniciemos veremos que al arrancar podremos elegir entre arrancar en Windows o en Ubuntu.

Si nos cansamos de el, desde windows iremos a Agregar/Quitar programas, lo desinstalamos y nuesto sistema queda como si Ubuntu nunca hubiera pasado por allí.

Hasta aquí es lo que nos ofrece WUBI por defecto, perfecto para probar el sistema casi como si se estuviera ejecutando en un disco físico.

No obstante a partir de aquí tenemos una buena base con la que experimentar, extender e incluso tener varios sistemas instalados a la vez, saltándote la limitación de Wubi.

Por defecto Wubi instala su contenido a menos que se especifique lo contrario en C:\ubuntu, concretamente los archivos que nos interesan se encuentran en el directorio c:\ubuntu\disk, por defecto en este directorio se encuentran 2 discos virtuales :

  • root.disk con un tamaño que puede variar de 8G a 30G (tamaño máximo impuesto por el instalador del wubi).En este disco se instala el sistema completo.
  • swap.disk de 256M de tamaño.Utilizada como memoria swap.

 Cuando instalo cualquiera de los sabores de Ubuntu con Wubi, no suelo crear grandes discos, como mucho les doy un tamaño de 8 o 12 GB e ir expandiendo el sistema mediante más discos virtuales en caso necesario.

Creación de nuevos discos virtuales.

Lo primero que veremos es como crear discos virtuales y asignarles un tamaño, para ello usaremos el comando dd y crearemos un disco virtual de 1G.

dd if=/dev/zero of=/host/ubuntu/disks/swap1g.disk bs=1MB count=1024

Esta tarea nos servirá como base para la expansión de nuestro sistemas y poder adecuarlo a nuestras necesidades o requerimientos.

Creación de  disco swap

Sobre el tamaño de la swap mucho se ha escrito, no existe un criterio exacto sobre esto, todo depende de las necesidades del usuario. En este caso se ha creado swap de 1GB que vamos a sustituir por la de 256M que Wubi nos creó por defecto.

Formateamos el disco creado en formato swap
sudo mkswap swap1g.disk

Para a continuación montar la nueva swap:
sudo su
swapoff -a
cd /host/ubuntu/disks/
mv swap.disk swap.disk.bak
mv swap1g.disk swap.disk
swapon -a

Ampliando Espacio en disco

Si tras instalar nuestro sistema instalar software vario, almacenar porno videos de gatitos, etc vemos que  se nos queda corto, podemos afrontar el tema desde distintos frentes.

Redimensionar disco

Con este método lo que haremos sera incrementar el tamaño del disco principal (root.disk), para poder utilizar este método es necesario que el sistema creado con Wubi no esté corriendo, por lo que necesitaremos o bien un LiveCD u otro sistema Linux instalado en el equipo.

  • Arrancamos desde el LiveCD.
  • Hacemos un bacup del root.disk (no es necesario, pero si recomendable)
  • Montamos la partición donde tenemos instalado nuestro sistema con wubi, en este caso asumimos que es (dev/sda1)
sudo mkdir -p /media/win
sudo mount /dev/sda1 /media/win
  • Ejecutamos fsck en root.disk y redimensionamos el disco a 15G
fsck -f /media/win/ubuntu/disks/root.disk
resize2fs /media/win/ubuntu/disks/root.disk 15G

Añadir nuevos discos virtuales

Redimensionar el disco principal puede ser la opción mas cómoda y más fácil, pero no necesariamente la mejor. Otra opción es crear discos virtuales alternativos y montarlos al inicio en el fichero /etc/fstab, esto nos permitirá tener directorios como /home o cualquier otro directorio en su propio disco con la posibilidad de compartir esos discos entre otros sistemas que podamos instalar a mayores. En este ejemplo montaremos /home en un nuevo disco, aunque de manera análoga podremos repetir el proceso para otros directorios  que queramos montar en discos externos por que su tamaño así lo requiere.

Como dije antes no soy amigo de los discos grandes, principalmente por que suelo hacer backups de los mismos, y a mayor tamaño, aparte del espacio en disco, hay que considerar el tiempo que toma en mover toda esa cantidad de datos. Con esta premisa en mente vamos a crear un disco de 10G y le daremos formato ext4.

cd /host/ubuntu/disks
dd if=/dev/zero of=home.disk bs=1MB count=10000
mkfs.ext4 -F home.disk

Tras crear y formatear el disco,nos logamos como root y montamos y sincronizamos el directorio /home
sudo -i
mount -o loop /host/ubuntu/disks/home.disk /mnt
rsync -av --exclude '/home/*/.gvfs' --exclude '/home/*/.cache/gvfs' /home /mnt
umount /mnt

Terminada la sincronización, desmontaremos el disco y editamos el fichero /etc/fstab para indicar que ese disco se utilizará como punto de montaje el directorio /home.
/host/ubuntu/disks/home.disk /home              ext4    loop,errors=remount-ro 0        1

Montamos las particiones y comprobamos que todo va bien
mount -a

Si es así desmontamos el nuevo disco /home y borramos el contenido que teníamos en el /home original. y montamos de nuevo el disco
umount /home
rm -R /home/*
mount -a

Recuperar discos  Wubi no es perfecto, su sistema de archivos no es tan sólido como si estuviera instalado en un disco, por lo que puede que toque reparar algún disco dañado o recuperar datos para volver a instalar de nuevo.  Para ambas opciones necesitaremos una distribución en  LiveDC desde donde realizar las operaciones.

En ambos casos lo primero que haremos será montar el disco que queremos recuperar.

sudo fdisk -l
sudo mkdir /win
sudo mount /dev/sdxy /win
sudo mkdir /vdisk
sudo mount -o loop /win/ubuntu/disks/root.disk /vdisk

Una vez montado el disco, lo que haremos será hacer un fsck para tratar de recuperar el disco corrompido.

sudo fsck /win/ubuntu/disks/root.disk

Si tras hacer el fsck, wubi se niega a arrancar, no nos queda mas remedio que arrancar el livedc de nuevo, hacer un backup de nuestros datos e instalar wubi de nuevo.

No hay comentarios:

Publicar un comentario