Montar particiones en Linux. Mount
Cada sistema de ficheros que se desea incorporar se tiene que montar en un directorio. Se suelen crear subdirectorios en /mnt/
o en /media/
. Por otra parte, cada dispositivo que se monta en el sistema debe poseer información sobre su montaje en un fichero ubicado en /dev/
.
Es habitual encontrarnos con los subdirectorios floppy y cdrom, que estarán vacíos hasta que no introduzcamos los correspondientes dispositivos. Debido a la frecuencia con la que se solían introducir y extraer este tipo unidades el sistema tiene los mecanismos necesarios para permitir que el contenido se muestre automáticamente en los directorios anteriormente mencionados.
Cuando vinculamos un directorio vacío con el contenido de un nuevo sistema de ficheros, bien sea un dispositivo externo, otra partición de disco, un directorio compartido, etc. se dice que estamos “montando” dicha partición.
Contenidos
Mount
Para realizar esta tarea de forma manual existe el comando mount que tiene la siguiente sintaxis:
mount -t <fstype> <device> <dir>
- fstype: Es el tipo de sistema de ficheros que se va a montar (ext4, ntfs, etc.).
- device: Hace referencia a la partición física. Lo más habitual es que sea un fichero dentro de
/dev/
(como/dev/sdb1
) pero también puede ser un identificador único, una etiqueta o la ruta de un recurso de red. - dir: El directorio donde se incorpora el sistema de ficheros, normalmente en
/media
o en
/mnt
. Debe estar vacío, en caso contrario se sustituirá el contenido, aunque se volverá a restaurar cuando se desmonte la nueva partición.
Cuando vamos a ejecutar esta orden nos pueden surgir dudas respeto a cuál es el sistema de ficheros de la partición a montar o sobre la ruta del dispositivo que debemos poner. Si son dispositivos que están conectadas físicamente a nuestro ordenador podemos utilizar la orden lsblk -f
. En la primera columna nos indica la manera de hacer referencia a la partición deseada y en la segunda el tipo de sistema de ficheros que es.
En la siguiente imagen se muestra información sobre dos discos, uno (sdb
) con una partición de Windows y otro (sda) con las particiones de Linux
También se puede usar la orden fdisk -l
que nos dará una información como esta:
Nota: Recuerda que no se puede montar un disco completo (nunca pondremos
/dev/sda
) hay que elegir alguna de las particiones que ya están formateadas con un sistema de ficheros concreto, por ejemplo/dev/sda1
En cuanto al parámetro que hay que poner en mount
para especificar el tipo de sistema de ficheros podemos consultar la opción -t
del manual de mount (man mount
) o ejecutar la orden
cd /lib/modules/$(uname -r)/kernel/fs
Así por ejemplo si queremos acceder a un pendrive con Fat32 que se ha enlazado en el sistema com sdc podríamos poner (suponiendo que el directorio /media/usb/ exista
)
mount -t vfat /dev/sdc1 /media/usb/
Para tener mayor compatibilidad con particiones NTFS es posible que tengamos que instalar el paquete ntfs-3g
Para acceder a la partición de Windows con la información que de la imagen anterior de la información que devuelve lsblk podríamos hacer:
mkdir /media/win/ mount -t ntfs /dev/sdb2 /media/win/
Umount
Cuando estamos usando un dispositivo extraíble como un pendrive USB es muy importante que lo desmontemos antes de desconectarlo. El sistema puede que no haya escrito físicamente todos los cambios en los ficheros y retirarlo abruptamente puede ocasionar que los ficheros queden corruptos incluso el dispositivo completo (no es lo habitual, pero puede pasar)
Para desmontar un dispositivo usamos la orden umount pero con un único parámetro. Podemos elegir el directorio donde está montado o la ruta física de la partición.
umount /dev/sdb2 ó umount /media/win/
Nota: Si al desmontar el dispositivo nos aparece un mensaje indicando que está ocupado y no sabemos por qué, podemos usar el comando lsof pasándole como argumento la partición o el punto de montaje.
El fichero /etc/fstab
En general, para montar dispositivos se necesita ser administrador. Pero normalmente un usuarios sin privilegios debería de poder acceder al CD o a la disquetera. También es un problema que cada vez que arranquemos el sistema se desconecten las unidades que tenemos montadas. Además… ¿quién monta la partición principal del sistema operativo?.
Para todo ello existe el fichero /etc/fstab
donde podemos configurar los sistemas de ficheros que se van a montar al arrancar el PC y las opciones que le asignamos a cada uno.
Se compone de una linea por cada sistema de ficheros a montar, las cuales tendrán las siguientes columnas:
- file system: hace referencia a una partición o recurso.
- mount point: es la carpeta donde estarán accesibles los datos del sistema de archivos.
- type: es el tipo de sistema de ficheros (ntfs, ext4, ..)
- options: es el lugar donde se especifican los parámetros que mount utilizará para montar el dispositivo, si son varios deben estar separadas por comas.
- dump: si usamos dump para hacer copias de seguridad en esta columna pondremos un 1 para indicar que copie esta partición, o un 0 para ignorarla.
- pass: cuando la aplicación fsck revise el sistema en busca de problemas en disco, indica la prioridad que tendrá este sistema de ficheros. A mayor número, más prioridad, si es 0 no se revisa.
Ejemplos:
/dev/sda1 / ext4 errors=remount-ro 0 1 /dev/hda1 /media/win_c vfat iocharset=iso8859-1,umask=0 0 0
En cuanto a las opciones, las más usadas son:
- user: Cualquier usuario puede montar este dispositivo. La orden para desmontarlo sólo podrá ser ejecutada por el usuario que lo ha montado o por el root.
- users: Cualquier usuario puede montar el dispositivo y cualquier usuario puede desmontarlo.
- nouser: Sólo el root puede montar y desmontar el dispositivo.
- noauto: El dispositivo no se monta automáticamente.
- exec: Permite la ejecución de ficheros de aplicación. No está permitido con noexec.
- sync: Los accesos al sistema de ficheros se efectúa en modo síncrono. Con async se realiza en modo asíncrono.
- ro: El dispositivo se monta en modo sólo lectura. Sin esta opción o con rw se monta en modo lectura-escritura.
- umask: Hace referencia a los permisos de los ficheros cuando provienen de sistemas que no utilizan esta característica, como fat y vfat.
Si queremos simplificar, podemos dejar al sistemas elegir estas opciones y poner simplemente defaults
Modos de identificar la partición a montar
Tradicionalmente la manera de indicar el dispositivo físico al que quiero acceder, es utilizando algún fichero del directorio /dev/
, pero esta forma tiene una vinculación hardware muy fuerte y si cambiamos las conexiones podríamos tener que los discos han cambiado de nombre (si cambiamos los cables de la placa base puede que antes lo reconozca como sda y después como sdb).
Para solucionar esto hay varias maneras de referirse a los dispositivos de manera lógica.
Por UUID
A cada partición se le asigna un identificador único y siempre será el mismo para dicha partición. La manera de usarlo sería:
mount -t ntfs UUID=F2D6FE21D6FDE62F /media/win/
Es cada vez más común utilizar este método en el fichero /etc/fstab
porque una confusión en la partición de principal haría que el sistema no pudiera arrancar. Por ejemplo:
UUID=1a62ff6c-fee5-4763-ac8a-c09a49f72642 / ext4 errors=remount-ro 1 1
Podemos conocer el UUID con los comandos indicados en secciones anteriores, y también con blkid
Por Etiqueta
También se puede usar la etiqueta que le hayamos puesto a la partición, por ejemplo:
mount -t ntfs -L Win10 /media/win
en fstab:
LABEL=Win10 /media/win ntfs defaults 0 0
Nota: El sistema tiene una serie de directorios con enlaces para identificar las particiones según varios criterios. Están en
/dev/disk/by-
CRITERIO siendo CRITERO: uuid, id, label, partuuid o path
Información sobre particiones montadas
Si queremos información sobre las particiones que están montadas podemos ejecutar el comando mount
sin parámetros. También podemos mostrar el contenido del fichero /etc/mtab
(que es un enlace a /proc/self/mounts
)
Etiqueta:portada