2009-12-24 17:00:39 +0000 2009-12-24 17:00:39 +0000
107
107

Может ли Windows сказать мне, что используется мой USB-накопитель?

Будучи добропорядочным гражданином, я нажимаю левой кнопкой мыши на значок “Безопасное извлечение оборудования” на панели задач и выбираю USB-накопитель для демонтажа.

Тогда я получу сообщение:

Windows не может остановить ваше устройство Generic volume, потому что оно используется. Закройте все программы или окна, которые могут использовать устройство, а затем повторите попытку позже.

Конечно, будучи операционной системой, она знает exactly какие приложения используют мое устройство. Так почему же он не скажет мне об этом?

Или есть способ узнать?

Ответы (8)

119
119
119
2016-07-18 01:20:26 +0000

Метод просачивания : Windows (как минимум 10, AFAIK) создает запись в журнале событий, когда вы пытаетесь извлечь съемный диск, и вы не можете этого сделать, потому что процесс имеет блокировку на нем. Два идентификатора события Event ID 225 покажут идентификатор процесса и имя процесса, ответственного за блокировку.

Шаг за шагом:

1) Запуск программы просмотра событий

2) Откройте “Журналы Windows”, затем “System”

3) Щелкните правой кнопкой мыши “System” и выберите “Filter Current Log”

4) В появившемся диалоговом окне введите “225” (без кавычек), где написано “All Event IDs”

5) После этого вы увидите все события, связанные с невозможностью извлечения из-за процесса блокировки диска.

6) Просмотрите временные метки всех этих записей и выясните, какие из них относятся к фактическому времени, когда вы пытались извлечь накопитель.

7) Примите соответствующие меры. Завершение задания изящно (закрытие программы, имеющей блокировку) в большинстве случаев является нормальным. Остановка службы Windows Search также нормальна. Остановка антивирусной проверки должна быть в порядке (если вы не подозреваете, что у вас есть какие-либо вирусы в то время). Зайти в диспетчер задач и убить процесс может быть не в порядке. Как с этим справиться - это выходит за рамки данного вопроса.

8) (Сохранить вид…) в панели действий (в правом фрейме) вы можете “Сохранить фильтр в пользовательском виде…”, поэтому вы найдете его в “Пользовательских видах” (в левом фрейме над “Журналами Windows”)

ID процесса:

Имя процесса:

8). Если у вас нет другой записи с именем процесса, Системный процесс (идентификатор процесса 4) держит ваш диск. Чтобы обойти этот процесс, вам нужно перейти к управлению диском и поставить диск, который вы хотите извлечь, в автономный режим . Если файл находится на загрузочном диске, вы не можете отключить его. В этом случае см. примечание ниже:

UPDATE 2018 : Я видел такие приложения, как WhatsApp Desktop holding handles on Chrome Canary через системный процесс . Поскольку вы не можете извлечь загрузочный диск (поскольку он используется), решением было использование другой изящной утилиты Sysinternals , названной Handle . После закрытия программы, имеющей заблокированный файл, запустите handle и запустите (в качестве примера) handle64 "Chrome SxS\Application\chrome.exe", чтобы посмотреть, присутствуют ли дескрипторы на файле, имеющем блокировку PID 4. С помощью проб и ошибок закройте каждую запущенную программу до тех пор, пока в заблокированном файле больше нет дескрипторов.

Лучший метод (платный)

Загрузить и запустить SafelyRemove . Он поможет вам извлечь диск, а если не сможет, то покажет, какие процессы на нем заблокированы:

60
60
60
2009-12-24 17:03:57 +0000

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

6
6
6
2018-03-09 07:36:41 +0000

Вы также можете использовать командная строка для запроса журнала Windows , с помощью wevtutil.exe (начиная с Windows 7), зная, что Windows Kernel-PnP использует Event ID 225 для записи в журнал системы (всегда имея идентификатор процесса 4), отказ в удалении или извлечении устройства USB\VID_####&PID_############ (где # обозначает шестнадцатеричные числа).

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

я использую его в пакетном сценарии.

6
6
6
2018-09-07 16:15:11 +0000

Вот быстрая 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

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

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_557500445301013C111B1A0.
   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_557500445301013C111B1A0.
5
5
5
2016-01-12 12:44:42 +0000

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

  1. Нажмите Кнопка Windows
  2. В “Поиск программ и файлов: введите: diskmt.msc
  3. В списке поиска найдите запись и нажмите правой кнопкой мыши - select run as administrator
  4. Введите учетные данные администратора для запуска "Управления дисками” (если необходимо)
  5. В списке дисков 6 найдите поврежденный USB-накопитель, который не будет извлечен. На левой панели щелкните правой кнопкой мыши “Извлечь
  6. Ручки “следует” закрыть - вы всегда можете дважды проверить в sys внутренних процессов проводника 0x2 и 0x2 и Note: _ “Безопасное извлечение оборудования и извлечения носителей”_ значок панели задач больше не показывает USB-накопитель - только три точки 0x2 и 0x2 и 1. Физически удалить диск
3
3
3
2016-12-21 17:48:21 +0000

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

Перезагрузка компьютера кажется “свободным” использованием устройства. Также для более быстрого удаления можно отключить кэширование окон в разделе “Аппаратное обеспечение” вашего устройства, иногда окна займут больше времени, чем ожидалось, для прошивки кэша на внешний диск и отобразят сообщение о том, что устройство используется (так как это сделает сама Windows).

2
2
2
2016-12-03 20:50:45 +0000

Если вы открываете “Мой компьютер” и ваш диск не находится в списке под заголовками “Съемное устройство хранения данных”, то Windows почему-то рассматривает его как фиксированный системный ресурс. Вам придется размонтировать все разделы диска.

Если это так, откройте “Управление компьютером”, затем перейдите в “Управление дисками”. Для каждого раздела устройства щелкните его правой кнопкой мыши, выберите “Изменить буквы диска и пути” и удалите буквы дисков, назначенных этому разделу. После этого вы должны обнаружить, что функция “безопасное извлечение” работает так, как вы надеялись.

0
0
0
2018-03-26 07:53:55 +0000

У меня был USB, который, как и у всех здесь, использовался… как и все остальные.

В Windows 10 Ctrl+Alt+Del попадает в диспетчер задач.

Найти с помощью прокрутки - Проводник Windows. и выделить.

Справа внизу красивая дружественная кнопка под названием “Перезагрузка процесса”

Двойная тройная проверка, что “Проводник Windows” - единственная выделенная вещь.

Мышь левой кнопкой мыши щелкните дружественную кнопку “Перезапустить процесс”.

У меня был только один Проводник, у других иногда два. Просто отметьте, какой из них возвращается. Попробуйте закрыть/извлечь USB. Мой сработал отлично, закройте USB.

Если ваш не извлекает/закрывает, то, вероятно, это был другой проводник. Попробуйте еще раз и перезагрузите этот. Удачи.

関連する質問

21
5
13
8
11