97

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

В чем причина правого щелчка на значке безопасного удаления, и действительно ли я могу потерять информацию на USB-носителе, если это не будет выполнено?

редактировать

Значительно увеличилось vunerability потери такой информации, если USB - носитель продолжает мигать во время потянув ее из компьютера (в отличие от немигающего)?

9 ответов9

103

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

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

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

Однако Windows автоматически отключает кеширование на USB-устройствах, если вы не указали, что хотите, чтобы оно было включено. По большей части вам не нужно нажимать кнопку "Безопасное извлечение устройства", если вы ничего не пишете или не читаете с устройства.

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

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

Источник

45

Вторая причина заключается в том, что флешки должны иметь стабильное питание в течение ~ 0,25 секунд после команды записи. Это фундаментальная физическая проблема, из-за случайных факторов некоторые записи могут оставлять логический 1 бит в электрическом состоянии 0,72. Исправить это легко: просто переписать бит, возможно, даже несколько раз. В конце концов это будет придерживаться.

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

21

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

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

8

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

РЕДАКТИРОВАТЬ ДЛЯ УТОЧНЕНИЯ: Короче говоря, устройства Phantom - это устройства, на которых установлены драйверы, но которые больше не подключены к порту USB. Windows отслеживает устройства, которые были установлены, но поскольку устройства не были "безопасно удалены", драйвер все еще загружен для этого USB-порта. Это может вызвать различные проблемы, начиная от назначения новой буквы диска при подключении флэш-накопителя и заканчивая тем, что видеоигры обнаруживают отсутствующие контроллеры. Когда вы безопасно удаляете устройство из Windows, вы не просто проверяете, что оно больше не записывает данные, вы говорите Windows выгрузить драйвер из этого USB-порта. Отключение накопителя на лету не только может привести к повреждению данных, но и к риску создания фантомного устройства, с которым Windows не очень хорошо справляется.

По умолчанию Windows не показывает фантомные устройства в диспетчере устройств, поэтому большинство людей не знакомы с этой концепцией. Чтобы найти эти устройства, вручную запустите командную строку от имени администратора и введите set devmgr_show_nonpresent_devices=1 . Это позволит диспетчеру устройств отображать фантомные устройства для текущего сеанса.

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

Ссылка: https://windowssecrets.com/newsletter/how-to-prevent-and-remove-phantom-devices/

8

Сама Windows говорит вам, что вам не нужно использовать опцию Safely Remove Hardware, если вы используете определенные настройки - настройки по умолчанию.

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

Windows позволяет оптимизировать USB-устройство для быстрого удаления или повышения производительности. По умолчанию Windows оптимизирует USB-устройства для быстрого удаления. Вы можете получить доступ к этому параметру из диспетчера устройств - откройте меню «Пуск», введите «Диспетчер устройств» и нажмите Enter, чтобы запустить его.

Разверните раздел «Диски» в диспетчере устройств, щелкните правой кнопкой мыши свое устройство и выберите «Свойства».

Выберите вкладку Policies в окне Properties. Вы заметите, что Windows говорит, что вы можете безопасно отключить ваше USB-устройство, не используя значок уведомления Safely Remove Hardware, поэтому это означает, что вы можете отключить USB-устройство, даже не удалив его безопасно, верно? Не так быстро.

Опасность повреждения данных

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

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

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

Когда вы извлекаете устройство, Windows сбрасывает кэш записи на диск, гарантируя, что все необходимые изменения были внесены, прежде чем уведомлять вас, когда можно безопасно извлечь диск. В конечном счете, независимо от того, какую опцию вы используете, вы должны использовать значок «Безопасное извлечение устройства» и извлечь устройство, прежде чем отключить его. Вы также можете щелкнуть его правой кнопкой мыши в окне «Компьютер» и выбрать «Извлечь». Windows сообщит вам, когда безопасно удалить устройство, устраняя любые изменения повреждения данных.

Примечание. Этот совет относится не только к Windows - если вы используете Linux, вы должны использовать опцию Eject в вашем файловом менеджере, прежде чем отключать USB-устройство. То же самое касается Mac OS X.

5

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

FAT32

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

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

NTFS

И когда вы используете NTFS, так как это файловая система журналирования, вы не можете сломать файловую систему, вынув диск. Однако, если вы это сделаете, вы потеряете или испортите файлы.

Удаление сюрпризов не приводит к коррупции, по крайней мере, с точки зрения NTFS. Структуры данных файловой системы остаются неизменными (или, по крайней мере, могут быть восстановлены из журнала изменений) независимо от того, когда вы извлекаете диск из компьютера. Таким образом, с точки зрения файловой системы ответ таков:«Давай, дергай диск в любое время, когда захочешь!"

Так как NTFS является файловой системой журналирования, она может автоматически восстанавливать внутренние структуры данных, которые используются для отслеживания файлов, поэтому сам диск остается логически согласованным. Файл правильно настроен на конечный размер, и его запись в каталоге правильно связана в. Но данные, которые вы записали в файл? Это никогда не делало это.

Несмотря на то, что NTFS является надежной и может восстанавливаться после неожиданного удаления, эта надежность не распространяется на внутреннюю согласованность потерянных данных.

- Раймонд Чен

3

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

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

Немного больше информации о том, что может происходить:

Возможно повреждение диска.

Другие уже объяснили их довольно хорошо, особенно суперкатайр очень важен для флешек.

Возможные программные проблемы.

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

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

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

Еще больше информации о кешировании и повреждении дисков

Диск, на котором хранятся файлы, работает как библиотека с индексами. Сложность заключается в том, что индекс необходимо синхронизировать с книгами (файлами), которые он содержит. Когда вы добавляете / удаляете файл на диске, его индекс (то есть каталог) также необходимо обновить. Все это происходит в несколько этапов, и извлечение диска в середине приводит к повреждению дисковых структур (для их выявления и восстановления такие инструменты, как "chkdisk", приходят на помощь).

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

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

То есть операционная система хранит правильный каталог только в своей локальной памяти (ОЗУ или внутренний жесткий диск, который обычно все еще быстрее, чем USB-соединение). Это кеширование, о котором говорят другие: хранение данных в отдельном месте для более быстрого доступа.

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

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

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

1

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

1

В чем причина безопасного извлечения USB-носителя из ПК с Windows?

Эта функция для съемных носителей. То есть носитель, который подключен через USB, FireWire и, как таковой, может быть отключен в любой момент.

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

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

«Извлекая» съемный том, вы приказываете Windows очистить кеш и записать все данные, которые ожидают. Таким образом вы гарантируете, что безопасно отключить диск.

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

Это в основном потому, что Microsoft не глупая (давайте не будем спорить здесь ...) Они знают, что людям не нравится делать дополнительную работу. Поэтому, когда вы подключаете съемный носитель в систему в первый раз, когда Windows устанавливает для него драйверы, часть конфигурации, которую она выполняет, - это установка «быстрого удаления».

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

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

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


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

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

Флэш-накопитель USB настроен на быстрое удаление (рисунок 2). Это также имеет смысл, потому что позволяет легко его удалить.

Карта памяти USB настроена для быстрого извлечения (рисунок 3). Это логично, потому что по сути он ничем не отличается от USB-накопителя (или любого другого USB-накопителя). Что интересно, внутренний считыватель карт памяти также настроен на быстрое удаление (рисунок 4). Считыватель встроен в ноутбук и, следовательно, всегда присутствует, но карту можно извлечь, поэтому по умолчанию он быстро удаляется. (Это относится и к дисководу гибких дисков; кэширование отсутствует, поскольку диск в накопителе может быть удален.)

Еще интереснее внешний жесткий диск USB (рисунок 5) и iPod mini (рисунок 6) с небольшим вращающимся жестким диском. Это настоящие жесткие диски, а не флэш-накопители, но поскольку они являются съемными, по умолчанию они по-прежнему быстро удаляются. Опять же, это имеет смысл, потому что они могут быть отключены перед записью данных на диск.

Могу ли я действительно потерять информацию на USB-носителе, если это не будет выполнено?

Сильно ли повышается вероятность потери такой информации, если USB-носитель все еще мигает во время извлечения его из компьютера (в отличие от немигающего)?

Да. Проблема заключается в том, что даже если диск настроен на быстрое извлечение, это не позволяет сразу же отключить его от сети. То, что Windows выполняет запись немедленно, не означает, что они происходят немедленно.

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


Для большей безопасности вы можете использовать программу типа Sync, которая сообщает Windows, чтобы очистить кэш. По сути, это то же самое, что и использование функции безопасного извлечения, но может быть немного удобнее, если вы сделаете ярлык на рабочем столе, чтобы запустить его с определенной буквой вашего съемного диска. Это сэкономит около 5-10 секунд, что не так много, но в HCI это огромный барьер. Что еще лучше, так это то, что он только очищает кэш, но фактически не извлекает диск. Поэтому накопитель все еще подключен и доступен для использования, если вы вдруг вспомнили, что забыли с ним сделать. Это делает его еще более полезным, потому что вы можете даже назначить ему горячую клавишу, чтобы очистить кеш и сделать его безопасным для отключения нажатием клавиши.


Рисунок 1: Внутренняя политика жесткого диска

Внутренняя политика HDD

Рисунок 2: Политика USB-флешки

Политика USB-флешки

Рисунок 3: Внутренняя политика чтения карт памяти

Внутренняя политика чтения карт памяти

Рисунок 4: Политика чтения карт памяти USB

Политика чтения карт памяти USB

Рисунок 5: Политика внешнего жесткого диска

Политика внешнего жесткого диска

Рисунок 6: iPod (мини) HDD

Политика использования iPod mini HDD

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .