jueves, 7 de marzo de 2013

Instalar Linux en discos externos

A pesar de que no me considero un distrohopper y viendo las entradas de este blog no es muy difícil adivinar que distro es la que utilizo, a veces, me apetece probar otras distros simplemente por el gusto de instalarlas, y comprobar que no es tan complicado disfrutar de su rapidez e inestabilidad, y otras (la mayoría) por que considero que hay proyectos realmente interesantes y merece la pena seguirlos aunque no reciban toda la atención que se merecen.

Si bien usar los live CD/USB o VirtualBox está vale para hacerte una primera impresión de la misma, no las disfrutas como si estas estuvieran instaladas en un disco. Descartando instalarlas en el disco principal, pues no las uso con la suficiente asiduidad como para tenerlas ocupando un espacio innecesario, prefiero tenerlas todas instaladas en un disco USB externo, así cuando me apetece puedo conectarlo y ejecutarlas casi como si estuvieran instaladas en el disco principal.

A lo largo de esta entrada indicaré todos los pasos que sigo desde que obtengo la ISO hasta que el sistema queda instalado en el disco duro externo.



Primeramente grabaremos la ISO descargada a un USB o  CD/DVD, puesto que la grabación de ISOS en CD/DVD no tiene mucho misterio, nos centraremos mi método preferido que es usar un USB. Existen programas como Unetbootin que hacen muy fácil este proceso de pasar una imagen ISO a un USB bootable, prefiero usar el comando dd para esta tarea. Como no queremos cargarnos por error ningún dispositivo de almacenamiento que podamos tener instalado en ese momento, antes de hacer nada listaremos los discos que tenemos conectados en ese momento mediante:

sudo fdisk -l

Esto nos mostrará un informe indicándonos entre otras cosas la capacidad de cada uno de los discos así como las particiones que existen en este. Notaremos que cada uno de los discos son enumerados como sda,sdb,sdc,... (Asumiremos que solo tenemos conectados dos discos, el principal (sda) y el pendrive usb en el que vamos a convertir en un live USB  (sdb)). Una vez identificado el disco que vamos a usar, en este caso sdb, volcaremos el contenido de la ISO mediante:

sudo dd if=/path/to/iso/name-distro.iso of=/dev/sdb oflag=direct bs=1M

Esperamos a que acabe y una vez listo ya tenemos nuestro live USB bootable listo para ser ejecutado.

Hasta aquí lo fácil, ahora viene lo sencillo.

Durante esta segunda parte del proceso si no sabes lo que haces, puedes cargarte el sistema de arranque de tu disco duro principal, por ello si tu bios tiene la opción de des-habilitar el disco duro principal, lo mejor es que lo des-habilites y si no tiene esa opción, lo mejor es que lo quites antes de ponerte hacer nada.(si tienes que quitar el disco, recuerda desenchufar el ordenador y quitarle la batería antes de ponerte manos a la obra).

De las cuatro distros que tengo actaulmente instaladas, sólo  des-habilité el disco principal en la instalación de una de ellas y por precaución, porque no recordaba bien el proceso de instalación, pero el truco para no fastidiar el disco principal está en indicarle en el proceso de instalación que quieres que el grub se instale en el disco externo (habitualmente en la pantalla de particionado del disco, aunque a veces dependiendo de la distro este paso se puede indicar  al final, despues de instalar la distro en el disco y en otras simplemente te ignora y hace lo que le sale de los cataplines),  es por ello que a menos que te conozcas bien el proceso de instalación, lo mejor es que des-habilites el disco en la BIOS o directamente lo quites,para luego no encontrarte con un problema que aunque solucionable no por ello dejan de ser molesto.

Aclarado esto reiniciamos el "cacharro" con el live USB conectado (Se da por hecho que el USB está configurado en la BIOS para que este por encima del disco principal en el proceso de arranque) y arrancamos la live. Una vez arrancada esta, podemos conectar el disco duro externo donde vamos a instalar nuestra distro.
Una vez conectado el disco externo ejecutamos el proceso de instalación del sistema en la live. Durante el proceso de instalación nos aseguraremos en el apartado de particionado de la instalación que lo hacemos en el disco correcto tanto las particiones como el boot loader. En la siguiente imagen podemos ver en este caso concreto, el proceso de instalación de Ubuntu en un disco externo, indicandole que instale el grub en ese mismo disco (/dev/sdb)y no en el principal que en nuestro caso sería /dev/sda.

Una vez termine de instalarse apagamos todo, quitamos los 2 USB (el Live y el en que acabamos de instalar la distro) si queremos arrancar para asegurarnos de no habernos cargado nada si no hemos desconectado el disco principal o bien solo quitamos el USB con la distro en modo live para poder funcionar con la distro que acabamos de instalar.

Con respecto a los discos USB externos, aquí contemplo 3 opciones.

Flash USB: Necesario que tenga un buena velocidad tanto de lectura como de escritura o la experiencia con este tipos de dispositivos puede ser nefasta. Aunque muchas veces pueden valer con 8G para una cosa simple, si lo que quieres es tener instalado un sistema totalmente portable recomiendo 16G mínimo, 32G recomendables.

Tarjeta SD: Lo dicho con las memorias USB vale para estas tambien, cuanto más capacidad y más rápidez mejor.





Disco duro externo USB: En este tipo de discos, la velocidad de lectura/escritura y el tamaño de los mismos no son tan limitantes como en los dos casos anteriores obteniendo unos resultados similares a que si estuvieran instalado en tu disco principal, si bien estos dispositivos, suelen ser también portables, por tamaño, pueden ser una opción menos cómoda que las dos opciones anteriores.
En lo personal el tipo de disco duro que uso es esta, aunque eso no me impide tener una distro instalada en un USB de 16G que suelo usar si me tengo que desplazar a un cliente o usar un ordenador que no es mío.


Bonus Extra

En caso de que no hayas retirado el disco principal y te hayas cargado el sector de arranque, desde un liveCD hacemos:
sudo mount /dev/sdbx /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install --force /dev/sdx
update-grub

Donde /dev/sdx es el disco principal, (habitualmente /dev/sda)

1 comentario:

  1. Hice la parte final pero me sale esto:
    root@kali:~# sudo mount /dev/sdc2 /mnt
    mount: /dev/sdc2 is already mounted or /mnt busy
    /dev/sdc2 is already mounted on /media/root/a661ebf6-a1e3-411b-8275-91b4cf4db174
    /dev/sdc2 is already mounted on /mnt
    root@kali:~# sudo mount --bind /dev /mnt/dev
    root@kali:~# sudo mount --bind dev/pts /mnt/dev/pts
    mount: special device dev/pts does not exist
    root@kali:~# sudo mount --bind /proc /mnt/proc
    root@kali:~# sudo mount --bind /sys /mnt/sys
    root@kali:~# sudo chroot /mnt
    root@kali:/# grub-install --force /dev/sda
    Installing for i386-pc platform.
    Installation finished. No error reported.

    Donde estoy fallando?

    ResponderEliminar