Czy system Windows może mi powiedzieć, z czego korzysta mój napęd USB?

99

Będąc dobrym obywatelem, kliknij lewym przyciskiem myszy ikonę „Bezpiecznie usuń sprzęt” na pasku zadań i wybierz dysk USB, aby go odinstalować.

Potem dostaję wiadomość:

System Windows nie może zatrzymać generowanego urządzenia woluminu, ponieważ jest ono używane. Zamknij wszystkie programy lub okna, które mogą korzystać z urządzenia, a następnie spróbuj ponownie później.

Oczywiście, będąc systemem operacyjnym, wie dokładnie, jakie aplikacje używają mojego urządzenia. Dlaczego więc mi nie powie?

Czy jest jakiś sposób, aby się dowiedzieć?

PP.
źródło
1
Miałem wiele okazji z Vistą, w których nigdy nie mogłem tego rozgryźć i nie wypuściłoby ono USB, dopóki nie uruchomiłem ponownie systemu. Uaktualniono do Win7 i nie miałem tego problemu, ponieważ uznałem, że przynajmniej na moim komputerze był to problem ze sterownikiem systemu.
BBlake,

Odpowiedzi:

57

Możesz użyć Sysinternals Process Explorer, aby znaleźć uchwyt dla wszystkich otwartych plików. Po prostu wybierz Findmenu i wybierz Find Handle or DLL. W otwartym oknie dialogowym wprowadź literę dysku w polu wyszukiwania. Wyniki wyszukiwania powinny pokazywać wszystkie pliki otwarte z dysku i proces, w którym są otwarte.

ciężki
źródło
4
Po zabiciu przestępczego systemu Windows nadal nie zwalnia dysku USB. Idź rysunek ....
Grantly
2
Eksplorowałem dysk tylko w Eksploratorze. Następnie z powłoki cmd.exe uruchomiłem skrypt kopii zapasowej na tym dysku, który zakończył się. Zamknął okno cmd.exe. Zabito i uruchomiono ponownie Explorer.exe za pomocą Taskmgr. Mimo to dysk jest w użyciu i nie można go wysunąć.
Kaz
3
Process Explorer nie znajdzie niczego M:.
Kaz
2
Jeśli Eksplorator procesów nic nie pokazuje, możesz użyć oprogramowania OpenedFilesView firmy Nirsoft. Nie zobaczysz, który program używa dysku (lub Process Explorer też by go znalazł), ale nadal zobaczysz uchwyty, używane pliki i będziesz mieć możliwość ich zamknięcia (jeśli masz ochotę zaryzykować)
LeFauve
4
Sam Eksplorator Windows może czasami blokować dyski. Możesz ponownie uruchomić Eksploratora Windows w Menedżerze zadań w Windows 10 (przewiń w dół, aby go znaleźć). W starszych wersjach systemu Windows musisz zakończyć explorer.exe i jawnie uruchomić explorer.exe z menu Plik.
Christopher Hostage
113

Prostsza metoda : Windows (przynajmniej 10, AFAIK) tworzy wpis w dzienniku zdarzeń, gdy próbujesz wysunąć dysk wymienny i nie możesz tego zrobić, ponieważ proces ma blokadę. Dwa identyfikatory zdarzeń 225 pokażą identyfikator procesu i nazwę procesu odpowiedzialnego za blokadę.

Krok po kroku:

1) Uruchom przeglądarkę zdarzeń

2) Otwórz „Dzienniki systemu Windows”, a następnie „System”

3) Kliknij prawym przyciskiem myszy „System” i wybierz „Filtruj bieżący dziennik”

4) W oknie dialogowym, które się pojawi, wpisz „225” (bez cudzysłowów), gdzie jest napisane „Wszystkie identyfikatory zdarzeń”

5) Zobaczysz wtedy wszystkie zdarzenia związane z niemożnością wysunięcia, ponieważ proces zablokował dysk.

6) Spójrz na znaczniki czasu na wszystkich tych pozycjach i dowiedz się, które odnoszą się do faktycznego czasu próby wysunięcia dysku.

7) Podejmij odpowiednie działania. Łagodne zakończenie zadania (zamknięcie programu z blokadą) jest w większości przypadków OK. Zatrzymanie usługi Windows Search jest również w porządku. Zatrzymanie skanowania antywirusowego powinno być w porządku (jeśli nie podejrzewasz, że masz w tym czasie wirusy). Przejście do menedżera zadań i zabicie procesu może nie być w porządku. Jak sobie z tym poradzić, wykracza poza zakres tego pytania.

8) (Zapisz widok ...) w panelu Operacje (w prawej ramce) możesz „Zapisz filtr w widoku niestandardowym ...”, aby znaleźć go w „Widokach niestandardowych” (w lewej ramce nad „ Dzienniki systemu Windows ”)

ID procesu: Wpis podglądu zdarzeń

Nazwa procesu: Wpis podglądu zdarzeń

8) Jeśli nie masz innej pozycji o nazwie procesu , proces systemowy (identyfikator procesu 4) wstrzymuje dysk. Aby obejść ten problem, musisz przejść do zarządzania dyskami i przełączyć dysk, który chcesz wysunąć w tryb offline . Jeśli plik znajduje się na dysku rozruchowym, nie można go ustawić w trybie offline. W takim przypadku patrz uwaga poniżej:

AKTUALIZACJA 2018 : Widziałem aplikacje takie jak WhatsApp Desktop utrzymujące uchwyty na Chrome Canary za pośrednictwem procesu systemowego . Ponieważ nie można wysunąć dysku rozruchowego (ponieważ jest w użyciu), rozwiązaniem było użycie innego fajnego narzędzia Sysinternals , o nazwie Handle . Po zamknięciu programu, który ma zablokowany plik, uruchom uchwyt i uruchom (na przykład), handle64 "Chrome SxS\Application\chrome.exe"aby sprawdzić, czy uchwyty są nadal obecne w pliku, który ma blokadę PID 4. Za pomocą prób i błędów zamknij każdy uruchomiony program, dopóki nie będzie więcej uchwytów w zablokowanym pliku.

Najlepsza metoda (płatna)

Pobierz i uruchom SafelyRemove . Pomaga wysunąć dysk, a jeśli nie może tego zrobić, wyświetla, które procesy mają blokadę:

wprowadź opis zdjęcia tutaj

Gaia
źródło
1
Czy możesz opowiedzieć o numerze 225. Jak go masz?
Ajeeb.KP
3
The application System with process id 4 stopped the removal or ejection for the device ...Cóż ... Spróbuję wyłączyć Distributed Link Tracking Clienti zobaczę, czy to pomoże.
Tithen-Firion
17
Menedżer zadań Windows 10 może również zapobiegać usuwaniu! Kto nowy
Alex Che
3
Działa również dobrze dla win7. Prawdopodobnie działa również dobrze na Win8. Dzięki za tę metodę. Problem może być irytujący.
Syndacate
2
Przydatna wskazówka. Dziękuję za to. Zapisałem niestandardowy widok „Zablokowane urządzenia” do przyszłego szybkiego dostępu do tego filtrowanego widoku.
Steve Crane
6

Możesz także użyć wiersza polecenia, aby wysłać zapytanie do dziennika systemu Windows za pomocą narzędzia wevtutil.exe (od systemu Windows 7), wiedząc, że jądro systemu Windows PnP używa identyfikatora zdarzenia 225 do logowania do systemu (zawsze o identyfikatorze procesu 4) odmowy usunięcia lub wysunięcia urządzenie USB \ VID _ #### & PID _ ############ (gdzie # oznacza cyfry szesnastkowe).

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qe System: zapytania zdarzeń z dziennika systemu
  • / q: zapytanie za pomocą XPath
  • EventID=225 oznacza, że ​​system odrzucił żądanie wyrzucenia
  • / c: 5: liczba wpisów do pobrania (5 tutaj)
  • / f: text: format (domyślnie jest to xml)
  • / rd: true: odwrotna kolejność (najpierw najnowsze)

Używam go w skrypcie wsadowym.

Tchonialite
źródło
5

Dla mnie (Windows 7).

  1. Naciśnij klawisz Windows
  2. W polu „Wyszukaj programy i pliki: wpisz: diskmgmt.msc
  3. Na liście wyszukiwania znajdź pozycję i kliknij prawym przyciskiem myszy - wybierz Uruchom jako administrator
  4. Wprowadź dane logowania administratora, aby uruchomić „Zarządzanie dyskami” (w razie potrzeby)
  5. Znajdź obrażający dysk USB, który nie zostanie wysunięty z listy dysków
  6. Lewy panel, kliknij prawym przyciskiem myszy i wybierz „ Wysuń
  7. Uchwyty „powinny” zostać zamknięte - zawsze możesz dwukrotnie sprawdzić w eksploratorze procesów wewnętrznych systemu sys

Uwaga: Ikona paska zadań „Bezpieczne usuwanie sprzętu i wysuwanie nośników” nie pokazuje już napędu USB - tylko trzy kropki

  1. Fizycznie usuń dysk
blakev
źródło
4
Brak panelu po lewej stronie lub polecenia Wysuń w Zarządzaniu dyskami w systemie Windows 7. (Wersja 1.00, zgodnie z Pomocą / Informacje). Mogę to zmniejszyć, usunąć, oznaczyć jako aktywne, formatować, ... bez wysuwania.
Kaz
1
Nie można również znaleźć opcji Wysuń, ale wykonała to opcja Offline. I nie zapomnij ustawić go ponownie w trybie online po ponownym podłączeniu urządzenia pamięci masowej.
Adriano P,
2
Ostatnio użyłem „Offline”, aby zatrzymać mój zewnętrzny dysk USB-SSD, który najprawdopodobniej był w jakiś sposób używany przez system (Win 10), po tym jak „bezpieczne usunięcie” zadziałało. Jakiś czas później ponownie podłączam ten dysk i mam dysk z partycją „RAW”. Wykonując z chkdsk /f f:systemem plików w jakiś sposób ponownie enginerried, ale wszystko wylądował w "found.000. Więc ... ta metoda nie wydaje się być naprawdę bezpieczna. Na szczęście nie miałem nic naprawdę ważnego na tym dysku ...
Xtra Coder
5

Oto szybka komenda PowerShell, która wysyła zapytanie do dziennika zdarzeń i pokazuje, która aplikacja blokuje wysuwanie dysku (działa dla mnie w systemie Windows 10, prawdopodobnie również w systemie 7/8)

Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap

Dane wyjściowe zawierają listę wszystkich instancji w ciągu ostatniej godziny, w których system nie mógł wysunąć dysku. Wiadomość kolumna przedstawia proces, który został zablokowany wyrzut. W poniższym przykładzie menedżer zadań był w rzeczywistości sprawcą i mogłem go wysunąć po zamknięciu menedżera zadań.

PS C:\Users\Jonathan> Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | \Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap

   Index Time          EntryType   Source                 InstanceID Message
   ----- ----          ---------   ------                 ---------- -------
   14692 Sep 07 10:50  Warning     Microsoft-Windows-Ke          225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
                                   rnel-PnP                          the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
   14693 Sep 07 10:50  Warning     Microsoft-Windows-Ke          225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
                                   rnel-PnP                          the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
Jon
źródło
3

Możesz uruchomić resmon.exe (przez WIN + R), przejść do dysku> Aktywność dysku> Sortuj według pliku Teraz możesz zobaczyć wszystkie pliki, do których system ma dostęp i które procesy uzyskują do nich dostęp, uporządkowane według ścieżki do pliku (który zaczyna się btw z literą dysku). Może nie działać we wszystkich przypadkach, ale jest to proste podejście.

Ponowne uruchomienie komputera wydaje się być „zwolnieniem” użytkowania urządzenia. Również w celu szybszego usunięcia można wyłączyć buforowanie systemu Windows w sekcji Sprzęt urządzenia, czasami system Windows opróżnia pamięć podręczną na dysk zewnętrzny dłużej niż oczekiwano i wyświetli ten komunikat informujący, że urządzenie jest używane (ponieważ będzie to Sam system Windows)

Felype
źródło
Podobnie do tego: W resmon.exe, w zakładce CPU. Przewiń w dół do pola Powiązane uchwyty. Znajduje się tam pole wyszukiwania Uchwyty wyszukiwania, w którym można wprowadzić literę zablokowanego dysku.
Andrew
2

Jeśli otworzysz „Mój komputer”, a twój dysk nie jest wymieniony w nagłówkach „Magazynu wymiennego”, Windows z jakiegoś powodu postrzega go jako stały zasób systemowy. Będziesz musiał odmontować dowolne partycje na dysku.

W takim przypadku otwórz „Zarządzanie komputerem”, a następnie przejdź do „Zarządzanie dyskami”. Dla każdej partycji na urządzeniu kliknij partycję prawym przyciskiem myszy, wybierz „Zmień litery i ścieżki dysku” i usuń wszystkie litery dysków przypisane do tej partycji. Gdy to zrobisz, powinieneś przekonać się, że funkcja „bezpiecznego wysuwania” działa zgodnie z oczekiwaniami.

użytkownik1575326
źródło
1
Działa to dokładnie tak, jak opisano na moim laptopie z systemem Windows 7 Home Premium. Chciałbym, aby przycisk w systemie Windows użył słowa „Odmontuj” zamiast „Usuń” (co w mojej opinii jest niepokojące, podobnie jak „usuń”).
steveOw
0

Mieliśmy USB, o którym Windows donosił, że jest w użyciu ... tak samo jak wszyscy inni tutaj.

W Windows 10 Ctrl + Alt + Del przechodzi do Menedżera zadań.

Znajdź, przewijając - Eksplorator Windows. i wyróżnij.

W prawym dolnym rogu znajduje się ładny przyjazny przycisk o nazwie „Uruchom ponownie proces”

Podwójnie potrójnie sprawdź, czy „Windows Explorer” jest jedyną wyróżnioną rzeczą.

Kliknij lewym przyciskiem myszy przyjazny przycisk „Uruchom ponownie proces”.

Miałem tylko jednego Odkrywcę, inni czasem dwa. Po prostu zanotuj, który z nich wróci. Spróbuj zamknąć / wysunąć USB. Mój działał dobrze, zamknij USB.

Jeśli twoje nie wysuwa się / nie zamyka, to prawdopodobnie był to drugi Eksplorator. Spróbuj ponownie i zrestartuj to. Powodzenia.

John Henson
źródło
4
Witamy w superużytkowniku: przeczytaj uważnie pytanie ponownie. Twoja odpowiedź nie odpowiada na pierwotne pytanie. „Czy system Windows może mi powiedzieć, co używa mojego napędu USB?” Poświęć kilka minut i przeczytaj: - superuser.com/help. Odpowiedź: superuser.com/help/how-to- odpowiedź , jeszcze raz witamy u administratora.
Dziękujemy