Збережений файл стає переповненим нулями після перезавантаження


1

Ми стикалися з дивними ситуаціями на роботі кілька разів за останні кілька місяців. Після перезавантаження комп'ютера - деякі з останніх збережених файлів заповнюються нулями. Розмір правильний і час модифікації правильний, але весь файл - лише "0" від початку до кінця.

  • Це відбувається на кількох подібних комп'ютерах.
  • На всіх комп'ютерах працює ОС Windows 7 Embedded.
  • На всіх комп’ютерах є фільтр запису на основі файлів, але він не був активним на диску, де збереглися пошкоджені файли (в деяких випадках: він взагалі не був активним).
  • Це відбувалося на жорсткому диску різних типів (SSD, а не SSD). Файлова система була NTFS, розмір - від 250 до 500 ГБ.
  • Крім жорстких дисків, усі комп'ютери мають в основному однакове обладнання, включаючи чіпсет 6-портового контролера sata achi Intel C600 / X79.
  • В одній ситуації пакетний файл був переписаний нашою програмою, а потім (перед перезапуском) Windows запустив його і він запустився правильно. Через 2 хвилини ми перезапустили комп’ютер - і файл був заповнений нулями.
  • Перезапуск ніколи не відбувся в середині написання файлу. Це було чітко після збереження та закриття файлу належним чином (хоча, можливо, всі перезавантаження були від вимикача живлення, а не від нормального відключення).
  • Це рідкісна ситуація. Ми не можемо знайти способу зробити це попитом. За останні 6 ~ місяців він трапився до нас приблизно в 10 разів на приблизно 4 комп’ютерах / жорстких дисках.

Як ми могли підійти до цієї докучливої ​​помилки?

Дякую.

Відповіді:


1

Вимкнути кешування запису на цих дисках (Windows 7 Disk Policy). Але краще використовувати звичайне відключення.


Буде намагатися. Але 2 питання: (а) Чи може затримка запису бути через кілька хвилин? Це не повинно бути після частки секунди? (b) Чи не факт, що Windows перед запуском файлу правильно запустив пакетний файл, що спричинило глибшу проблему? Я маю на увазі - "записувати кешування" питань, чи є адекватним поясненням для моєї декларації?
Ю. Шохам

(а) Я думаю, що ні, але я не фанат Windows. Unix та linux синхронізуються кожні х секунд, але я вважаю, що Windows цього не робить. (б) Ні, ОС не буде читати блоки з диска, якщо він має їх у пам'яті. Адекватне пояснення: довідка про кешування запису попереджає про вашу проблему: переконайтеся, що у вас немає збоїв живлення, наприклад "поставте кришку на цей вимикач живлення".
Джерард Х. Піл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.