Ради повышения производительности работы внешних устройств Windows может кэшировать не только чтение, но и запись. Когда вы сохраняете какой-то файл, который находится на флешке, Windows может в реальности сохранить данные только в памяти и сообщить API, что запись прошла успешно. Если выдернуть флешку в этот момент, то данные так и не попадут на нее и потеряются.
Ради целостности данных рекомендуется всегда использовать безопасное извлечение устройства.
Чтобы этого не делать, в Windows 10 начиная с обновления 1809 будет использоваться безопасный режим без кэширования. Данные будут записываться немного медленнее, но зато безопасно.
Я работаю с Windows с самых первых дней его появления и никогда не менял никакие режимы и никогда не использовал безопасное извлечение устройств. Я не скажу, что я очень часто пользуюсь USB устройствами, но все же. В общем, я никогда не менял режимы и получается, что по умолчанию был кэширующий и небезопасный. Но за все время пользования Windows у меня не было проблем с потерей данных.
В macOS регулярно проблемы. Стоит небезопасно извлечь устройство и ОС при следующем подключении перед монтированием будет долго и нудно сканировать его на ошибки. Мне долго пришлось переучиваться к тому, чтобы безопасно извлекать USB устройства из macOS. Просто стоит небезопасно отключить внешний жесткий диск на 1TB, и потом придется сидеть минут пять при следующем подключении в ожидании полной проверки. Бесит.
А ты в Windows безопасно извлекал USB устройства?
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Постоянно безопасно извлекаю флешки в Windows. Уже привычка.
Я всегда в Windows извлекал флешки безопасно. И проблем с потерей данных, ошибками файловой системы и т.п. не было ни разу.
Насколько я помню, Windows не кэшировала запись на флешки с файловой системой FAT32. Так что можно было доставать и без предварительного "безопасного извлечения". Флешки по умолчанию отформатированы в FAT32, и при сравнительно небольшом объеме (до 32 ГБ) вряд ли кто-то заморачивается по поводу NTFS.
Но если флешка отформатирована в NTFS, то данные на запись кэшировались. А в зависимости от контроллера флешки в NTFS возможны еще более забавные эффекты, например, отформатированная в NTFS флешка Exployd (я хз, что за фирма, типа нонейм) при копировании большого файла сразу же показывает процент выполнения 50%, иногда 90%. Но понятно, что это не так на самом деле. Если файл большой, то оставшиеся 10% долго и нудно тянутся :)
Что касается внешнего винчестера, то тут дело не столько в ОС, сколько в самом винчестере. Т.к. у него собственный буфер. И при небезопасном извлечении (читай - незапланированнм отключении питания) данные в буфере теряются.
А вообще, лучше бы отключение питания USB порта вернули. Как во времена Windows XP: сделал безопасное извлечение - светодиод на флешке погас.
PS Как-то я пробовал ФС UDF, правда, только в Linux (а Linux вообще кэширует все подряд, т.е. между флешкой на 1 ГБ и внешним винчестером на 1 ТБ разницы для ОС нет никакой). Так вот, я копировал штук десять файлов по 500 МБ каждый. И копировались они очень медленно, часа два. Интересно, как Windows бы справилась (согласно Википедии с семёрки уже поддерживается UDF)?..
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.