|
14 years ago 0 |
Gracias a la popularización de los ultra-portátiles que no incluyen unidad de discos ópticos, se ha generalizado que las BIOS incluyan soporte para arrancar el ordenador desde un dispositivo USB. Primero fueron las unidades de CD/DVD externas y las disqueteras. Luego se amplió a discos duros y memorias flash.
Las memorias flash -en las que nos centramos en esta entrada- tienen la gran ventaja de ser muy pequeñas (puedes siempre llevarlas encima), resistente a golpes, reescribibles y mucho más veloces que los discos ópticos, por tanto son ideales para las tareas de instalar, reparar o probar un sistema Linux.
Por razones históricas, la gran mayoría de las distribuciones Linux cuando liberan una nueva versión de su distribución se amoldan a dos tamaños: tamaño CD de 700Mb o DVD que van hasta los 4'7Gb. Así que nos encontramos que mientras las memorias flash se aproximan a capacidades de potencias de dos -esto es: 1Gb, 2Gb, 4Gb, ... , 128Gb, ...- las unidades ópticas tienen otras capacidades que siempre va a provocar que se vaya a desperdiciar sitio.
Por ejemplo, si tenemos una memoria flash de 2Gb y una imagen ISO de 689Mb, desperdiciaremos aproximadamente 1'3Gb de valioso espacio. Además, una vez que se ha generado la jerarquía típica de directorios cuando dicha memoria flash sea iniciable es muy engorroso encontrarse con esos ficheros que además podemos borrar accidentalmente (el Kernel, por ejemplo está perfectamente a la vista) o pueden infectarse con un virus. Por tanto, la solución pasa por crear dos particiones, una de arranque que contenga los ficheros ISO de 700Mb y el resto en otra partición, de la misma manera que explicamos en la entrada de la instalación de Clonezilla. Lo ideal es que dicha partición de arranque no sea visible, por lo tanto sea más inmune a borrados accidentales.
Esta solución funciona muy bien y luego la memoria flash es visible corractamente tanto en Mac OS, como en cualquier Linux, el problema una vez más viene de la mano de Windows, que se empeña en montar la primera partición que ve, que en nuestro caso es la de arranque, exactamente la que no nos interesa ni tan siquera montar. El problema viene de muy lejos; Windows, desde la época de los disquettes de 3.5'' de 1.44Mb no permite ni crear particiones ni seleccionar el sistema de ficheros a contener dentro de lo que ellos denominan una unidad removible, por ejemplo, no nos permite formatear una unidad flash con NTFS y mucho menos tener dos o más particiones.
También existen soluciones a este problema, por ejemplo cambiando un cierto bit en el firmware de la memoria flash conseguimos que Windows crea que se trata de un disco duro y por tanto, ya te permite particionarlo (el problema es que el fabricante de las memorias flash debe proporcionarte ese software, algo a todas luces harto improvable), otra solución es toquetear los drivers de Windows para que lo detecte como un disco duro, por tanto, en cada Windows sería necesario este método para que monte la partición correcta, algo realmente engorroso.
La solución que vamos a explicar hace que tanto en Windows, como en Linux y como en Mac OS se monte la partición de datos y no la que contiene el sistema operativo. Vamos por tanto a partir del siguiente supuesto:
Vamos a ir paso por paso:
Disco /dev/sdc: 3982 MB, 3982491648 bytes 123 cabezas, 62 sectores/pista, 1019 cilindros Unidades = cilindros de 7626 * 512 = 3904512 bytes Identificador de disco: 0xf35e2c28 Dispositivo Inicio Comienzo Fin Bloques Id Sistema /dev/sdc1 295 1019 2764425 7 HPFS/NTFS /dev/sdc2 * 1 294 1120991 6 FAT16 Las entradas de la tabla de particiones no están en el orden del disco
mkfs.msdos /dev/sdc2 -n MINT8
mkfs.ntfs /dev/sdc1 -L "Memoria flash" -f
Et voilà, con esto ya tenemos una memoria flash de arranque en la que el espacio libre se puede utilizar como cualquier memoria flash y compartir información de un ordenador a otro. Incluso, cuando el Linux arranca, monta automáticamente /dev/sdc1 para que puedas utilizarla.