Безопасное извлечение диска в Linux: как правильно размонтировать устройство
Вы когда-нибудь просто выдергивали флешку из компьютера и потом с ужасом обнаруживали, что файлы повреждены? В Linux такая оплошность может дорого обойтись. Но есть простое и надежное решение!
Правильное размонтирование диска — это не просто формальность, а ключевой шаг для защиты ваших данных от потери и corruption. Система не позволит вам так просто отключить устройство, если оно все еще используется.
Именно для этого существует мощная команда `umount`. Она аккуратно завершает все операции чтения и записи, гарантируя целостность информации. Но что делать, если система упорно пишет "устройство занято"?
Мы подготовили для вас практическое руководство, которое разберет все по полочкам. Вы узнаете не только базовый синтаксис команды, но и работу с ее ключевыми опциями. Например, как принудительно размонтировать диск или отключить его, когда он освободится.
В статье вас ждут конкретные примеры для самых частых ситуаций. Как безопасно извлечь USB-накопитель, как разом отключить все устройства и даже как работать с рекурсивным размонтированием путей.
Хватит гадать и рисковать своими данными! Переходите к полной статье, чтобы освоить этот обязательный навык и всегда делать это правильно.
При прекращении работы с диском в Linux, чтобы полностью закрыть к нему доступ и избежать повреждения данных при выключении, следует его размонтировать. Для этих целей существует утилита umount, которая запускается через терминал.
В данной статье мы разберемся с ее синтаксисом и опциями. А заодно рассмотрим, как размонтировать диск в Linux. Для удобства все будет описано на конкретных примерах.
Содержание статьи
Синтаксис и опции umount
В отличие от mount, команда umount Linux размонтирует указанный диск. В результате он становится недоступным. Это относится и к любым подключенным устройствам. У команды достаточно понятный синтаксис:
$ umount опции /путь/к/точке/монтирования
$ umount опции название_устройства
Перейдем к списку доступных опций:
- -a, --all – размонтировать все файловые системы, указанные в /proc/self/mountinfo. Исключение составляют roc, devfs, devpts, sysfs, rpc_pipefs и nfsd.
- -A, --all-targets – размонтировать все точки монтирования в текущем пространстве имен для указанной файловой системы.
- -c, --no-canonicalize – не канонизировать пути.
- -d, --detach-loop – освободить петлевое устройство при размонтировании.
- --fake – не выполнять никаких реальных действий, но посмотреть результат выполнения команды.
- -f, --force – принудительно размонтировать, когда диск недоступен.
- -l, --lazy – размонтировать файловую систему, когда она перестанет быть занятой.
- -N, --namespace – размонтировать указанное пространство имен.
- -n, --no-mtab – выполнение операции без записи в /etc/mtab.
- -O, --test-opts – размонтировать только те файловые системы, которые имеют указанный набор опций, записанный в /etc/fstab.
- -q, --quiet – не выводить сообщения с ошибкой not mounted.
- -R, -- recursive – рекурсивное размонтирование.
- -r, --read-only – при появлении ошибки попробовать перемонтировать файловую систему в режиме read only.
- -t, --types – размонтировать файловую систему указанного типа. При необходимости параметры следует разделить запятыми.
- -v, --verbose – подробное протоколирование действий.
- -V, --version – вывести информацию о версии утилиты.
- -h, --help – получить справочную информацию.
Это были основные опции, которые могут пригодиться при выполнении команды umount. А теперь перейдем к практическим примерам ее использования.
Как размонтировать диск в Linux
Для удобства мы разберем четыре популярных сценария, с которыми может столкнуться каждый: размонтировать диск, все подключенные устройства и разделы, конкретный путь и рекурсивное размонтирование.
1. Размонтировать диск
В качестве примера возьмем USB-диск, на который были загружены бэкапы данных. Перед отключением от компьютера его следует размонтировать. Сначала посмотрим полный список доступных дисков:
sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

USB-диск объемом 500 ГБ маркирован как sdb1. Для его размонтирования следует выполнить команду:
sudo umount /dev/sdb1

В результате диск размонтируется. Вы можете посмотреть, что он пропал из списка доступных устройств в файловом менеджере Linux.
Если диск в настоящий момент занят, то возникнет ошибка. С помощью опции -l его получится размонтировать, когда он освободится:
sudo umount -l /dev/sdb1

Ну а опция -f нужна для принудительного размонтирования. В таком случае все выполняемые операции незамедлительно прервутся, и ждать ничего не придется:
sudo umount -f /dev/sdb1

Если при размонтировании у вас возникает ошибка Device or resource busy, посмотрите в этой статье как её решить.
2. Размонтировать все устройства
Опция -a, которая упоминалась в самом начале списка, отвечает за размонтирование всех смонтированных файловых систем. Но есть несколько разделов с исключениями: roc, devfs, devpts, sysfs, rpc_pipefs и nfsd. Запускать ее нужно с осторожностью, ведь будут размонтированы важные разделы.
Перед выполнением основной команды вы можете посмотреть то, какие устройства будут затронуты. Для этого пригодятся опции --fake (fake-команда) и -v для вывода подробной информации:
sudo umount --fake -v -a

В результате отобразится полный список путей и устройств, которые будут размонтированы. Для полноценного запуска процедуры выполните команду без опций --fake и -v:
sudo umount -a

А если нужно размонтировать все устройства принудительно, то дополнительно понадобится опция -f:
sudo umount -a -f
3. Размонтировать путь
Если вы хотите отключить конкретный путь от корневой файловой системы Linux, то подход будет несколько иной. В качестве примера возьмем каталог, расположенный по пути /run/lock/tmpfs. Команда для размонтирования будет выглядеть следующим образом:
sudo umount /run/lock/tmpfs

Если конкретно сейчас путь занят, то в терминале появится ошибка busy. В таком случае действие можно выполнить принудительно с помощью опции -f. Или дождаться, когда путь освободится с опцией -l.
4. Рекурсивное размонтирование
Для рекурсивного размонтирования определенной директории, например, каталога, к описанной выше команде следует добавить опцию -R или --recursive:
sudo umount -R /run/lock/tmpfs

Но при запуске рекурсивного размонтирования в утилите umount стоит помнить важный нюанс. Выполнение команды будет прервано при возникновении любой ошибки. А отношение между точками монтирования регулируются правилами в документе /proc/self/mountinfo. Если же вы хотите получить дополнительную информацию при рекурсивном размонтировании, то воспользуйтесь опцией -v (Verbose mode):
sudo umount -R -v /run/lock/tmpfs
Выводы
В начале данной статьи мы описали утилиту umount Linux, особенности ее синтаксиса и доступные опции. А затем перешли к конкретным примерам использования, с которыми может столкнуться каждый. По описанным принципам можно понять, как размонтировать диск linux, а также любой раздел или директорию.