Desmontar pendrive “atascado”

Hay ocasiones en las que aunque tengamos cerradas todas las ventanas el pendrive se niega a ser desmontado de nuestro equipo (el pobre le coge cariño y no quiere separarse de él 😉 )

Aunque no suele ser lo habitual, en el centro TIC en el que trabajo, con el querido Guadalinex que “disfruto” a diario casi es algo habitual y me he visto obligado a buscar una solución al problema 😦

Por fortuna, con una simple instrucción en la terminal es fácil de solucionar por lo que os recomiendo seguir leyendo si os habéis encontrado alguna vez en esta situación …

Lo primero es descubrir el directorio en el que está montado nuestra memoria usb y para ello lo mejor es usar el comando

mount

y localizar la entrada correspondiente al memory stick (normalmente suele ser del tipo /dev/sdb1 pero el valor concreto dependerá de vuestra distribución linux y de los discos duros instalados en vuestro ordenador)

Una vez localizado basta ejecutar un

fuser -v /dev/sdb1

para obtener el PID del proceso (supongamos que nos devuelve el 24507) que tiene secuestrado el dispositivo.

Con ese valor ejecutamos un simple

kill -9 24507

gracias al cual morirá el proceso que tiene secuestrado el pendrive y podremos desmontarlo sin problemas.

4 comentarios en “Desmontar pendrive “atascado”

  1. Kill … buen comando y señal de cómo Linux trabaja bien el tema multiprocesos.

    Imagino que lo usas cuando ni el “umount” te hace caso, no?

    Un saludo y felicidades por aportar conocimiento a la red 😉 Buen trabajo!

  2. jasvazquez dijo:

    Efectivamente Alberto… cuando no hay menda de desmontar el pendrive por mucho que ejecutes umount y cierres todas las ventanas que supones tienen “secuentrado” al pendrive.

  3. Legeh dijo:

    Estaba haciendo un script para desatascar dispositivos pendrives… Lo comparto acá por si a alguien le sirve, además que pueden mejorarlo y todos aprendemos. 😉

    Use como parámetro de búsqueda el que el dispositivo esté formateado en fat. Si está formateado en ntfs, ext3 u otro se debe modificar el script. Se puede cambiar el fat por la etiqueta del dispositivo…

    Para ejecutarlo se tiene que guardar con el nombre “desmontado.sh” en el escritorio home correspondiente (en caso de cambiar el nombre del archivo… debe modificarse la denominación en el script). Se ejecuta como root desde la ubicación de home del usuario.

    ————————
    #!/bin/bash
    # Desmontar el dispositivo (a veces se necesita ser root)
    mount | grep fat | cut -d ” ” -f 1 | xargs umount -f
    if [ $? = 0 ]
    then
    exit
    else
    # Para ver si el dispositivo está montado, pero ocupado
    mount | grep fat
    if [ $? = 0 ]
    then
    # Listar los dispositivos montados (mount). Entubar y buscar líneas con la palabra fat. Cortar el primer campo. Usar la salida estandar como parámetro para listar los procesos asociados al dispositivo. (xargs fuser). Cortar el número de dispositivo. Usar la salida estandar para matar el proceso asociado (kill -9).
    mount | grep fat | cut -d ” ” -f 1 | xargs fuser -m | cut -d ” ” -f 2 | xargs kill -9
    # sh ./desmontado.sh –> pa hacer bucle
    sh ./desmontado.sh
    else
    exit
    fi
    fi
    —-

    Cualquier comentario se agradece.

    Saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s