Wie kann ich mein externes Laufwerk auswerfen, wenn sich mein Mac aufgrund von Spotlight weigert?

40

Ich habe eine externe Festplatte an meinen Mac angeschlossen. Jetzt möchte ich es auswerfen. Mein Mac weigert sich jedoch hartnäckig und sagt, dass möglicherweise eine Anwendung die Festplatte verwendet.

Ich habe keine App gestartet und keine Datei von der Festplatte geöffnet.

Ich habe die App heruntergeladen und installiert.  What's Keeping Me? Diese App ist ganz nett. Sie sagt mir, dass der Prozess  mdsmeine Festplatte verwendet.

Ich habe den Prozess  mdsund mehrere Prozesse getötet  mdworker. Diese sind für Spotlight. Aber solche Prozesse werden wieder erzeugt.

Wie kann ich meine Festplatte von meinem Mac auswerfen ?

Ich habe Mac OS X 10.6.8.

Nicolas Barbulesco
quelle
Wartet man nur darauf, dass die Prozesse beendet werden? Ich habe festgestellt, dass dies in der Praxis für mich funktioniert.
Chogg

Antworten:

27

Deaktivieren Sie einfach die Indizierung für das Laufwerk und löschen Sie den Inhalt des Journals auf dem Volume. Öffnen Sie dazu das Terminal und geben Sie den folgenden Befehl ein:

sudo mdutil -Ei off "/Volumes/Name_of_Drive"

Sie müssen diese Prozedur als Administrator ausführen. Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden. Ein Neustart ist vielleicht notwendig.

Alternativ können Sie, wie von Simon White vorgeschlagen, einfach die Maschine ausschalten und dann den Netzstecker ziehen. Die Einschränkung ist jedoch, dass das Laufwerk bei erneuter Verbindung mit der Indizierung beginnt.

njboot
quelle
4
es reicht aus, den Prozess anzuhalten. sudo mdutil -i off "/Volumes/Name_of_Drive"( -Elöscht den Index und erstellt ihn neu). Beim nächsten Aktivieren des Laufwerks sollte der Scanvorgang erneut gestartet werden. Um das Scannen dieses Laufwerks dauerhaft zu deaktivieren, verwenden Sie -d( sudo mdutil -d "/Volumes/Name_of_Drive"). Zeigen Sie all diese Argumente und mehr an, indem Sie sie mdutilin Ihre Befehlszeile eingeben .
Dannid
2
Mir hat der Tipp gefallen, aber bitte schlagen Sie nicht vor, nach dem Befehl zu beenden.
Ravemir
@njboot - Nein. Der Befehl "history" gibt nur den Verlauf der eingegebenen Befehle an, nicht das Ergebnis.
Nicolas Barbulesco
1
Nach der Ausgabe des Befehls mdutil konnte ich den Datenträger immer noch nicht auswerfen. Also habe ich auch "sudo killall mds" veröffentlicht, und das hat funktioniert.
Thomas Tempelmann
21

Sie können versuchen, die Bereitstellung über die Befehlszeile aufzuheben:

diskutil unmount /Volumes/MountPoint

oder mit Gewalt:

diskutil unmount force /Volumes/MountPoint

Wenn es immer noch fehlschlägt, überprüfen Sie, was Ihre Festplatte verwendet:

sudo fs_usage -w -f filesys | grep Volumes

Oder mit lsof:

sudo lsof | grep Volumes

(Einige Prozesse werden nur angezeigt, wenn lsof als Administrator ausgeführt wird.)


Führen Sie Folgendes aus, um temporäres Spotlight zu deaktivieren:

sudo mdutil -a -i off

Dann sudo mdutil -a -i onwieder aktivieren.


Andere Apps, die hilfreich sein können: Whats Keeping Me .

Kenorb
quelle
2
Ich habe gerade herausgefunden, dass Spotlight (mds, mds_store, mdworker) nicht aufgeführt wird, wenn ich lsofals Benutzer ausgeführt werde. Funktioniert jedoch sudo lsof | grep Volumesgut. ("Whats Keeping Me" hat jeweils ein Kontrollkästchen "Als Administrator".)
hans_meine
5

Oft stelle ich fest, dass mds mich daran hindert, ein Volume abzuhängen.

sudo killall mds

Versuchen Sie dann (schnell), die Lautstärke erneut auszuwerfen.

In meinem Fall mounte ich das Hauptvolumen eines anderen Macs auf meinem aktuellen Mac. Ich möchte Spotlight nicht deaktivieren, da die Indizierung fortgesetzt werden soll, wenn das externe Volume (als Startvolume) auf den anderen Mac zurückgegeben wird.

Colin
quelle
Interessant. Vielleicht ist das "schnell" der Schlüssel!
Nicolas Barbulesco
Vielen Dank! Dies ist die einzige Antwort, die für mich funktioniert hat, abgesehen von dem erzwungenen Auswerfen, was ich nicht tun möchte.
Addison
2

Um zu verhindern, dass Spotlight das Laufwerk indiziert, erstellen Sie in TextEdit eine Klartextdatei ohne Inhalt, nur mit dem Titel .metadata_never_index, und speichern Sie sie extern. Deaktivieren Sie die Option "txt" und teilen Sie TextEdit mit, dass Sie die Erweiterung mit einem Punkt auf der Vorderseite speichern möchten (wodurch sie unsichtbar wird).

Ich bin mir nicht sicher, ob das jetzt aufhört, aber es wird es in Zukunft verhindern.

Alternativ können Sie dieses Applescript in eine App umwandeln, um das Auswerfen zu erzwingen

    property show_credits : true

set the_volumes to do shell script "ls /Volumes/"
tell application "Finder" to set the_HD to path to home folder as string

set ejectable_volumes to {}
repeat with i in (every paragraph of the_volumes)
    if the_HD does not start with i then
        set end of ejectable_volumes to (i as string)
    end if
end repeat
if (count of items of ejectable_volumes) is 0 then
    tell me to activate
    display dialog "Sorry, but there are no ejectable volumes."
else if (count of items of ejectable_volumes) is 1 then
    tell me to activate
    set the_result to item 1 of ejectable_volumes as string
    display dialog ("Eject \"" & the_result & "\"?") buttons {"No", "Yes"} default button 2 cancel button "No"
    set the_path to quoted form of ("/Volumes/" & the_result as string)
    do shell script "hdiutil eject -force " & the_path
else
    tell me to activate
    set the_result to choose from list ejectable_volumes with prompt "Please choose a volume to eject (You can select multiple items):" with multiple selections allowed
    if the_result is not false then
        repeat with j in the_result
            set the_path to quoted form of ("/Volumes/" & j as string)
            do shell script "hdiutil eject -force " & the_path
        end repeat
    end if
end if

if show_credits is true then
    tell me to activate
    set the_credits to button returned of (display dialog "This applescript brought to you by The MacTipper Blog.\n\nhttp://mactipper.com" buttons {"Don't Show Again", "Visit TMB", "OK"} default button 3) as string
    if the_credits is "Don't Show Again" then
        set show_credits to false
    else if the_credits is "Visit TMB" then
        open location "http://mactipper.com"
    end if
end if
Tetsujin
quelle
Vielen Dank. Aber ... "Auswerfen erzwingen [mit den üblichen Einschränkungen beim Auswerfen ...]" Das ist besorgniserregend. Wenn ich bereit wäre, das Risiko einer Beschädigung der Festplatte einzugehen, würde ich einfach den Netzstecker ziehen.
Nicolas Barbulesco
Setzen Sie dann das No Spotlight-Flag und warten Sie, bis es angezeigt wird. Beenden Sie die Indizierung.
Tetsujin
Oder Sie können sudo diskutil unmountDisk force /Volumes/Name_of_Volumevom Terminal aus zwangsweise dazu laufen . Dieses Skript ist nicht erforderlich.
njboot
@NicolasBarbulesco Dies sind nicht die gleichen. Das gewaltsame Entfernen eines Volumes ist nicht dasselbe wie das Ziehen des Steckers. Im letzteren Fall wird das Gerät plötzlich physisch vom Stromnetz getrennt, was, wie man sich vorstellen kann, eine Magnetplatte beschädigen kann, die sich mit mehreren K U / min dreht. Im ersten Fall müssen Sie das Gerät einfach zwingen, die Bereitstellung des Volumes aufzuheben. Die Festplatte dreht sich dann ordnungsgemäß und Sie ziehen den Stecker wie gewohnt. Es ist viel sicherer.
njboot
@njboot - Ich habe Ihren diskutilBefehl nicht ausprobiert . Aber ich habe das Äquivalent mit Disk Utility versucht - ohne Erfolg.
Nicolas Barbulesco
2

Sie können versuchen, Finder zu beenden. Dies hat bei mir funktioniert. Finder hing am USB-Laufwerk, so dass das erzwungene Beenden und Neustarten unabhängig vom Hang ausgelöst wurde.

user128242
quelle
wie würde man das machen Sucher beenden erzwingen?
Ruskes
Wahltaste + Befehlstaste + ESC!
sdive
Aber kann das im Spotlight-Fall meiner Frage funktionieren?
Nicolas Barbulesco
1

Wenn Sie ein Laufwerk aus irgendeinem Grund nicht trennen können, können Sie den Computer einfach herunterfahren. Wenn der Computer ausgeschaltet ist, können Sie das Laufwerk sicher trennen. Starten Sie dann den Computer. Auf diese Weise können Sie nicht nur das Laufwerk sicher trennen, sondern auch sicherstellen, dass der mds-Prozess neu gestartet wird, falls er tatsächlich hängt.

Wenn Sie beschlossen haben, Spotlight nicht mit diesem Laufwerk zu verwenden, müssen Sie das Laufwerk nur zur Registerkarte Datenschutz im Bereich Spotlight der Systemeinstellungen hinzufügen, um die Indizierung zu verhindern. Spotlight ignoriert das Laufwerk.

Wenn Sie Spotlight für dieses Laufwerk verwenden möchten, ist es ein notwendiges Übel, einen Index zu erstellen, wenn der Computer das Laufwerk zum ersten Mal sieht. Sobald der Index erstellt wurde, wird er bei jeder Änderung an jeder Datei aktualisiert, sodass Sie nicht noch einmal warten müssen. Wenn Sie jedoch im Spotlight-Menü keine Fortschrittsanzeige sehen, ist es wahrscheinlich, dass mds nicht mehr reagiert. Fahren Sie in diesem Fall einfach den Computer herunter und trennen Sie das Laufwerk.

Simon White
quelle
1
Sicher kann ich den Mac runterfahren. Dies ist jedoch keine Option.
Nicolas Barbulesco
Ich mag die Idee, dass Spotlight meine Festplatte kennt. Aber ich habe versucht, Spotlight dazu zu bringen, meine Festplatte für den Moment zu ignorieren. Mit den Systemeinstellungen → Spotlight. Dies funktionierte nicht: "Unmöglich wegen eines unbekannten Fehlers." Tolle Fehlermeldung! Apple muss einen Überläufer von Micro angeheuert haben! Ich habe auch versucht, die Zeit wirken zu lassen. Ich ging zur Arbeit und ließ Spotlight den ganzen Tag die Festplatte indizieren. Am Abend kam ich zurück und das Problem war immer noch dasselbe.
Nicolas Barbulesco
Ich denke tatsächlich, das Problem ist, dass das mdsSystem entweder nicht darüber informiert wird, dass das Laufwerk fertig ist, oder dass es nach Abschluss des Vorgangs nicht beendet wird, und dass das Laufwerk auf diese Weise gehalten wird, bis der Vorgang irgendwie beendet wird (wie ein Herunterfahren). Wenn ich sehe mds, dass die CPU nicht verwendet wird, während ich behaupte, das Laufwerk zu verwenden, werde ich das Auswerfen des Laufwerks erzwingen.
bauerMusic
@bauerMusic - Wie können Sie "das Auswerfen des Laufwerks erzwingen"?
Nicolas Barbulesco
@NicolasBarbulesco Die Option "Auswurf erzwingen" bietet das System nach einiger Zeit an. Wenn Sie versuchen, das Laufwerk auszuwerfen, sollte die Meldung "Versuch, das Laufwerk auszuwerfen" (oder ähnliches) angezeigt werden. Nach etwa einer Minute (wenn dies nicht erfolgreich ist) sollte ein weiteres Popup-Fenster mit der Option zum Erzwingen des Auswerfens angezeigt werden.
bauerMusic
1

Eine weitere einfache Option ist das Auswerfen über die Festplattendienstprogramme.

Tim Undheim
quelle
Hast du die Kommentare in Tetsujins Antwort gelesen? Das Festplatten-Dienstprogramm bietet die Option "Force" nicht an
klanomath
Probier es einfach. Ein einfacher Auswurf über Disk Utilities funktioniert bei mir immer dann, wenn ein externes Laufwerk nicht ausgeworfen werden kann, weil es "in Verwendung" ist.
Tim Undheim
Ich habe versucht, das Laufwerk mit dem Festplatten-Dienstprogramm auszuwerfen. Das hat aber nicht geklappt.
Nicolas Barbulesco
1
Tut mir leid, das zu hören. Das Festplatten-Dienstprogramm wirft unmountbare "in Benutzung" -Disketten aus, die auf meinem Gerät mit 10.7.5 einwandfrei funktionieren. Sie könnten in DiskWarrior suchen.
Tim Undheim
1
Aus irgendeinem Grund funktionierte die Verwendung des Befehls "Unmount" des Festplatten-Dienstprogramms bei mir auf einer fehlerhaften Festplatte.
MiB
0

Sie können Spotlight mitteilen, dass es dieses Laufwerk niemals indizieren soll, und müssen sich dann keine Gedanken mehr darüber machen.

In den 10.11 Systemeinstellungen gibt es einen Eintrag für 'Spotlight', der eine Registerkarte mit dem Namen 'Datenschutz' enthält. Klicken Sie auf "+", wählen Sie Ihr Laufwerk und Sie sind fertig. Schließen Sie einfach die Systemeinstellungen, warten Sie einige Sekunden, bis das System das Update bemerkt, und Sie sollten in der Lage sein, es auszuwerfen. Jetzt wird der Datenträger beim nächsten Herstellen der Verbindung nicht mehr indiziert, sodass das Problem in Zukunft nicht mehr auftritt.

David K. Storrs
quelle
Ich habe es versucht. Das hat nicht funktioniert. Siehe meinen Kommentar hier: apple.stackexchange.com/questions/142459/…
Nicolas Barbulesco