Jak wysunąć dysk zewnętrzny, gdy komputer Mac odmawia z powodu Spotlight?

40

Podłączyłem dysk zewnętrzny do komputera Mac. Teraz chcę to wyrzucić. Ale mój Mac uparcie odmawia i mówi, że aplikacja może korzystać z dysku.

Nie uruchomiłem żadnej aplikacji ani nie otworzyłem żadnego pliku z dysku.

Pobrałem i zainstalowałem aplikację  What Keeping Me? Ta aplikacja jest całkiem fajna. Mówi mi, że proces  mdswykorzystuje mój dysk.

Zabiłem proces  mdsi kilka procesów  mdworker. Są dla Spotlight. Ale takie procesy odradzają się ponownie.

Jak mogę wysunąć mój dysk z moim Mac?

Mam system Mac OS X 10.6.8.

Nicolas Barbulesco
źródło
Czy tylko czekanie na zakończenie procesów? Znalazłem to w praktyce dla mnie.
Chogg

Odpowiedzi:

27

Wystarczy wyłączyć indeksowanie dysku i usunąć zawartość dziennika z woluminu. Aby to zrobić, otwórz terminal i wprowadź następujące polecenie:

sudo mdutil -Ei off "/Volumes/Name_of_Drive"

Musisz uruchomić tę procedurę jako administrator. Po wyświetleniu monitu wprowadź hasło. Może być konieczne ponowne uruchomienie komputera.

Alternatywnie, jak sugeruje Simon White, po prostu wyłącz maszynę, a następnie odłącz dysk. Zastrzeżeniem jest to, że dysk zacznie indeksować po ponownym podłączeniu.

njboot
źródło
4
wystarczy po prostu zatrzymać proces. sudo mdutil -i off "/Volumes/Name_of_Drive"( -Eusuwa i odbudowuje indeks). Skanowanie powinno rozpocząć się ponownie przy następnym podłączeniu dysku. Aby trwale wyłączyć skanowanie tego dysku, użyj -d( sudo mdutil -d "/Volumes/Name_of_Drive"). Zobacz wszystkie te argumenty i więcej, pisząc mdutilw wierszu polecenia.
Dannid,
2
Podobała mi się wskazówka, ale proszę nie sugerować wyjścia po komendzie ... Nie zauważyłem i straciłem historię wyjścia, które tam miałem.
ravemir
@ njboot - Nie. Polecenie „historia” po prostu daje mi historię wprowadzonych poleceń, nie zwraca mi ich wyniku.
Nicolas Barbulesco
1
Po wydaniu polecenia mdutil nadal nie mogłem wysunąć dysku. Wydałem więc również „sudo killall mds” i to sprawiło, że zadziałało.
Thomas Tempelmann
21

Możesz spróbować odmontować go z wiersza poleceń:

diskutil unmount /Volumes/MountPoint

lub siłą:

diskutil unmount force /Volumes/MountPoint

Jeśli nadal nie działa, sprawdź, co używa twojego dysku:

sudo fs_usage -w -f filesys | grep Volumes

Lub używając lsof:

sudo lsof | grep Volumes

(Niektóre procesy pojawiają się tylko wtedy, gdy lsof jest uruchamiany jako administrator.)


Aby wyłączyć tymczasowe wyróżnienie, uruchom:

sudo mdutil -a -i off

Następnie, sudo mdutil -a -i onaby ponownie włączyć.


Inne aplikacje, które mogą być pomocne: Whats Keeping Me .

kenorb
źródło
2
Właśnie dowiedziałem się, że Spotlight (mds, mds_store, mdworker) nie będzie wymieniony, gdy będę działać lsofjako użytkownik. Jednak sudo lsof | grep Volumesdziała dobrze. („Whats Keeping Me” ma odpowiednio pole wyboru „As Administrator”)
hans_meine
5

Często uważam, że to mds uniemożliwia mi odmontowanie woluminu.

sudo killall mds

A następnie (szybko) spróbuj ponownie wysunąć wolumin.

W moim przypadku instaluję główny wolumin innego komputera Mac na moim obecnym komputerze Mac. Nie chcę wyłączać Spotlight, ponieważ chcę wznowić indeksowanie, gdy wolumin zewnętrzny zostanie zwrócony na inny komputer Mac (jako wolumin rozruchowy).

Colin
źródło
Ciekawy. Może „szybko” jest kluczem!
Nicolas Barbulesco
Dzięki! To jedyna odpowiedź, która zadziałała dla mnie inna niż wyrzucanie z użyciem siły, czego nie chciałbym zrobić.
Addison
2

Aby zapobiec indeksowaniu dysku przez Spotlight, utwórz plik tekstowy w TextEdit bez zawartości, tylko tytuł .metadata_never_index i zapisz na dysku zewnętrznym. Odznacz użyj rozszerzenia „txt” ... i powiedz TextEdit, że tak, chcesz go zapisać z kropką z przodu (co sprawi, że będzie niewidoczny).

Nie jestem pewien, czy to teraz to powstrzyma, ale zapobiegnie to w przyszłości.

Alternatywnie, zamień ten Applescript w aplikację, aby wymusić wysunięcie [ze zwykłymi zastrzeżeniami dotyczącymi wysuwania wymuszenia ...] ... kredyt na blogu MacTipper

    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
źródło
Dziękuję Ci. Ale… ”, aby wymusić wyrzucenie [przy zwykłych zastrzeżeniach dotyczących wyrzucania siły…]„ To niepokojące. Gdybym zgodził się zaryzykować uszkodzenie dysku, po prostu go odłączę.
Nicolas Barbulesco
Następnie ustaw flagę braku światła reflektorów i poczekaj, aż ją zobaczy, i przestań indeksować.
Tetsujin,
Lub możesz uruchomić sudo diskutil unmountDisk force /Volumes/Name_of_Volumez terminala, aby to zrobić siłą. Ten skrypt nie jest konieczny.
njboot,
@NicolasBarbulesco Nie są takie same. Wymuszone odmontowanie woluminu to nie to samo, co wyciągnięcie wtyczki. W tym drugim przypadku następuje nagłe odłączenie zasilania od urządzenia, co, jak można sobie wyobrazić, może spowodować uszkodzenie dysku magnetycznego obracającego się z prędkością kilku K rpm. W pierwszym przypadku wystarczy zmusić urządzenie do odmontowania woluminu. Dysk następnie obraca się prawidłowo i wyciągasz wtyczkę w normalny sposób. Jest o wiele bezpieczniejszy.
njboot,
@ njboot - nie próbowałem twojej diskutilkomendy. Ale próbowałem odpowiednika z Disk Utility - bezskutecznie.
Nicolas Barbulesco
2

Możesz spróbować wymusić zamknięcie Findera, to zadziałało dla mnie. Finder wisiał na napędzie USB, więc wymuszanie i ponowne uruchamianie zwalniało bez względu na zawieszenie.

użytkownik128242
źródło
jak by to zrobić? wymusić wyjście z wyszukiwarki?
Ruskes
Opcja + Command + ESC!
sdive
Ale czy to może zadziałać w przypadku Spotlight mojego pytania?
Nicolas Barbulesco
1

Jeśli nie możesz odłączyć dysku z jakiegokolwiek powodu, możesz po prostu wyłączyć komputer. Gdy komputer jest wyłączony, możesz bezpiecznie odłączyć napęd. Następnie uruchom komputer. To nie tylko pozwoli ci bezpiecznie odłączyć napęd, ale zapewni również, że proces mds uruchomi się ponownie w przypadku jego zawieszenia.

Jeśli zdecydujesz, że nie chcesz używać Spotlight z tym dyskiem, wszystko, co musisz zrobić, aby zatrzymać indeksowanie, to dodaj dysk do karty Prywatność w panelu Spotlight w Preferencjach systemowych. Reflektor zignoruje dysk.

Alternatywnie, jeśli chcesz użyć Spotlight na tym dysku, to zbudowanie indeksu przy pierwszym uruchomieniu komputera jest złem koniecznym. Po utworzeniu indeksu jest on aktualizowany przy każdej zmianie każdego pliku, dzięki czemu nie trzeba czekać. Ale jeśli nie widzisz paska postępu w menu Spotlight, oznacza to, że mds jest zawieszony. Ponownie, w takim przypadku po prostu wyłącz komputer i odłącz dysk.

Simon White
źródło
1
Na pewno mogę wyłączyć komputer Mac. Ale to nie jest opcja.
Nicolas Barbulesco
Podoba mi się pomysł, aby Spotlight znał mój dysk. Ale próbowałem na chwilę sprawić, by Spotlight zignorował mój dysk. Korzystając z Prefs Systemu → Spotlight. To nie zadziałało: „Niemożliwe z powodu nieznanego błędu”. Świetny komunikat o błędzie! Apple musiało wynająć dezertera z Micro $ oft! Próbowałem też pozwolić czasowi działać. Poszedłem do pracy i pozwalałem Spotlight indeksować dysk przez cały dzień. Wieczór wróciłem, a problem był nadal ten sam.
Nicolas Barbulesco
Właściwie myślę, że problem polega na tym, że mdsalbo nie mówi systemowi, że zakończył pracę z dyskiem, albo nie kończy pracy po jego zakończeniu, a przez to wstrzymuje dysk, dopóki proces nie zostanie w jakiś sposób zabity (jak wyłączenie). Jeśli widzę, że mdsprocesor nie jest używany, gdy twierdzę, że używasz dysku, wymuszam wysunięcie dysku.
bauerMusic
@bauerMusic - Jak wymusić wysunięcie dysku?
Nicolas Barbulesco
@NicolasBarbulesco „Wymuszony napęd” jest opcją, którą system oferuje po pewnym czasie. Jeśli spróbujesz wysunąć dysk, powinien on powiedzieć „Próbujesz wysunąć dysk” (lub podobny), a po około minucie (nieudanej próbie) pokaż kolejne wyskakujące okienko z opcją wymuszenia wysunięcia.
bauerMusic
1

Inną prostą opcją jest wysunięcie go za pomocą Narzędzia dyskowego.

Tim Undheim
źródło
Czy czytałeś komentarze w odpowiedzi Tetsujin? Narzędzie dyskowe nie oferuje opcji „wymuszenia”
klanomath
Po prostu spróbuj. Proste wysuwanie za pomocą Narzędzia dyskowego zawsze działa dla mnie, gdy jakikolwiek dysk zewnętrzny nie wysuwa się, ponieważ jest „w użyciu”.
Tim Undheim,
Próbowałem wysunąć dysk za pomocą Narzędzia dyskowego. Ale to nie zadziałało.
Nicolas Barbulesco
1
Przykro mi to słyszeć. Narzędzie dyskowe wysuwa niezamontowane „używane” dyski w moim urządzeniu, które działa w wersji 10.7.5. Możesz zajrzeć do DiskWarrior.
Tim Undheim
1
Z jakiegokolwiek powodu użycie polecenia odmontowania narzędzia dyskowego działało dla mnie na dysku powodującym problemy.
MiB
0

Możesz powiedzieć Spotlight, że nigdy nie powinien indeksować tego dysku, a wtedy nie musisz się tym martwić.

W Preferencjach systemowych 10.11 znajduje się wpis „Spotlight”, który ma zakładkę o nazwie „Prywatność”. Kliknij „+”, wybierz dysk i gotowe. Po prostu zamknij Preferencje systemowe, odczekaj kilka sekund, aż system zauważy aktualizację i powinieneś być w stanie ją wysunąć. Teraz nie zacznie indeksować dysku przy następnym połączeniu, więc nie będziesz mieć problemu w przyszłości.

David K. Storrs
źródło
Próbowałem tego. To nie zadziałało. Zobacz mój komentarz tutaj: apple.stackexchange.com/questions/142459/…
Nicolas Barbulesco