Ir al contenido
Esta página está desactualizada. Consulte la documentación más reciente en /configuration/automount_with_fstab/

Montar Unidades Adicionales Automáticamente al Arrancar con fstab

Este tutorial describe los conceptos básicos de cómo utilizar el archivo fstab ubicado en /etc/ para montar unidades estáticas durante el arranque. Explica brevemente cómo encontrar el UUID de una partición o unidad, qué hacen algunas opciones y lecturas adicionales en caso de que la información proporcionada sea insuficiente.

  • Acceso root o sudo
Abra una terminal y ejecute el siguiente comando
lsblk -f
Salida de ejemplo
# NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
# zram0 [SWAP]
# nvme0n1
# ├─nvme0n1p1 vfat FAT32 E04D-9F05
# ├─nvme0n1p2
# ├─nvme0n1p3 ntfs 08A24E90A24E81E4 715.4G 50%
# ├─nvme0n1p4 vfat FAT32 E09C-D4DA 628.1M 39% /boot
# ├─nvme0n1p5 ext4 1.0 187a9f06-9411-48d9-b941-f03c2e605812 203.6G 47% /
# └─nvme0n1p6 ntfs

En nuestro ejemplo, sabemos que queremos montar una partición de Windows, que es ntfs. También sabemos que aproximadamente la mitad de su espacio está disponible. Por lo tanto, podemos determinar que la partición que queremos montar es nvme0n1p3 y su UUID es 08A24E90A24E81E4, con un sistema de archivos ntfs en este ejemplo.

A menudo, lsblk -f le proporcionará toda la información que necesita para montar su disco a través de /etc/fstab en este punto. Si aún no está seguro de cuál es la partición correcta, puede ejecutar el siguiente comando:

Ventana de terminal
sudo fdisk -l
Salida de ejemplo
# Device Start End Sectors Size Type
# /dev/nvme0n1p1 2048 206847 204800 100M EFI System
# /dev/nvme0n1p2 206848 239615 32768 16M Microsoft reserved
# /dev/nvme0n1p3 239616 2997384182 2997144567 1.4T Microsoft basic data
# /dev/nvme0n1p4 2997385216 2999482367 2097152 1G EFI System
# /dev/nvme0n1p5 2999482368 3905454079 905971712 432G Linux root (x86-64)
# /dev/nvme0n1p6 3905454080 3907026943 1572864 768M Windows recovery environment

Ya conocemos nuestro UUID en este ejemplo. Sin embargo, fdisk -l puede aclararnos un poco más las cosas al mostrar el tamaño exacto de la partición (1.4T) así como su tipo (Microsoft basic data).

Eso debería dejarnos meridianamente claro que la partición que queremos es nvme0n1p3 con un UUID de 08A24E90A24E81E4 como se describió anteriormente. Ya lo sabíamos antes, pero ahora lo sabemos con certeza.

Una vez que esté seguro de haber encontrado la partición correcta, copie el UUID. Copiar desde el emulador de terminal se hace normalmente con ctrl+shift+C.

Ahora que hemos obtenido el UUID de nuestra partición, es hora de abrir el archivo fstab.

Siéntase libre de usar su editor de texto preferido. En este ejemplo, usaremos nano. Para editar el archivo fstab, debe abrirse como root:

Ventana de terminal
sudo nano /etc/fstab

Usando las teclas de flecha, navegue hasta el final del archivo fstab, luego cree nuestra nueva entrada en una nueva línea vacía:

Ventana de terminal
UUID=08A24E90A24E81E4 /media/windows ntfs3 defaults,nofail,uid=1000,gid=1000,rw,user,exec,umask=000 0 0

El desglose de esta entrada es el siguiente:

  • UUID=08A24E90A24E81E4 es el sistema de archivos que queremos montar, identificado por su UUID. Hay otros métodos para identificar su sistema de archivos, aunque el UUID tiende a ser el más seguro. Métodos adicionales listados aquí.

  • /media/windows es el punto de montaje de nuestra unidad. El Estándar de Jerarquía del Sistema de Archivos de Linux (Linux Filesystem Hierarchy Standard) dice que /media/ es la ubicación adecuada para montar unidades extraíbles. windows indica el directorio en el que deseamos montar nuestra unidad. Cada unidad que queramos montar necesitará su propio directorio.

  • ntfs3 es el tipo de sistema de archivos a utilizar. En nuestro ejemplo estamos usando explícitamente el controlador del kernel ntfs3. Otros ejemplos serían ext4, xfs o similares. Esta declaración explícita del tipo de sistema de archivos puede ser reemplazada por auto para permitir que el comando mount haga su mejor suposición.

  • defaults,nofail,uid=1000,gid=1000,rw,user,exec,umask=000: Estas son las opciones de montaje:

    • defaults: un conjunto estándar de opciones que incluye rw, suid, dev, exec, auto, nouser, y async.

    • nofail: permite que el proceso de arranque continúe incluso si este montaje falla.

    • uid=1000 y gid=1000: establece la propiedad del usuario y del grupo de los archivos montados al usuario y grupo con ID 1000.

    • rw: monta el sistema de archivos como lectura-escritura.

    • user: permite que un usuario no-root monte el sistema de archivos.

    • exec: permite la ejecución de binarios en el sistema de archivos montado.

    • umask=000: establece la máscara de permisos de archivo para permitir permisos de lectura, escritura y ejecución para todos.

    • el primer 0 (dump) está típicamente obsoleto en los sistemas modernos. Dejarlo en 0 no causará ningún problema. Puede leer más al respecto aquí.

    • el segundo 0 establece el orden para las comprobaciones del sistema de archivos en el momento del arranque. Para una partición raíz, esto debería ser 1, a menos que su sistema de archivos raíz sea btrfs, que en ese caso debería establecerse en 0. Todos los demás sistemas de archivos en su fstab deberían ser 0 (deshabilitado) o 2. Más información aquí.

Para una visión más detallada de cada opción, visite estas dos páginas del manual: página man de fstab y página man de mount.

Como apunte, todas las opciones después de la declaración del tipo de sistema de archivos son opcionales si no las cambia de las predeterminadas.

Por lo tanto

UUID=<UUID de la partición> /media/foo algunfs

y

UUID=<UUID de la partición> /media/foo algunfs defaults 0 0

son equivalentes. algunfs seguido de nada es implícitamente algunfs defaults 0 0.

Si desea montar ahora la unidad para la que creó una entrada, necesita ejecutar lo siguiente:

Ventana de terminal
sudo systemctl daemon-reload

y luego:

Ventana de terminal
sudo mount -a

Su unidad debería aparecer ahora en /media/windows y aparecerá allí cada vez que reinicie.

Ventana de terminal
ls /media/windows
# '$Recycle.Bin' Linux SteamLibrary
# AMD Modding swapfile.sys
# Apps pagefile.sys 'System Volume Information'
# bootTel.dat PerfLogs Users
# Development ProgramData WiiU
# 'Documents and Settings' 'Program Files' Windows
# DumpStack.log.tmp 'Program Files (x86)' XboxGames
# FanControl Recovery xiv_modding
# Games RetroArch-Win64
# Intel 'Ship of Harkinian'

Si desea crear un enlace a su unidad recién montada en su directorio personal, puede ejecutar lo siguiente:

Ventana de terminal
ln -s /media/windows ~/Windows

Para mostrar que funcionó:

Ventana de terminal
ls ~/Windows
# '$Recycle.Bin' Linux SteamLibrary
# AMD Modding swapfile.sys
# Apps pagefile.sys 'System Volume Information'
# bootTel.dat PerfLogs Users
# Development ProgramData WiiU
#'Documents and Settings' 'Program Files' Windows
# DumpStack.log.tmp 'Program Files (x86)' XboxGames
# FanControl Recovery xiv_modding
# Games RetroArch-Win64
# Intel 'Ship of Harkinian'
  • Encuentre el UUID de su partición
Ventana de terminal
lsblk -f
  • Abra /etc/fstab
Ventana de terminal
sudo nano /etc/fstab
  • Cree una entrada al final del archivo
Ventana de terminal
UUID=<UUID de la partición> /media/foo algunfs defaults 0 0

Reemplazando <UUID de la partición>, foo, y algunfs con su UUID, directorio y sistema de archivos. p. ej., ext4, así como estableciendo cualquier otra opción que desee después de defaults, como _netdev para un NAS, o nofail para cualquier unidad no crítica.

  • Recargue su daemon
Ventana de terminal
sudo systemctl daemon-reload
  • Monte su unidad
Ventana de terminal
sudo mount -a

Esta unidad está ahora montada, y de ahora en adelante también se montará en cada arranque.