Layer 8Ehrlicher Tech-Support
BetriebssystemSchweregrad: Lästigtarget is busy

Linux: umount scheitert mit target is busy

umount meldet target is busy? Irgendein Prozess hat das Dateisystem noch offen. So findest du ihn und hängst sauber aus.

Aufwand:
ca. 10 Min.
Voraussetzung:
sudo-Rechte, Terminal
Gilt für:
Linux mit util-linux

Das Symptom

Der Kopiervorgang ist längst fertig, alle Fenster sind geschlossen, und trotzdem antwortet das System auf umount mit der lapidaren Auskunft, das Ziel sei beschäftigt. Der USB-Stick lässt sich nicht auswerfen, die Netzfreigabe nicht lösen, die Partition nicht freigeben – und der Rechner sagt kein Wort darüber, wer da eigentlich noch dranhängt.

Die „Layer 8“-Wahrheit

Der Kernel ist an dieser Stelle bewusst wortkarg: Er weiß, dass das Dateisystem benutzt wird, aber er hält keine Liste bereit, wer es benutzt. Und benutzt heißt weniger, als die meisten denken. Es genügt eine einzige offene Datei, ein Prozess, dessen Arbeitsverzeichnis dort liegt, oder eine Auslagerungsdatei in Betrieb. Der mit Abstand häufigste Schuldige ist deshalb kein wildgewordener Hintergrunddienst, sondern das Terminal, in dem man gerade steht: Wer erst mit cd in den Einhängepunkt wechselt und dann von dort aus aushängen will, hält das Dateisystem selbst fest und beschwert sich anschließend über den Rechner. Danach folgen die üblichen Verdächtigen – ein Dateimanager mit offenem Ordner, ein Editor mit ungespeicherter Datei, ein Backup-Programm mitten im Lauf. Die Lösung ist deshalb selten Gewalt, sondern eine Frage: Wer hat noch auf? fuser -vm beantwortet sie in einer Zeile. Erst wenn diese Antwort vorliegt, ist die Entscheidung zwischen ordentlich schließen, gezielt beenden und lazy unmount überhaupt eine Entscheidung – vorher ist sie geraten.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Das eigene Terminal aus dem Weg räumen

    Der häufigste Fall zuerst: Die eigene Shell steht mit ihrem Arbeitsverzeichnis im eingehängten Dateisystem und blockiert es damit selbst. Erst herausgehen, dann noch einmal versuchen:

    cd ~
    sudo umount /mnt/daten
    
  2. 2.

    Herausfinden, wer das Dateisystem festhält

    fuser mit der Option -m nennt alle Prozesse, die auf Dateien des angegebenen Dateisystems zugreifen; -v zeigt sie in ps-Manier mit PID, Benutzer und Befehl. In der Spalte ACCESS steht, wie zugegriffen wird – etwa c für das Arbeitsverzeichnis, f für eine offene Datei:

    sudo fuser -vm /mnt/daten
    
  3. 3.

    Die gefundenen Programme regulär beenden

    Der beste Weg ist der langweilige: das Programm, das die Datei offen hat, normal schließen. Ein Dateimanager, ein Editor, ein noch laufender Kopiervorgang oder ein Terminal mit offenem Verzeichnis – alle geben ihre Sperre freiwillig ab, sobald sie fertig sind. Danach den Aushängeversuch wiederholen:

    sudo umount /mnt/daten
    
  4. 4.

    Nur wenn nötig: Prozesse abschießen

    Achtung, hier gehen ungespeicherte Daten verloren: fuser -k sendet den betroffenen Prozessen SIGKILL, sie haben also keine Gelegenheit mehr, etwas zu sichern. Die Option -i fragt vor jedem einzelnen Prozess nach, das ist die Variante, mit der man nicht aus Versehen die Arbeitssitzung mitnimmt:

    sudo fuser -kim /mnt/daten
    
  5. 5.

    Unerreichbare Netzfreigaben gesondert behandeln

    Hängt ein NFS-Server nicht mehr, hilft kein Prozesssuchen: -f erzwingt das Aushängen im Fall eines unerreichbaren NFS-Systems. Das Handbuch weist ausdrücklich darauf hin, dass auch das nicht garantiert, dass der Befehl nicht hängen bleibt, und empfiehlt absolute Pfade ohne symbolische Verknüpfungen:

    sudo umount -f /mnt/nfs
    
  6. 6.

    Letzte Reihe: lazy unmount

    Der lazy unmount löst das Dateisystem sofort aus der Verzeichnisstruktur und räumt die Verweise auf, sobald es nicht mehr benutzt wird. Bei Netzfreigaben oder Dateisystemen mit untergeordneten Einhängepunkten ist danach laut Handbuch ein Neustart einzuplanen, ein erneutes Einhängen ist nicht mehr möglich:

    sudo umount -l /mnt/daten
    
  7. 7.

    Kontrollieren, dass wirklich nichts mehr eingehängt ist

    findmnt zeigt den aktuellen Stand der Einhängepunkte. Taucht der Pfad dort nicht mehr auf, ist das Dateisystem gelöst und der Datenträger darf abgezogen werden:

    findmnt /mnt/daten
    

Häufige Fragen (FAQ)

?Was genau bedeutet target is busy?

Dass das Dateisystem noch benutzt wird. Laut Handbuch lässt sich ein Dateisystem nicht aushängen, solange darauf Dateien geöffnet sind, ein Prozess sein Arbeitsverzeichnis dort hat oder eine Auslagerungsdatei darauf in Benutzung ist. Der Kernel weiß nicht, welches Programm gemeint ist – er weiß nur, dass jemand noch dranhängt, und verweigert deshalb das Aushängen. Das ist keine Zickerei, sondern der Schutz davor, einem laufenden Programm den Boden unter den Füßen wegzuziehen.

?Warum bin ich selbst schuld, obwohl kein Programm läuft?

Weil das Arbeitsverzeichnis zählt. Wer mit cd in das eingehängte Verzeichnis gewechselt ist und von dort aus umount aufruft, blockiert sich selbst – die eigene Shell ist der Prozess, der das Dateisystem benutzt. Das Handbuch nennt sogar den Fall, dass umount sich selbst im Weg stehen kann. Ein simples cd in das eigene Heimatverzeichnis löst überraschend viele dieser Fälle, noch bevor man anfängt, Prozesse zu suchen.

?Ist umount -l nicht die einfachste Lösung?

Einfach ja, sauber nein. Der lazy unmount hängt das Dateisystem sofort aus der Verzeichnisstruktur aus und räumt die Verweise erst auf, sobald niemand mehr zugreift. Offene Schreibvorgänge laufen dabei weiter, nur eben unsichtbar. Das Handbuch selbst empfiehlt die Option vor allem, um beim Herunterfahren Hänger durch unerreichbare Netzfreigaben zu vermeiden, und weist darauf hin, dass bei Netzfreigaben und bei Dateisystemen mit untergeordneten Einhängepunkten anschließend ein Neustart einzuplanen ist – ein erneutes Einhängen der Freigabe ist danach nicht mehr möglich. Als Standardgriff für den USB-Stick ist das die falsche Wahl.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

  1. [1]
    umount(8) – Linux manual page (man7.org)

    man7.org · abgerufen am

  2. [2]
    fuser(1) – Linux manual page (man7.org)

    man7.org · abgerufen am

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Auch zu finden unter

Verwandte Fehler

OSLästigPermission denied

Permission denied, obwohl man root ist

Selbst als root verweigert das System den Zugriff. Meist ist das Dateisystem schreibgeschützt eingehängt oder die Datei ist unveränderlich.