Безопасное извлечение устройства

Безопасное извлечение устройства (англ. Safely Remove Hardware) — компонент операционной системы, предназначенный для подготовки подключенных USB-устройств к отсоединению.

Реализация

Windows

Компонент представляет собой файл hotplug.dll, расположенный в папке %SystemRoot%\system32. Этот файл по структуре аналогичен *.cpl-файлам, но из-за расширения *.dll не отображается в Панели управления. Его ручной запуск возможен командой «control.exe hotplug.dll»[1] или «rundll32 shell32.dll,Control_RunDLL hotplug.dll»[2].

Проблема безопасного извлечения связана в первую очередь с кешированием данных, которое проводится для ускорения записи. В случае отсутствия кеширования данных специальных программ остановки устройства перед его извлечением не требуется, однако сама запись будет происходить медленнее[3]; в Windows 10 предложено два режима работы подключаемых устройств: высокая производительность, требующая включения безопасного извлечения устройства, и быстрое извлечение, позволяющий извлечь накопитель в любой момент[3][4].

Поддерживаемые устройства

PTP- и MTP-устройства не поддерживают Безопасное извлечение. Оно не требуется для данных типов устройств.

Работа компонента в различных версиях Windows

В Windows XP при безопасном извлечении устройства его питание отключается. Однако в Windows Vista это поведение было изменено и питание устройства не отключается. Это поведение можно изменить с помощью правки реестра[5]. Программа USB Safely Remove, начиная с версии 4.4, также позволяет извлекать устройства с отключением питания.

Кроме того, в Windows Vista в контекстном меню съёмных дисков присутствует пункт «Безопасно извлечь» («Safely Remove»). В Windows 7 и более новых версиях (например, Windows 10) соответствующая функциональность реализована в пункте «Извлечь».

Проблемы

Apple iPod

При использовании данной функции для отсоединения Apple iPod на компьютере с ОС Windows Vista данные на iPod могут быть повреждены.[5]

Невозможность извлечения устройства

В некоторых случаях извлечение устройства оказывается невозможным. Причиной этого может быть программа, использующая устройство или заражение компьютера Autorun-вирусом. Следует учитывать, что программа, например, Microsoft Word, в которой открывался файл, расположенный на устройстве, может продолжать «удерживать» устройство даже после закрытия файла. Наиболее часто это вызвано тем, что текущий каталог в диалогах сохранения и открытия файла указывает на устройство. В таком случае следует закрыть программу целиком или можно попробовать открывать файл не на устройстве.

Программы, реализующие аналогичную функциональность

Аналоги функции в других операционных системах

В Unix-подобных системах устройства монтируются тем или иным способом. Особо продвинутые графические оболочки делают это автоматически. В общем случае, процессом монтирования управляет суперпользователь root. Подключение и отключение устройства осуществляется при помощи команд mount и umount соответственно. Следует понимать, что подключается не само устройство, а тома на нём. Это утверждение набирает силу в случае, когда на устройстве несколько разделов (например, переносной жёсткий диск). Устройство также может быть заблокировано открытыми файлами на нём. В этом случае поможет утилита lsof (lsof | grep /mnt/disk). Различные графические оболочки отображают процесс монтирования по-разному.

Примечания

  1. Как оптимизировать скорость передачи данных на и с внешних дисков в Windows. www.interface.ru. Дата обращения: 1 февраля 2024. Архивировано 1 февраля 2024 года.
  2. Безопасное извлечение флешки (брит. англ.). www.windxp.com.ru. Дата обращения: 1 февраля 2024. Архивировано 1 февраля 2024 года.
  3. 1 2 vinaypamnani-msft Windows default media removal policy - Windows Client Management (амер. англ.). learn.microsoft.com (10 августа 2023). Дата обращения: 1 февраля 2024. Архивировано 1 февраля 2024 года.
  4. В Windows 10 теперь можно вынимать флешку без «безопасного извлечения». Коммерсантъ (9 апреля 2019). Дата обращения: 1 февраля 2024. Архивировано 1 февраля 2024 года.
  5. 1 2 USB Port Remains Active for Disabled or Safely Removed USB Device // Support.Microsoft.com.