Умышленное повреждение файловой системы - PullRequest
7 голосов
/ 28 ноября 2011

Я должен явно проверить, что делает мое приложение, если оно пытается получить доступ к некоторой поврежденной части файловой системы NTFS.Я искал похожие вопросы, но они касались повреждения определенных файлов (то есть уничтожения синтаксиса XML-файла и т. Д.).

Мне нужно создать сценарий, в котором chkdsk будет сообщать об ошибках вфайловая система в определенном месте.

Кто-нибудь знает, как я мог спровоцировать такую ​​ситуацию для тестирования моего приложения.

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

Ответы [ 3 ]

2 голосов
/ 29 ноября 2011

Если проблема связана с тем, что будет делать ваше приложение при обнаружении поврежденных файлов, то зачем беспокоиться о повреждении файловой системы, содержащей файлы?Почему бы просто не повредить сами файлы?

Операционная система делает многое для обеспечения надежности файловых систем. Я не уверен, что преднамеренное уничтожение мусора в файловой системе приведет к чему-то еще, кроме нечеткого тестирования реализации файловой системы..

2 голосов
/ 30 ноября 2011

Так как лучшего решения здесь нет, я сделал это трудным путем: я использовал Sysinternals NTFSInfo , чтобы найти местоположение таблицы основных файлов, запустил Linux Live CD и отредактировал некоторые биты в обоих местах. основной таблицы файлов (MFT). Потребовалось некоторое время, чтобы выяснить правильные места, но я могу создать поврежденную файловую систему no для проверки процедур ошибок в моем приложении.

Спасибо за эти идеи, но я приму ответ самому себе. Если в будущем у кого-то возникнет такая же проблема, свяжитесь со мной.

0 голосов
/ 28 ноября 2011

Я бы попытался записать несколько случайных байтов в некоторых случайных местах диска (или раздела диска).

...