@Drovosek01

Как предотвратить появление битых файлов?

Купил примерно в 2021 году жесткий диск Western Digital Ultrastar DC HC330 (WDC WUS721010ALE6L4) на 10 ТБ под домашнюю файлопомойку.
Это серверный HDD, как я понял, думал раз он серверный значит должен быть надежным.

Я отформатировал его весь в NTFS и изначально он был подключен по SATA 2 и чтение и запись на него происходили как из Windows так и из macOS.
Файлы записывались на него разные, как маленькие текстовые, так и .zip архивы по 10-15 ГБ.

Примерно через год заметил, что при открытии некоторых текстовых Mardown файлов с этого HDD они не открываются. Попытался открыть их в hex-редакторе и в расшифровке байт там аброкадабра.
Я подумал что это какой-то косяк драйвера NTFS в Paragon NTFS и сделал, чтобы этот HDD монтировался только на чтение в macOS.
Потом выполнил в командной строке chkdsk D: /f /offlinescanandfix и нашлись и исправились какие-то ошибки.

Потом сменил платформу на китайскую x99 и HDD подключен через SATA 3. Записываю и считываю файлы только из под Windows 10 и сейчас снова столкнулся с тем, что .md файл, который я закинул на HDD неделю назад - стал битым.
С Markdown файлами работаю в VSCode.

Crystal Disk Info ошибок, вроде бы, не показывает:
6478741e9bf40510461296.png

Вопросы:
1. Почему появляются битый файлы на этом HDD?
2. Как предотвратить появление битых файлов на HDD?
  • Вопрос задан
  • 362 просмотра
Пригласить эксперта
Ответы на вопрос 1
@rPman
Переназначенные сектора raw значение 0, значит по smart диск здоровый и высокая вероятность что проблемы с данными - логические.

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

Именно этим они достигли такой высокой скорости запуска системы.

Как результат - файловая система при выключении компьютера может находиться в неконсистентном состоянии, не сброшены кеши, не закрыты дескрипторы и не сброшены буфера файлов. Если в таком состоянии к диску полезет (на запись) другая установка ОС (не важно, linux/mac или другой windows) то возможна ситуация, когда логическая структура файлов на диске будет повреждена (это показывает тот факт что чекдиск у тебя уже находил проблемы).

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

Решается отключением файла гибернации (как результат медленное включение windows) командой в cmd.exe под правами администратора:
powercfg.exe /hibernate off
После можно файл hiberfil.sys удалить вручную

p.s. логические ошибки файловой системы коварная штука, могут годами быть в файловой системе и не мешать (полный чекдиск не запускается сам) но зато потом так 'выстрелит', мало не покажется.
Очень большие шансы что у тебя именно это и случилось
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы