SystemdDoctor
служба не работает монтирование остановка

Target is busy: точка монтирования занята

Сообщение target is busy при остановке mount-unit значит, что кто-то держит точку монтирования: открытый файл, рабочий каталог процесса или вложенное монтирование. Пока держат — отмонтировать нельзя.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Процесс держит файл или работает в этом каталоге

    Достаточно одного процесса с рабочим каталогом внутри точки монтирования. Часто это ваш собственный сеанс, открытый в этом каталоге.

  2. Внутри есть вложенное монтирование

    Если поверх смонтировано что-то ещё, внешнюю точку отмонтировать нельзя.

  3. Точку держит служба, зависящая от неё

    При RequiresMountsFor= служба остановится сама вместе с монтированием, но если зависимость не объявлена, systemd не знает о связи и не останавливает службу.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Список процессов, держащих точку монтирования, с именами и пользователями.

sudo fuser -vm /mnt/backup

Вложенные монтирования, из-за которых внешнее не отпускается.

findmnt -R /mnt/backup

Сообщение systemd о неудачной остановке.

systemctl status mnt-backup.mount --no-pager | head -10

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Процесс держит файл или работает в этом каталоге
Почему происходит
Достаточно одного процесса с рабочим каталогом внутри точки монтирования. Часто это ваш собственный сеанс, открытый в этом каталоге.
Как проверить
Найдите, кто держит точку.
sudo fuser -vm /mnt/backup
sudo lsof +f -- /mnt/backup 2>/dev/null | head
Как исправить
Выйдите из каталога, остановите службу, которая с ним работает, и повторите. Принудительное завершение процессов — крайняя мера: данные могут не успеть записаться.
2. Внутри есть вложенное монтирование
Почему происходит
Если поверх смонтировано что-то ещё, внешнюю точку отмонтировать нельзя.
Как проверить
Посмотрите дерево монтирований.
findmnt -R /mnt/backup
Как исправить
Отмонтируйте вложенные точки начиная с самой глубокой, затем внешнюю.
3. Точку держит служба, зависящая от неё
Почему происходит
При RequiresMountsFor= служба остановится сама вместе с монтированием, но если зависимость не объявлена, systemd не знает о связи и не останавливает службу.
Как проверить
Посмотрите, какие службы работают с этим путём.
sudo fuser -vm /mnt/backup 2>&1 | head
systemctl list-dependencies --reverse mnt-backup.mount --no-pager
Как исправить
Объявите зависимость в unit-файле службы: тогда порядок остановки будет правильным.
[Unit]
RequiresMountsFor=/mnt/backup

Пример вывода

Отмонтирование не проходит: каталог занят. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

× mnt-backup.mount - Backup volume
     Active: active (mounted) since Mon 2026-09-15 06:00:20 MSK; 4h ago

umount[8300]: umount: /mnt/backup: target is busy.
systemd[1]: mnt-backup.mount: Unmounting failed with error code 32.

Связанные ошибки

Источники

  • systemd.mount(5)
    ForceUnmount=, LazyUnmount= и поведение при остановке.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено процессом с рабочим каталогом внутри точки монтирования.
    собственная проверка, systemd 255
    сверено 15 сентября 2026