Montaje y desmontaje manual de unidades

En esta práctica del módulo de Sistemas Operativos Monopuesto, profundizaremos en la gestión del control de dispositivos de almacenamiento. Aprenderemos a realizar el montaje y desmontaje manual de un sistema de archivos externo, ya sea mediante el uso de imágenes virtuales o memorias USB, tanto en entornos Linux (con mount) como en Windows.

Objetivo:

Comprender cómo integrar volúmenes de almacenamiento externos o imágenes de disco virtuales en el sistema operativo, accediendo a su contenido y liberándolos de forma segura tras su utilización.

Escenario:

  • Un equipo con sistema operativo GNU/Linux o Windows.
  • Acceso a la terminal o consola de comandos con privilegios de administrador o superusuario (sudo).

Instrucciones:

Opción A: Entorno GNU/Linux (Montaje manual con mount y umount)

  1. Creación y formateo de una imagen virtual:
    • Crea un archivo de 50 MB: dd if=/dev/zero of=disco_virtual.img bs=1M count=50
    • Formatea la imagen con ext4: mkfs.ext4 disco_virtual.img
  2. Montaje y desmontaje del volumen:
    • Crea el punto de montaje: sudo mkdir /mnt/punto_montaje
    • Monta la imagen usando bucles virtuales: sudo mount -o loop disco_virtual.img /mnt/punto_montaje
    • Para liberarlo de forma segura al terminar: sudo umount /mnt/punto_montaje

Opción B: Entorno Windows (Montaje de imágenes y unidades)

  1. Montaje de imágenes ISO o VHD/VHDX:
    • En Windows, las imágenes de disco (como archivos .iso o discos virtuales .vhd) se pueden montar de manera nativa sin herramientas de terceros.
    • Haz doble clic sobre el archivo de imagen, o haz clic derecho y selecciona Montar. El sistema le asignará automáticamente una letra de unidad (ej. E:).
    • También puedes automatizarlo o gestionarlo mediante PowerShell ejecutando:
      Mount-DiskImage -ImagePath "C:\ruta\imagen.iso"
  2. Desmontaje de la unidad virtual:
    • Para desmontar la imagen de forma segura, haz clic derecho sobre la letra de la unidad en el Explorador de archivos y selecciona Expulsar.
    • Mediante PowerShell, puedes desmontarla ejecutando:
      Dismount-DiskImage -ImagePath "C:\ruta\imagen.iso"

Verificación

  1. Comprueba que el volumen o archivo de imagen se ha enlazado correctamente al sistema operativo.
  2. Verifica que puedes acceder al contenido de los archivos de forma transparente.
  3. Confirma que tras la expulsión o desmontaje (umount / Expulsar), el recurso queda liberado sin rastro activo en el sistema.

Preguntas de reflexión:

  1. ¿Qué diferencia conceptual existe entre el modelo de un único árbol jerárquico de directorios de Linux (donde todo se monta en carpetas) frente al sistema de letras de unidad de Windows?
  2. ¿Por qué el sistema operativo devuelve un error de tipo "device is busy" en Linux o deniega la expulsión en Windows al intentar desmontar una unidad en uso?
  3. ¿Qué ventajas aporta el soporte nativo de montaje de imágenes VHD/ISO en los sistemas operativos modernos frente a la necesidad de instalar software de terceros?
Haz clic aquí para ver la solución orientativa

1. ¿Qué diferencia conceptual existe entre el árbol de directorios de Linux y las letras de unidad de Windows?

Linux integra todos los dispositivos de almacenamiento dentro de una única estructura jerárquica unificada que parte de la raíz (/), donde cada disco o partición cuelga de una carpeta contenedora. Windows, en cambio, asigna una raíz independiente con una letra de identificador (C:, D:, etc.) a cada volumen o partición de manera aislada.


2. ¿Por qué ocurre el error de dispositivo ocupado al intentar desmontar un volumen?

Ocurre porque algún proceso, servicio de Windows o ventana de comandos mantiene un identificador de archivo abierto o una sesión activa dentro de esa ruta. El sistema bloquea el desmontaje para evitar corrupciones de datos y asegurar que se vacíen correctamente los búferes de escritura pendientes.


3. ¿Qué ventajas aporta el soporte nativo de montaje de imágenes frente al software de terceros?

El soporte nativo integrado directamente en el kernel o en el sistema operativo evita dependencias de aplicaciones externas, reduce vulnerabilidades de seguridad derivadas de drivers de terceros no firmados y ofrece un rendimiento optimizado al interactuar de forma directa con los subsistemas de almacenamiento del sistema.



En esta práctica del módulo de Sistemas Operativos Monopuesto, profundizaremos en la gestión del árbol de directorios y el control de dispositivos de almacenamiento en entornos GNU/Linux. Aprenderemos a realizar el montaje manual de un sistema de archivos externo (simulado mediante un archivo de imagen .img o un dispositivo físico) en una carpeta vacía utilizando el comando mount, y su posterior liberación segura mediante umount.

Objetivo:

Comprender la filosofía de "todo es un archivo" y el árbol de directorios unificado en Linux, realizando operaciones manuales de montaje y desmontaje de volúmenes externos y verificando los puntos de montaje activos.

Escenario:

  • Un equipo con sistema operativo GNU/Linux.
  • Acceso a la terminal con privilegios de superusuario (sudo).

Instrucciones:

1. Creación de un archivo de imagen simulado (Alternativa sin USB físico):

  1. Abre una terminal con privilegios de superusuario.
  2. Crea un archivo vacío de 50 MB lleno de ceros que actuará como disco virtual:
    dd if=/dev/zero of=disco_virtual.img bs=1M count=50
  3. Formatea el archivo con un sistema de archivos ext4:
    mkfs.ext4 disco_virtual.img

2. Montaje manual del sistema de archivos en una carpeta vacía:

  1. Crea un directorio vacío que funcionará como punto de montaje (punto de acceso):
    sudo mkdir /mnt/punto_montaje
  2. Monta la imagen del disco virtual (o la partición de tu memoria USB, ej. /dev/sdb1) en la carpeta creada utilizando el comando mount con el parámetro de bucle (*loop*) en caso de imágenes:
    sudo mount -o loop disco_virtual.img /mnt/punto_montaje
  3. Comprueba que el montaje se ha realizado correctamente y visualiza el espacio disponible ejecutando:
    df -h | grep punto_montaje
  4. Explora el contenido o crea un archivo de prueba dentro del directorio montado:
    echo "Prueba de montaje" | sudo tee /mnt/punto_montaje/test.txt

3. Desmontaje seguro del volumen con umount:

  1. Sal del directorio de montaje si te encuentras dentro (por ejemplo, cambia al directorio raíz cd ~), ya que el sistema operativo impedirá el desmontaje si hay procesos utilizando la ruta.
  2. Desmonta el sistema de archivos de forma limpia y segura utilizando el comando umount:
    sudo umount /mnt/punto_montaje
  3. Verifica que el directorio ha vuelto a quedar vacío y que ya no aparece vinculado en la tabla de particiones activas ejecutando ls /mnt/punto_montaje y df -h.

Verificación

  1. Comprueba que has creado y formateado con éxito el archivo de imagen o conectado el dispositivo USB.
  2. Verifica que el comando mount asocia correctamente el dispositivo lógico al directorio de destino.
  3. Confirma que tras ejecutar umount, los recursos quedan liberados de forma segura sin pérdida de datos.

Preguntas de reflexión:

  1. ¿Qué significa conceptualmente en GNU/Linux que los dispositivos de almacenamiento no se identifiquen con letras de unidades (como C: o D:), sino que se integren directamente dentro de un único árbol jerárquico de directorios?
  2. ¿Por qué el sistema operativo devuelve un error de tipo "device is busy" (dispositivo ocupado) al intentar desmontar una unidad con umount, y qué herramientas se pueden utilizar para identificar qué procesos están bloqueando el acceso?
  3. ¿Qué utilidad presenta el parámetro -o loop al montar un archivo de imagen estático .img o .iso en comparación con un dispositivo físico de bloques real?
Haz clic aquí para ver la solución orientativa

1. ¿Qué significa conceptualmente en Linux que los dispositivos se integren en un único árbol de directorios?

A diferencia de Windows, donde cada partición o disco físico constituye una unidad independiente con su propia letra raíz, GNU/Linux maneja un único árbol jerárquico unificado que parte de la raíz (/).

Cualquier disco duro externo, memoria USB, partición de red o imagen virtual se "conecta" (monta) en una carpeta específica dentro de ese mismo árbol preexistente, haciendo que los archivos formen parte de la misma estructura lógica de directorios sin distinción de su procedencia física.


2. ¿Por qué ocurre el error device is busy al desmontar y cómo se puede solucionar?

El error "device is busy" salta cuando algún usuario o proceso del sistema mantiene una sesión activa en el interior de esa ruta (por ejemplo, una ventana de terminal abierta en esa carpeta, un editor de texto con un archivo abierto o un script en ejecución).

Para evitar la corrupción de datos y la pérdida de escrituras pendientes en caché, el kernel bloquea el desmontaje. Se puede identificar qué procesos están bloqueando el volumen utilizando el comando fuser -m /punto_montaje o lsof +w /punto_montaje para posteriormente cerrarlos.


3. ¿Qué utilidad presenta el parámetro -o loop al montar un archivo de imagen?

Un archivo de imagen (como .img o .iso) es simplemente un fichero ordinario almacenado en el disco, no un dispositivo de bloques físico real (como /dev/sdb).

El parámetro -o loop (dispositivo de bucle) le indica al kernel de Linux que cree un puente lógico virtual que actúe como un controlador de disco duro simulado, permitiendo tratar al archivo plano como si fuera un dispositivo físico de bloques y facilitando así su lectura y montaje con mount.