Чи може Windows сказати мені, що використовує мій USB-накопичувач?


99

Будучи добрим громадянином, я клацнув лівою кнопкою миші на значку "Безпечно видалити обладнання" на панелі завдань і вибрав свій USB-накопичувач, щоб відключити його.

Тоді я отримую повідомлення:

Windows не може зупинити ваш загальноприйнятий пристрій, оскільки він використовується. Закрийте будь-які програми чи вікна, які можуть використовувати цей пристрій, а потім повторіть спробу пізніше.

Звичайно, будучи Операційною системою, вона точно знає , які програми використовують мій пристрій. Так чому мені це не скаже?

Або є спосіб, який я можу дізнатись?


1
У мене було чимало випадків із Vista, де я ніколи не міг цього розібратися, і він не "випустив" USB, поки не перезавантажився / відключився. Оновлено до Win7 і не мав цієї проблеми з тих пір, тому я зрозумів, щонайменше на моєму ПК, це проблема драйвера системи.
BBlake

Відповіді:


57

Ви можете скористатися Sysinternals Process Explorer, щоб знайти ручку для будь-яких відкритих файлів. Просто виберіть Findменю і виберіть Find Handle or DLL. У діалоговому вікні, що відкриється, введіть літеру диска в поле пошуку. Результати пошуку повинні показувати всі файли, відкриті з диска, і який процес має їх відкритими.


4
Після вбивства правопорушника Windows все одно не звільнить USB-накопичувач. Переходьте до фігури ....
Грантлі

2
Я досліджував накопичувач лише в Провіднику. Потім із оболонки cmd.exe я запустив сценарій резервного копіювання на цьому диску, який закінчився. Закрили вікно cmd.exe. Загинув і перезапустив Explorer.exe з Taskmgr. Проте привід використовується і не виймається.
Каз

3
Провідник процесів нічого не знаходить M:.
Каз

2
Якщо Провідник процесів нічого не показує, ви можете використовувати програмне забезпечення OpenedFilesView Nirsoft. Ви не побачите, яка програма використовує накопичувач (або Process Explorer знайшов би це також), але ви все одно побачите ручки, використані файли та зможете їх закрити (якщо вам здається, що це ризикує)
LeFauve

4
Сам Windows Explorer іноді може блокувати диски. Ви можете перезапустити Провідник Windows в диспетчері завдань у Windows 10 (прокрутіть його вниз донизу). У старих версіях Windows вам доведеться закінчити explorer.exe і явно запустити explor.exe з меню Файл.
Крістофер Заручник

113

Простіший метод : Windows (як мінімум, 10, AFAIK) створює запис у журналі подій, коли ви намагаєтесь вийняти знімний диск, а ви не можете, оскільки процес має блокування на ньому. Два ідентифікатори події 225 будуть показувати ідентифікатор процесу та ім'я процесу, відповідального за блокування.

Крок за кроком:

1) Запустіть програму перегляду подій

2) Відкрийте "Журнали Windows", потім "Система"

3) Клацніть правою кнопкою миші на "Система" та виберіть "Фільтр поточного журналу"

4) У діалоговому вікні, що з'явилося, введіть "225" (без лапок), де зазначено "Усі ідентифікатори події"

5) Потім ви побачите всі події, пов’язані з тим, що не вдалося вийняти, оскільки процес заблокував диск.

6) Подивіться на часові позначки всіх цих записів і з’ясуйте, які з них стосуються фактичного часу, коли ви намагалися вийняти диск.

7) Вживайте відповідних заходів. Виконання завдання граціозно (закриття програми, що має блокування) є більшою частиною часу добре. Припинення служби пошуку в Windows також нормально. Припинення антивірусного сканування має бути нормальним (якщо ви не підозрюєте, що у вас є віруси на той час). Заходити в диспетчер завдань і вбивати процес може не бути нормальним. Як впоратися з цим, виходить за рамки цього питання.

8) (Збережіть подання ...) на панелі "Дії" (у правій рамці) ви можете "Зберегти фільтр у власному режимі перегляду ...", тому ви знайдете його в "Спеціальні перегляди" (у лівій рамці над " Журнали Windows ")

Ідентифікатор процесу: Запис у програмі перегляду подій

Назва процесу: Запис у програмі перегляду подій

8) Якщо у вас немає іншого запису з назвою процесу , системний процес (ідентифікатор процесу 4) утримує ваш диск. Щоб обійти цей, вам доведеться перейти до управління дисками та поставити диск, який ви хочете вийняти в автономному режимі . Якщо файл знаходиться на вашому завантажувальному диску, ви не можете розмістити його в автономному режимі. У цьому випадку дивіться примітку нижче:

ОНОВЛЕННЯ 2018 : Я бачив такі програми, як WhatsApp Desktop, що підтримує ручки на Chrome Canary через системний процес . Оскільки ви не можете вийняти завантажувальний диск (адже він використовується), рішенням було скористатися ще однією вишуканою утилітою Sysinternals під назвою Handle . Після закриття програми, яка має заблокований файл, запустіть ручку та запустіть (як приклад), handle64 "Chrome SxS\Application\chrome.exe"щоб перевірити, чи все ще є ручки у файлі, який має замок PID 4. Через пробну та помилкову роботу закрийте кожну програму, поки не буде більше ручок на заблокований файл.

Найкращий метод (платний)

Завантажте та запустіть SafelyRemove . Він допомагає вам вийняти накопичувач, а якщо він не може цього зробити, відобразить, які процеси мають блокування на ньому:

введіть тут опис зображення


1
Скажіть, будь ласка, про номер 225. Як ви це отримали?
Ajeeb.KP

3
The application System with process id 4 stopped the removal or ejection for the device ...Ну ... я спробую відключити Distributed Link Tracking Clientі побачити, чи це допомагає.
Титен-Фіріон

17
Менеджер завдань Windows 10 також може запобігти видаленню! Хто новий.
Алекс Че

3
Також добре працює для win7. Напевно, добре працює і на win8. Дякуємо за цей метод. Проблема може бути гнітючою.
Синдакат

2
Корисна порада. Дякую за це. Я зберегла спеціальний вигляд "Заблоковані пристрої" для швидкого доступу до цього відфільтрованого подання.
Стів Крейн

6

Ви також можете використовувати командний рядок для запиту журналу Windows , використовуючи wevtutil.exe (оскільки Windows 7), знаючи, що Windows Kernel-PnP використовує ідентифікатор події 225 для реєстрації системи (завжди має ідентифікатор процесу 4), відмовившись видаляти або вилучати пристрій USB \ VID _ #### & PID _ ############# (де # позначають шістнадцяткові числа).

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qe System: запити подій із системного журналу
  • / q: запит із XPath
  • EventID=225 означає, що система відмовила у запиті на викидання
  • / c: 5: кількість записів для завантаження (5 тут)
  • / f: текст: формат (за замовчуванням xml)
  • / rd: true: зворотний порядок (найновіший перший)

Я використовую це в пакетному сценарії.


5

Для мене (Windows 7).

  1. Натисніть клавішу Windows
  2. У "пошукових програмах та файлах: введіть: diskmgmt.msc
  3. У списку пошуку знайдіть запис та клацніть правою кнопкою миші - виберіть запустити як адміністратор
  4. Введіть облікові дані адміністратора, щоб запустити "Управління дисками" (якщо потрібно)
  5. Знайдіть образливий usb-диск, який не буде витягуватися зі списку дисків
  6. На панелі ліворуч правою кнопкою миші виберіть " Витягнути "
  7. Ручки "повинні" закрити - ви завжди можете двічі перевірити в sys Internals Process Explorer

Примітка. Піктограма панелі завдань "Безпечне видалення апаратних засобів та вилучення носіїв" більше не показує usb-накопичувач - лише три крапки

  1. Фізично видаліть привід

4
У керуванні дисками Windows 7 панель лівої руки чи команда "Вийняти". (Версія 1.00, згідно довідки / про). Я можу його скоротити, видалити, позначити активним, форматувати, ... не вийняти.
Каз

1
Не вдалося також знайти Eject, але параметр "Офлайн" зробив цю роботу. І не забудьте знову встановити його в Інтернеті під час підключення пристрою зберігання даних.
Адріано П

2
Нещодавно я використовував "Offline", щоб зупинити зовнішній диск USB-SSD, який, швидше за все, якимось чином використовувався системою (Win 10), після цього "безпечне видалення" спрацювало. Через деякий час я повторно підключив цей диск і отримав диск з розділом "RAW". Після виконання chkdsk /f f:файлової системи якимось чином було перепрофільовано, але все приземлилося "знайдено.000". Отже ... цей метод не виглядає дійсно безпечним. На щастя, у мене не було нічого важливого на цьому диску ...
Xtra Coder

5

Ось швидка команда PowerShell запитувати журнал подій і показувати, яка програма блокує викидання диска (працює для мене з Windows 10, ймовірно, працює і з 7/8)

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

Вихідні дані перерахують всі випадки за минулу годину, коли система не змогла витягнути дисковий диск. У стовпці Повідомлення показаний процес, який заблокував викидання. У моєму прикладі нижче диспетчер завдань насправді був винуватцем, і я зміг викинути його після закриття менеджера завдань.

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.

3

Ви можете запустити resmon.exe (через WIN + R), перейти на диск> Діяльність диска> Сортувати за файлом. Тепер ви можете побачити всі файли, до яких звертається система, і які процеси отримують доступ до них, упорядковані шляхом файлу (який починається з btw з буквою приводу). Може не працювати у всіх випадках, але це простий підхід.

Перезавантаження комп'ютера, здається, "звільнить" використання пристрою. Крім того, для швидшого видалення ви можете відключити кешування Windows на розділі «Обладнання» вашого пристрою, іноді для Windows буде потрібно довше, ніж очікувалося, для переведення кешу на зовнішній диск, і відобразиться повідомлення про те, що пристрій використовується (оскільки він буде Сама Windows)


Аналогічно цьому: у resmon.exe, на вкладці CPU. Прокрутіть униз до вікна Асоційовані ручки. Там знаходиться поле пошуку "Ручки пошуку", де ви можете ввести лист заблокованого диска.
Андрій

2

Якщо ви відкриєте "Мій комп'ютер" і ваш диск не вказаний у заголовку "Знімне зберігання", Windows чомусь переглядає його як фіксований системний ресурс. Вам доведеться демонтувати будь-які розділи на диску.

Якщо це так, відкрийте "Управління комп'ютером", а потім перейдіть до "Управління дисками". Для кожного розділу на пристрої клацніть правою кнопкою миші розділ, виберіть "Змінити літери та контури диска" та видаліть усі літери диска, призначені для цього розділу. Після цього ви повинні виявити, що функція "безпечного викидання" працює так, як ви сподівалися.


1
Це спрацювало саме так, як ви описали на моєму ноутбуці під управлінням Windows 7 Home Premium. Я б хотів, щоб кнопка у вікнах використовувала слово "Відключити" замість "Видалити" (що викликає занепокоєння схоже на "видалити").
steveOw

0

Був USB, що вікна повідомили, що вони використовуються ... так само, як і всі інші тут.

У Windows 10 Ctrl + Alt + Del потрапляє до диспетчера завдань.

Знайдіть за допомогою прокрутки - Провідник Windows. і виділити.

Знизу справа - приємна дружня кнопка під назвою "Перезапустити процес"

Двічі потрійна перевірка, що "Провідник Windows" - це єдине, що виділяється.

Клацніть лівою кнопкою миші дружню кнопку «Перезапустити процес».

У мене був лише один Провідник, інші іноді - два. Просто зауважте, який із них повертається. Спробуйте закрити / вийняти USB. Моя спрацювала нормально, закрийте USB.

Якщо ваш не викидає / закриває, можливо, це був інший Провідник. Спробуйте ще раз і перезапустіть цю. Щасти.


4
Ласкаво просимо до суперкористувача: Будь ласка, прочитайте запитання ще раз уважно. Ваша відповідь не відповідає на початкове запитання. "Чи може Windows сказати мені, для чого використовується мій USB-накопичувач?" Будь ласка, знайдіть кілька хвилин і прочитайте: - superuser.com/help. Відповідь: superuser.com/help/how-to- відповідь , знову ласкаво просимо на superuser.Thankyou
mic84
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.