1

Я пишу служебную программу, которая, помимо других задач, будет запускать chkdsk.exe в режиме только для чтения на вторичных жестких дисках NTFS. Чтобы полностью протестировать мою утилиту, мне нужно вызвать состояние на одном из этих дисков, которое chkdsk обнаружит как ошибку ... предпочтительно таким образом, чтобы не уничтожить существующие данные на диске. Какой самый простой способ сделать это?

Редактировать:

В идеале я хотел бы создать фиктивный текстовый файл на одном из этих дисков, а затем испортить этот файл таким образом, чтобы chkdsk решил, что его нужно исправить. Я не уверен, как пойти испортить файл.

2 ответа2

2

Вы можете просто указать неверную командную строку:

c:\>chkdsk FailPlease
The drive, the path, or the file name is not valid.
c:\>echo %ERRORLEVEL%
3
1

Я думаю, что вы хотите что-то, что может надежно смонтировать файловую систему как диск из поврежденного (или псевдо-поврежденного состояния). Первое, что приходит мне в голову, это TrueCrypt

  • Создать зашифрованный контейнер файлов TrueCrypt
  • Смонтируйте его, сохраните на нем несколько файлов
  • Запутать эти файлы в некотором роде. Или просто оставьте его неформатированным, этого может быть достаточно, чтобы chkdsk вернул ненулевое значение.
  • Сохраните ваше изображение

Теперь ваш скрипт может сделать копию образа, смонтировать копию, позволить chkdsk попытаться исправить, а затем уничтожить ваш образ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .