Безопасное извлечение устройства - а нужно ли? Бесплатная программа для безопасного извлечения устройств.

Независимо от операционной системы, при извлечении флешки всегда рекомендуется перед тем как физически вытянуть устройство из компьютера, отключить его от системы программно.Действительно ли это так важно и нужно?

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

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

Но тем не менее, даже если ваша флешка не находится в активном состоянии, ее непредвиденное извлечение может привести к повреждению данных. Это происходит из-за кэширования, которое используется во всех операционных системах. При копировании информация не записывается сразу на диск USB вместо этого для ускорения работы устройства ее часть хранится в оперативной памяти и записывается тогда, когда система будет более свободна или когда вы захотите извлечь флешку.

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

Почему Linux, MacOS и Windows ведут себя по-разному?

Операционные системы ведут себя почти одинаково при работе с любым диском. Это относится не только к флешкам, но и встроенным в корпус жестким дискам. Данные, которые нужно записать сначала попадают в память и находятся там кое-какое время. Также прочитанные данные кэшируются в оперативной памяти, на случай если они еще раз будут нужны.

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

Безопасное извлечение флешки Linux и MacOS даже больше нужно, чем в Windows при настройках по умолчанию. Почему так? Операционная система Windows не использует кэширование для дисков, которые считает съемными. Такое поведение системы по умолчанию, но его можно изменить в сторону лучшей производительности. Для этого откройте Диспетчер устройств> Дисковые устройства> Название диска> Свойства> Политики:

С другой стороны, Linux и Mac используют кэширование для всех дисков по умолчанию, в том числе и съемных. Точно так же себя будет вести Windows если вы выберите вариант Лучшая производительность . Linux дает вам полный контроль над управлением дисками, в том числе вы можете указать нужно ли кэшировать данные. Для этого достаточно создать запись для монтирования флешки в /etc/fstab и добавить опцию монтирования sync . Например:

/dev/sdb1 /run/media/flash users,noatime,sync 0 0

Если вы используете опцию монтирования sync, то все данные, которые будут отправляться на диск будут сразу же записаны. Но обратите внимание, что опция sync не отменяет безопасное извлечение usb устройства. Правильное размонтирование гарантирует, что больше никакое приложение не работает с флешкой и там нет не сохраненных данных.

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

Кроме того, опция sync плохо сказывается на сроке службы флешки. Ядро выполняет запись в пакетном режиме, в каждый сектор как только это потребуется. Для дешевых флешек, которые не перераспределяют сервера современная журналируемая файловая система может стать последней и очень быстро убить устройство.

Для файловых систем FAT можно использовать опцию монтирования flush. Она записывает данные как только диск становится неактивным. Это немного улучшает ситуацию.

Всегда используйте безопасное извлечение

Если вы извлечете флешку и перед этим ее не размонтируете, с самой флешкой вряд-ли что случится, она точно не сгорит. Но если в это время что-то записывало на нее данные, то они будут утеряны. Поэтому лучше взять за правило всегда размонтировать флешку linux перед тем, как ее вынуть из компьютера, причем это справедливо не только для Linux, но и Windows.

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

Если вы хотите выполнить это действие через терминал, то все делается тоже ненамного сложнее:

sudo umount /dev/sdb1

Здесь sdb1 - имя устройства флешки в вашей системе. После этого флешка будет подготовлена к извлечению. В Windows это нужно делать обязательно, потому что в отличие от Linux, эта система может сама, без вашего ведома начать выполнять какие-либо действия с флешкой, например создать папку System Volume Information с метафайлами.

Нельзя просто так взять и вытянуть флешку с USB-разъема. Неправильное отключение любого накопителя может привести к его поломке и порче данных.

Это корректный способ отсоединения USB-флешки от компьютера. Если все делать правильно, то операционная система:

  • отменит все активные операции чтения/записи информации на флешку;
  • «сообщит» всем запущенным программам, что съемный диск будет отключен;
  • «оповестит» пользователя, если в каких-то текущих процессах невозможно остановить взаимодействие с накопителем.

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

Как выполнять безопасное извлечение?

Рассмотрим на примере ОС Windows 10, но в более старых версиях эта процедура принципиально не отличается.

  1. Через «Панель задач» . Наводите курсор в правый нижний угол дисплея, кликаете на первую иконку слева (стрелочка вверх) - отобразятся скрытые значки. Ищите там пиктограмму флешки - при наведении на нее курсором отобразится «Безопасное извлечение устройств и дисков». Кликаете на иконку левой кнопкой мышки и нажимаете на «Извлечь Х», где Х - название USB-накоппителя.
  2. Через контекстное меню . Открываете «Этот компьютер» и находите в списке съемных дисков требуемую флешку. Кликаете на ней ПКМ - сбоку появится контекстное меню. В списке команд находите строку «Извлечь» и нажимаете ее.

ВАЖНО! Вышеперечисленные подходы должны заканчиваться системным оповещением - «Оборудование может быть извлечено (удалено)».

Какие могут возникнуть проблемы при извлечении флешки?

Порой компьютер не «хочет отпускать» съемный накопитель. Обычно это обусловлено одним из двух факторов:

  • кэширование данных . Не всегда информация записывается в режиме реального времени, когда вы видите окно статуса, где в процентах отображается прогресс. Операционная система может закешировать данные - перенести их в оперативную память. Фактически запись на накопитель произойдет позднее, при наличии свободных ресурсов;
  • сбоями процессов отдельных утилит . Например, фоторедакторы способны постоянно проверять наличие снимков на подключенных к компьютеру накопителях. Такой процесс может зациклиться. Тогда ему все время надо иметь доступ к флешке и он не «позволит» отсоединить ее безопасным образом.

В любом случае, система оповестит о невозможности извлечения накопителя - появится соответствующее сообщение. Самый простой способ выйти из такого положения - отключить активные программы и закрыть все окна. Это касается и приложений, работающих в фоновом режиме: антивируса, мессенджеров, оптимизаторов ОС.

Проблема с универсальным томом

Наиболее распространенная сложность при безопасном извлечении - ошибка «Windows не удается остановить устройство Универсальный том» . Это означает, что есть процессы, которые используют накопитель, но система не может остановить их в автоматическом режиме.

Решение проблем с универсальным томом


Ошибка с ярлыком безопасного извлечения

Случается, что в «Панели задач» пропадает иконка, предназначенная для запуска безопасного извлечения.

Восстановление значка безопасного извлечения

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

Алгоритм действий следующий:

  • зажимаете комбинацию клавиш «Windows+R» - появится окно «Выполнить» ;
  • копируете в строку окна запрос «RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll» ;
  • подтверждаете запуск кликом на ОК;
  • появится окно безопасного извлечения, где нужно выбрать подходящий накопитель и кликнуть на «Остановить».

Если не помогло, то используйте официальное средство диагностики проблем с USB от Microsoft. Скачайте , установите и запустите утилиту, после чего следуйте инструкциям, которые будут появляться - они предельно простые.

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

  • запустить окно «Выполнить» , как и в первом шаге предыдущего способа;
  • ввести в строку запрос «regedit» и запустить его нажатием ОК;
  • в новом окне обратить внимание на панель слева, состоящую из многих строк - последовательно доберитесь до строки по пути: HKEY_CURRENT_USER => Softaware => Microsoft => Windows => CurrentVersion => Applets => SysTray ;
  • перевести взгляд в правую сторону, где будет 3 строки - кликните сначала «Services» , в появившемся окне установите значение «1b», сохраните изменения кликом на ОК, после чего аналогично поступите со строкой «HotPlugsFlags» , но в ней установите значение «2».
  • перегрузите компьютер.

Случается, что пропадает не только значок безопасного извлечения, но и сама иконка накопителя. Чаще всего виной этому, в частности, узкоспециализированные - автораны. Для борьбы с ними выполните полную проверку системы антивирусом - желательно, не бесплатным. Кроме этого можно применять специальные утилиты Анти-Ауторан или Online Solutions Autorun Manager .

Задумывались ли Вы каждый раз, после использования USB флешки, диска, дисковода и т.п. устройств над вопросом "А нужно ли безопасно её извлекать?" или Вы не задумываясь так извлекаете или наоборот - просто выдергиваете?
Да и что делать, если пропал этот самый значок в трее?
Сейчас до сих пор разгораются споры как между опытными пользователями, так и новичками по этому поводу.
Сейчас разберемся!
Так же я покажу как можно вернуть это самое Безопасное извлечение устройств.
А на сладенькое - небольшие махинации с , позволяющие извлекать устройства практически в один клик.

Прежде всего нужно узнать, а зачем это вообще нужно? В чем причина?
А причина кроется в кэшировании .

Кэширование - это накопление данных в некотором хранилище, с целью быстрого последующего доступа к ним по мере надобности. Процесс кэширования ускоряет многие процессы обработки данных.


Другими словами - прежде чем записать данные на флешку, ОС её помещает в КЭШ (блок оперативной памяти), а потом уже записывает через некоторое время (это ещё называют отложенная запись ). Делается это для быстроты - ведь оперативная память не зря так называется.

Так какие могут быть последствия выдергивания устройства без безопасного извлечения?
Да ничего такого, просто данные не запишутся корректно.
Бывает такое, что процесс копирования уже завершен, а Вам нужно бежать, а windows дает сообщение "Устройство не может быть остановлено из за того что занято чем то" (извините, дословно не помню что там за сообщение). И Вы всё равно выдергиваете флешку и бежите по делам.
Так вот тут как раз и получается, что данные были записаны в КЭШ, а на флешку так и не записались ещё. Хотя порой там может уже и присутствовать файл с теми же самыми свойствами и размером что и оригинал.
Но при открытии, например, картинки - получится что она откроется либо наполовину либо вообще будет отказано в доступе. Так же, если это архив, может быть сообщение о неожиданном конце поврежденного архива или SRC ошибке. Тоже из за неправильного завершения копирования.

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

Но вот что тут самое главное - извлекать имеет смысл лишь тогда, когда включено кэширование файлов!

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

Итак, втыкаем флешку и идем по пути

Пуск - Панель управления - Диспетчер устройств


Находим раздел Дисковые устройства , раскрываем его и кликаем 2 раза по Вашей флешке и переходим на вкладку Политика . Здесь ставим Быстрое удаление и жмем ОК.

но на самом деле (несмотря на то, что там написано) при включенном режиме "Быстрое удаление" кэширование не отключается совсем - Windows использует так называемое "сквозное кэширование" - оно позволяет устройству работать с командами записи так, как будто кэш отсутствует.

Что делать если пропал значок со стрелочкой - безопасное извлечение устройства в трее?
Щелкаем ПКМ на Панели задач - Свойства - Область уведомлений - Настроить


Ищем в списке "Безопасное извлечение устройства" и настраиваем как Вам нужно.

Ещё вариант:
Сочетание клавиш win+r -> вставляем туда

rundll32 shell32.dll,Control_RunDLL hotplug.dll


этим Вы вызовете окно безопасного отключения USB-устройств.

Для Windows XP поможет следующий твик реестра. Скачиваете, запускаете. Не бойтесь, я плохого не даю

Ну и напоследок - интересный вариант решения значка - он появится в контекстном меню по нажатию ПКМ.

идем в Редактор реестра (win+r - Вводим regedit ) и переходим в ветку HKEY_CLASSES_ROOT\DesktopBackground\Shell\


ПКМ по Shell и создаем новый раздел с названием Safely Remove Hardware (безопасное извлечение оборудования).


Создаем в нем новый строковый параметр с названием Icon


дважды щелкаем по только что созданному параметру и в поле Значение вводим hotplug.dll,-100

В то время как споры о безопасном извлечении устройств (флэшек) не утихают, я решил описать свой аргумент в пользу отказа от безопасного извлечения устройств . Конечно же я уверен, что найдётся много критиков, которые не применно возразят: "Я не извлекал и у меня сгорела флэшка!", "я не извлекал и у меня абсолютно все данные на флэшке удалились" и пр... Надеюсь что наш читатель, человек благоразумный и сможет проанализировать и сделать для себя соответствующие выводы. Конечно же я ни кого не призываю отказаться от безопасного извлечения накопителей, но призывать безопасно извлекать их я не буду . Опишу свою точку зрения на проблему, а дальше каждый пусть решит сам.

Для начала небольшое введение, прочтите - это позволит Вам понять суть...

Увеличение производительности за счёт кэширования

Кэширование - это накопление данных в некотором хранилище, с целью быстрого последующего доступа к ним по мере надобности. Процесс кэширование ускоряет многие процессы обработки данных.

Так вот, операционная система Windows (с которой вы работаете), грубо говоря имеет две политики работы с накопителями информации (коим и является флэшка).

1) ВКЛ юченое кэширование

2) ВЫКЛ юченое кэширование.

Когда кэширование записи включено , данные сразу на диск не записываются , а попадают в кэш (некоторая область посредник). А собственно запись (физическая запись) на флэшку производится через некоторое время, такое поведение ещё принято называть - отложенная запись . Этим достигается повышение производительности.

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

Так вот в случае если кэширование активно и Вы записав файлы на переносной usb накопитель отключили его (накопитель), то скорее всего это приведёт к потере записанной (в данный момент) информации. Так как реально процессзаписи данных не завершился до конца, и работала так называемая отложенная запись не смотря на то, что Вы видели как копирование данных на флэшку удачно завершилось.

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

Небольшое посвящение в тему кэширования необходимо для того, что бы Вы понимали принципы работы операционной системы в данном аспекте.

Думаю всем хотя бы в общих чертах стало понятно, как работает подсистема кэширования. И сейчас многие задались вопросом, а включено ли кэширование на мом компьютере? И многие подумают, что именно так и есть, раз им рекомендовали делать безопасное извлечение...

На самом деле, по умолчанию (т.е. если специально не поменять) включена политика с ОТКЛюченым кэшем, доказательством служит вот этот скриншот

Рисунок 1. Политика удаления

Внимательно вчитайтесь в текст и Вы увидите что Microsoft уже позаботилась о быстром удалении устройства.

Напрасные опасения

И так чего же Вы опасаетесь и так старательно стремитесь избежать, каждый раз отключая безопасно флэшку?

Наверняка Вы наслышаны об ужасных слухах, когда выгорают USB порты якобы из-за того, что когда то не извлекли безопасным образом флэшку, что горят и сами накопители, о том что информация хранящаяся на диске повреждается и ещё много других страшилок. Последнее пожалуй будет самым реалистичным, так как после записи с включенным кэшированием если быстро выдернуть флэшку (не дождавшись окончания записи) записываемый вами файл, окажется записанным не полностью т.е. повреждённым - вот и всё!

Это означает, что если Вы подключили флэшку с целью копирования с неё (т.е. операции чтения данных с флэшки) то безопасно можно уже точно не извлекать.

По прежнему считаете что Ваша флэшка может сгореть?

Тогда обратимся к спецификации USB интерфейса и здравому смыслу.

Здесь GND - цепь «корпуса» для питания периферийных устройств, а VBus - +5 В, также для цепей питания. Данные передаются по проводам D+ и D? дифференциально (состояния 0 и 1 (в терминологии официальной документации diff0 и diff1 соответственно) определяются по разности потенциалов между линиями более 0,2 В и при условии, что на одной из линий (D? в случае diff0 и D+ при diff1) потенциал относительно GND выше 2,8 В. Дифференциальный способ передачи является основным, но не единственным (например, при инициализации устройство сообщает хосту о режиме, поддерживаемом устройством (Full-Speed или Low-Speed), подтягиванием одной из линий данных к V_BUS через резистор 1,5 кОм (D? для режима Low-Speed и D+ для режимов Full-Speed и High-Speed.).

Ничего нового или шокирующего я здесь не рассказал, просто хотел подчеркнуть тот факт, что USB интерфейс подпитан напряжением +5 В. Напряжение питания заложено официальной спецификацией, и никакое безопасное извлечение устройств не может повлиять на размер выхода питающего напряжения.

Думаю что Вы понимаете что электрический прибор (коим является флэшка) может сгореть и горит (кстати довольно часто) только из-за перепадов, выбросов напряжения, либо кортоких замыканий. Причиной которых является неисправный или не качественный блок питания, компьютера "развиханный" USB разъём или токопроводящий мусор застрявший в порту, но никак не функция безопасного извлечения устройства в операционной системе Windows.

Если кто то из специалистов не согласен, буду рад если Вы поправите меня, обязательно внесу в текст статьи вашу корректировку.

Некоторые пользователи считают, что функция безопасного извлечения USB-устройства является своего рода анахронизмом, и особой нужды в ней нет. С одной стороны это действительно так, – современные операционные системы позволяют извлекать накопитель без угрозы повреждения флеш-памяти, если конечно имеющиеся на нем данные не используются другими приложениями.

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

Собственно ничего неудобного в этом нет, но если вы торопыжка или имеете плохое зрение, возможно нижеописанные два способа окажутся для вас полезными.

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

RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll

Жмем “Далее” и в поле имени ярлыка вводим желаемое название, например “Изъять USB-устройство”. Затем кликните по ярлыку правой клавишей мыши, выберете Свойства → Ярлык и в поле “Быстрый вызов” укажите сочетание горячих клавиш для вызова диалогового окна.

Надо отметить, что данный метод, прекрасно работающий в XP и Vista, может давать сбои в более поздних версиях . В таком случае вместо сообщения об удачном отключении съемного устройства вы получите ошибку “Устройство |имя| не является съемным и не может быть извлечено”.

Благодаря скрытым возможностям Windows можно проделывать и другие трюки, например, быстро “подключать и отключать” виртуальные диски. Несколько сложнее обстоит дело с виртуальными приводами, созданными с помощью программ-эмуляторов, к примеру UltraISO – вы можете скачать это полезное приложение, а заодно ознакомиться с его возможностями.

Другой способ, позволяющий быстро извлечь переносное устройство заключается в использовании , из которых USB Disk Eject является самой простой и удобной. USB Disk Eject совершенно бесплатна, имеет маленький вес, не требует установки, корректно работает Windows 7 и 8.

Пользоваться утилитой предельно просто. Программка выводит список подключенных к ПК устройств; двойной щелчок по выбранному устройству мгновенно отключает его. Поддерживается работа с флешками, SD-картами и другими типами переносных носителей. Единственным недостатком этой утилиты является разве что отсутствие русского языка.