Я всегда годами отключал USB-накопители от компьютера, и ничего плохого не произошло; но я слышал, что вы должны использовать « Safely Remove Hardware
» перед удалением диска. Что делает программа « Safely Remove Hardware
» (помимо очистки буфера вывода)?
Рекомендуется ли это просто для того, чтобы гарантировать, что вся передача данных на устройство остановлена, или есть другая причина?
3 ответа
Это зависит от того, какие настройки вы установили для накопителя. Например, если вы посмотрите в диспетчере устройств для самого диска, вы увидите что-то вроде этого:
Если выбран первый вариант (быстрое удаление), то извлечение диска просто размонтирует раздел и больше не позволяет программам обращаться к диску.
Если вы выберете второй вариант (лучшая производительность), то извлечение диска сбрасывает все кэши, которые ОС имеет в памяти, отключает файловую систему (которая также может сбрасывать несколько буферов) и очищает буферы на устройстве.
Новые данные не сразу сохраняются на USB-накопитель, они некоторое время хранятся в оперативной памяти. Основной мотивацией этого appoarch является достижение некоторой производительности на страницах, многократно переписанных на месте.
Таким образом, небезопасное отключение от сети приводит к некоторому риску того, что недавно написанные страницы, временно хранящиеся в ОЗУ, никогда не попадут на диск.
Это может повлиять не только на данные, но и на метаданные - целые каталоги могут исчезнуть, показать мусор и т.д. Это менее вероятно в NTFS, поскольку NTFS имеет журнал транзакций для метаданных. Поэтому в NTFS вы просто повреждаете пользовательские данные в файлах и откатываете изменения метаданных, если вам не повезло при небезопасном отключении.
Именно это все и делает. Он очищает все буферы и гарантирует, что ничто не сможет получить доступ к USB-накопителю, отключив его от системы.