Был ли у кого такой опыт? Может еще варианты подскажете по убиванию винта программно?
Перед тем, как очищать загрузочный сектор, желательно убедиться в правильности определения его координат. Для этого после исправления команд, отвечающих за настройку “координат” сектора, нужно первую команду снова настроить на чтение сектора, то есть по адресу 100 записать “mov ah, 2”. Если из таблицы разделов, например, видно, что Hb = 1, Sb = 1, Cb = 0, то программа должна выглядеть следующим образом:
-u 100 l 14
2804:0100 B402 MOV AH,02
2804:0102 B001 MOV AL,01
2804:0104 B500 MOV CH,00
2804:0106 B101 MOV CL,01
2804:0108 B601 MOV DH,01
2804:010A B280 MOV DL,80
2804:010C BB0002 MOV BX,0200
2804:010F CD13 INT 13
2804:0111 E9ECFE JMP 0000
-
Тогда после ее выполнения командой “g =100” можно оценить правильность ввода координат, просмотрев результат считывания с помощью команды “d 200 l 200”. Последние байты загрузочного сектора должны содержать сообщения операционной системы типа “Invalid system disk” и имена системных файлов “Io.Sys” и “Msdos.Sys”, а в самом конце записана все та же сигнатура 55AA16.
После такой проверки можно предполагать, что координаты загрузочного сектора определены правильно. Для его очистки достаточно записать в сектор 512 нулевых байтов. Чтобы подготовить образ очищенного загрузочного сектора в памяти, надо выполнить команду отладчика “f 200 l 200 0”. После этого можно настроить программу на запись (то есть по адресу 10016 ввести команду “mov ah, 03”) и выполнить ее. Теперь информация о том, что раздел содержал файловую систему FAT 32, утрачена окончательно и бесповоротно.