Флешка не отмонтируется (device is busy)

Обычно это касается только тех систем, на которых в качестве графического интерфейса установлен xfce4. 

Суть проблемы: в боковой панели файлового менеджера нажимаем правой кнопкой мыши на диске, который мы хотим безопасно извлечь и получаем сообщение: "устройство используется, закройте приложения, использующие устройство и попробуйте снова". Подробностей ГУИ не говорит, значит открываем чёрный обелиск терминал, и белыми буквами вводим:

$ sudo fdisk  -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, всего 976773168 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9a5f6de1
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   245759999   122776576    7  HPFS/NTFS/exFAT
/dev/sda3       245760000   734041249   244140625    7  HPFS/NTFS/exFAT
/dev/sda4       734042110   976771071   121364481    5  Расширенный
/dev/sda5       734042112   969435135   117696512   83  Linux
/dev/sda6       969437184   976771071     3666944   82  Linux своп / Solaris
Disk /dev/sdb: 15.6 GB, 15552479232 bytes
255 heads, 63 sectors/track, 1890 cylinders, всего 30375936 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcad4ebea
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb4   *         256    30375935    15187840    c  W95 FAT32 (LBA)

Из данного вывода нас интересует только то, что имеет отношение к нашей флешке.
В данном случае наша флешка это
Disk /dev/sdb: 15.6 GB, 15552479232 bytes , которая имеет один раздел /dev/sdb4   *         256    30375935    15187840    c  W95 FAT32 (LBA).
Теперь попробуем
ввести команду:

$ sudo umount /dev/sdb4
если после этого никаких сообщений не появилось, значит диск отмонтирован нормально и его можно извлечь из разъема.
Но у меня был случай такой. Orange Pi Lite использует карточку памяти для хранения операционной системы и иногда необходимо в каталоге /etc поправить какие-нибудь файлы настроек, например, настройки сети. Orange Pi Lite имеет HDMI выход, но большая часть мониторов у меня без него, а единственный телевизор с HDMI использовался только для первичной настройки.
Потребовалось изменить настройки сети. Для этого необходимо исправить файл /etc/network/interfaces, для этого извлекаем карточку памяти, устанавливаем её в карт-ридер и подключаем к любой Linux-машине, поскольку карточка памяти отформатирована а ext4 и ни mac, ни win не смогут адекватно её прочитать без костылей.
После правки через nano я нажимаю в Thunar пункт меню "извлечь том", а система ругается.
команда
$ sudo umount /dev/sdс1 (так определяется карточка памяти на моей Linux машине) делает вывод:
device is busy (устройство занято). На всякий случай переходим в домашнюю директорию:
cd ~
повторяем команду и получаем тот же ответ.
пробуем следующую команду:
# lsof |grep /media/"имя_вашей_флешки"
выдает список процессов, пользователей и используемых файлов:
root@MILLER3040:/home/miller# lsof |grep "/media/b77f0af8-bc4e-4e7e-907c-9df8fd6be88d"
bash      4399           miller  cwd       DIR       8,33         4096         64 /media/b77f0af8-bc4e-4e7e-907c-9df8fd6be88d/etc/network
nano      4442           miller  cwd       DIR       8,33         4096         64 /media/b77f0af8-bc4e-4e7e-907c-9df8fd6be88d/etc/network
из вышеуказанного вывода программы видно, что карточку памяти держит bash и nano.
Теперь, даже если закрыть nano, то bash будет продолжать держать карту памяти, не давая не отмонтировать:
root@MILLER3040:/home/miller# umount /dev/sdc1
umount: /media/b77f0af8-bc4e-4e7e-907c-9df8fd6be88d: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1)
)
Так получается только тогда, если вы открывали терминал из контекстного меню по нажатию правой кнопки мыши "открыть в терминале".
Закроем терминал, а также окно, в котором открыто содержимое папки и повторим:
root@MILLER3040:/home/miller# umount /dev/sdc1
root@MILLER3040:/home/miller#
Вместо вывода появилась новая строка приглашения.
Это значит, что отмонтирование произошло успешно. 

Кстати, Linux Mint 19, 20 умеет самостоятельно решать данную проблему 

Выводы делайте сами, если вам помогла данная статья, то можете ей поделиться в виде ссылки.

Комментарии

Популярные сообщения из этого блога

LibreCAD шрифты

Как пользоваться LibreCAD так, чтобы было удобно.

Подключение локального репозтория для debian/ubuntu/mint/astra включая установочный диск