Безопасное извлечение устройства
Безопасное извлечение устройства (англ. 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). Различные графические оболочки отображают процесс монтирования по-разному. Примечания
|