Как безопасно удалить устройство, заблокированное системным процессом с помощью дескриптора \$Extend\$RmMetadata\$Txf

У меня есть внешний жесткий диск, который я хотел бы "безопасно удалить". К сожалению, моя система (Windows 7 x64) жалуется, что "устройство в настоящее время используется".

Используя Process Explorer, я обнаружил, какой процесс держит дескриптор на устройстве:

Скриншот Process Explorer

Очевидно, что System это не процесс, который я могу просто убить и покончить с этим. Я провел небольшое исследование, и это, кажется, общая проблема, но до сих пор не найдено решение (за исключением перезагрузки машины, которой я бы хотел избежать, если это возможно).

Есть ли какое-то решение этой проблемы, которое я пропустил?

11 ответов

Решение

У меня всегда была эта проблема с одним из моих внешних дисков Toshiba. Я высоко ценю этот привод из-за его встроенного детектора удара, который в настоящее время очень трудно найти. Но проблема "не удалить это безопасно" сводила меня с ума.

Сегодня я натолкнулся на этот вопрос / тему на сайте социальной сети MS. Хотя там много шума, они указывают на несколько общих проблем. Как сервис распределенного отслеживания. На самом деле трудно все это прочитать из-за какой-то войны, которая в какой-то момент обострилась, но чтение темы с ее конца помогает;)

В любом случае, извините за мое болтливое настроение, я просто навсегда исправил свое дело.

У меня отключены какие-либо службы Distributed-Tracking/Windows-Search/etc и я все еще не смог безопасно отключить диск. Кто-то где-то предположил, что "быстрое удаление" является причиной, но почти все мои USB-накопители работают на нем, и я все еще могу их безопасно удалить.

Тем не менее, я на самом деле пытался переключить этот привод в "режим высокой производительности" и... это вызвало испарение дескрипторов TxfLogContainerXXXX. Так что это правда, что это опция быстрого удаления. Однако, это еще не освободило мой диск. Все еще не мог выбросить это.

Затем я перешел к утилите ComputerManagement->DriveManagement и удалил все назначения букв дисков для этого диска. Мгновенно после этого я смог извлечь диск.

Затем я попытался снова подключить его, переназначив букву диска, переключив ее на быстрое удаление, и она, кажется, работает правильно и все еще может быть извлечена.

В столь длинной теме на сайте MS они также упоминают эти действия. Кто-то предложил:

  • изменить буквы диска и перезагрузиться
  • или попробуйте отключить диск

Я думаю, что "перевести диск в автономный режим" с помощью "Управление компьютером -> Управление дисками" может быть самым быстрым решением, однако я не пробовал его, так как мои случайные попытки помогли, прежде чем я прочитал об этом.

У меня была та же проблема, и я обнаружил, что отключение диска - самый быстрый вариант, как уже сказал @quetzalcoatl.

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

Ниже приведен очень маленький скрипт для автоматизации процесса, вдохновленный этим:
https://groups.google.com/forum/

@echo off
:loop
echo list disk|diskpart|find "Online"
set "disk=."
set /p "disk=Pick disk number above to put offline: "
echo.
echo list disk|diskpart|find "Disk %disk%"
if errorlevel 1 (
echo  Invalid drive selection!
pause
goto :loop
) else (
pause>con
echo select Disk %disk%
echo offline Disk
echo online Disk
echo exit
)| diskpart

Не забудьте запустить командный файл от имени администратора и нажимать клавишу после выбора номера диска.

Для меня проблема была вызвана включением индексации содержимого файла на диске (который включен по умолчанию)

Чтобы отключить это:

Щелкните правой кнопкой мыши диск> Свойства> Снимите флажок Разрешить индексировать файлы на этом диске в дополнение к свойствам файлов.

После отключения индексации содержимого я смог извлечь диск.

Пять лет спустя я фактически исправил эту проблему, прибегнув к коммерческому инструменту: USB Safely Remove, который может "принудительно остановить" устройство, страдающее от этой проблемы. (До этого я использовал обходной путь "отключить", упомянутый в ответе Кецалькоатля.)

Примечание: я не связан с создателями программного обеспечения, я просто упоминаю их, потому что их инструмент решил проблему для меня.

Если ваш диск настроен на быстрое удаление (в политиках дисков), вы сможете безопасно отключить его, не используя опцию "безопасно удалить".

У меня была та же ошибка, что и у Хайнци, но когда я попытался ее решить, изменив режим на "лучшую производительность", я заметил, что на самом деле делает опция по умолчанию:)

Это звучит опасно, но, возможно, без кеширования не должно быть никаких забот?

Кстати, мой диск - это WD-500, и в управлении дисками нет возможности отключить диск.

Да, это очень неприятная проблема, которая сохраняется и по сей день.
Что необходимо сделать, так это освободить этот дескриптор на внешнем диске с помощью такого инструмента, как Process Explorer от Sysinternal .

  1. Определите процесс блокировки:
    Event Log:Event Viewer>System>Warning-Source:Kernel-PnP>ProcessName
    например, приложение \Device\HarddiskVolume<>\ProgramData\Microsoft\Windows Defender\Platform\<>\MsMpEng.exe с идентификатором процесса <> остановило удаление или извлечение устройства USB\VID_<>&PID_<>\<>
  2. Найдите этот процесс вProcessExplorer( Запуск от имени администратора ),
    напримерwinnt.exe>services.exe>MsMpEng.exe
  3. Найдите блокирующий дескриптор из списка дескрипторов для процесса:
    View>Lower Pane View>Handles,
    Сортировать список поType, ИскатьFileсNameкак:\Device\HarddiskVolume<>- индекс будет одним из самых высоких среди других подобных дескрипторов
  4. Close Handleиз контекстного меню на ручке

Теперь вы сможете извлечь диск.

(Если существуют другие дескрипторы, созданные в результате активного сканирования Защитником Windows, исключите корень диска, добавив его в список исключений Защитника Windows:
Virus & threat protection settings>Exclusions

Что мне помогло, так это комбинация нескольких ответов:

  • ВThis PC, щелкните правой кнопкой мыши диск, выберитеProperties, снимите флажокAllow files on this drive to have contents indexed in addition to file propertiesи выберитеApplyи выберитеApply change to drive, subfolders and files(На несколько почти полных 500Гб HD потребовалось около 30сек).
  • ОткрытьStart, искатьCreate and format hard disk partitions, найдите свой HD, щелкните правой кнопкой мыши где-нибудь на сером блоке слева и выберите (см. принтскрин ниже)

Теперь вы можете извлечь свое устройство.

Но будьте осторожны, потому что в следующий раз, когда вы подключите его, он все равно будет установлен как . Лучше всего, вероятно, сделать это сразу: сразу после того, как вы извлекли диск, снова подключите его и установите его какOnline.

Почему эти два шага? Вероятно, потому, что снятие флажка с индексации не приводит к остановке текущей индексации. Но это можно сделать, настроив устройство как Offline.

● Если в следующий раз вы по-прежнему не сможете удалить свое Устройство, откройте Process Explorer (или Process Hacker), откройтеHandles, найдите букву вашего устройства (например:H:) и MsMpEng.exe` и выберите «Закрыть».

У меня была очень похожая ситуация, и у меня есть 2 вопроса и, следовательно, 2 ответа:

  1. Что использует эти дескрипторы файлов и могу ли я их закрыть принудительно?

  2. Как безопасно отключить диск?

Я не видел хороших ответов на №1, кроме №2:

tldr;

  1. Насколько мне известно, если вы используете быстрый режим, вы можете просто отключить диск, не используя "Безопасное извлечение", как только вы закончите копирование файлов и т. Д.
  2. Если "Безопасное удаление" не работает, попробуйте Пуск -> Настройки -> Устройства -> Удалить устройство.

Объяснение

Согласно документам ms о безопасном удалении...:

Чтобы избежать потери данных, важно безопасно извлекать внешнее оборудование, например жесткие диски и USB-накопители.

  1. Найдите значок "Безопасное извлечение оборудования" на панели задач. Если вы его не видите, выберите Показать скрытые значки. Нажмите и удерживайте (или щелкните правой кнопкой мыши) значок и выберите оборудование, которое вы хотите удалить.
  2. Если вы не можете найти значок "Безопасное извлечение оборудования", нажмите и удерживайте (или щелкните правой кнопкой мыши) панель задач и выберите "Параметры панели задач".
  3. В области уведомлений выберите Выбрать, какие значки будут отображаться на панели задач.
  4. Прокрутите до Проводника Windows: Безопасное извлечение оборудования и извлечения носителя и включите его.
  5. Если это не сработает, убедитесь, что на устройстве остановлены все действия, такие как копирование или синхронизация файлов. Выберите Пуск> Настройки>
  6. Устройств. Выберите устройство и щелкните Удалить устройство.
  7. Наконец, обратитесь к производителю оборудования за новыми драйверами или другими обновлениями.

Мой вывод из этого (и это сработало для меня) заключалось в том, что кнопка "Удалить устройство" в разделе "Настройки" более эффективна, чем значок "Безопасное извлечение оборудования" на панели задач.

Кроме того, как уже упоминалось, настройка политики удаления на диске актуальна:

Windows определяет две основные политики: "Быстрое удаление" и "Повышение производительности", которые управляют взаимодействием системы с внешними запоминающими устройствами, такими как флэш-накопители USB или внешние диски с поддержкой Thunderbolt. Начиная с Windows 10 версии 1809, политика по умолчанию - быстрое удаление.

В более ранних версиях Windows политика по умолчанию была Лучшая производительность.

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

Больше информации

Вы можете использовать параметр политики устройства хранения, чтобы изменить способ, которым Windows управляет устройствами хранения, в соответствии с вашими потребностями. Параметры политики имеют следующие эффекты:

  • Быстрое удаление: эта политика управляет операциями хранения таким образом, чтобы устройство было готово к удалению в любое время. Вы можете удалить устройство, не используя процесс безопасного извлечения оборудования. Однако для этого Windows не может кэшировать операции записи на диск. Это может снизить производительность системы.

  • Повышение производительности: эта политика управляет операциями хранения таким образом, чтобы повысить производительность системы. Когда действует эта политика, Windows может кэшировать операции записи на внешнее устройство. Однако вы должны использовать процесс безопасного извлечения оборудования для извлечения внешнего диска. Процесс Safely Remove Hardware защищает целостность данных на устройстве, обеспечивая завершение всех кэшированных операций.

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

Настройка политики удаления для повышения производительности из файла devmgmt.msc не помогла моему переносному накопителю Seagate Expansion емкостью 1 ТБ. Только когда я использовал services.msc, чтобы отключить "Лицензию Crypkey", это сработало немедленно.

Перепробовал все остальные варианты ответов, такие как изменение / удаление буквы диска, отключение его, но эти методы не сработали.

Я бы предпочел не играть с переключением его поведения и держать его настроенным на быстрое удаление.

USB Safely Remove помогло, но, возможно, не сразу, если быстро щелкнуть диск в главном списке. Когда он показал мне больше, чем LockHunter, кроме *Metadata файлы в корне диска, на нем также работал MsMpEng.exe. Принудительная остановка файлов, используемых этим процессом, похоже, помогла мне удалить его.

Что касается других накопителей или ситуаций, я, наконец, обнаружил, что Open Hardware Monitor, похоже, имеет блокировку, даже когда я еще не нашел другого конкретного доказательства для этого. Я бы предпочел не закрывать программу, так как мне приходится каждый раз устанавливать скорость вентилятора.

Я подключил флэш-накопитель USB перед загрузкой в ​​Windows 7, и я не смог его отключить (безопасно удалить). После остановки службы "Поиск Windows" я смогла безопасно извлечь диск. У меня была проблема только если флешка была подключена к компьютеру до запуска Windows.

Другие вопросы по тегам