MBR говорит Неверная таблица разделов - Но система работает! ЗАЧЕМ?

Мне дали окончание срока проекта, чтобы написать код на ассемблере, чтобы прочитать MBR и сохранить его на дискету. Я думаю, что мне удалось прочитать его с INT 13h в DOS на машине virtualBox. На машине только один жесткий диск с одним разделом с установленной XP. Когда я читаю MBR и распечатываю его, он дает мне много мусора, а среди мусора он говорит: Неверная таблица разделов. Ошибка загрузки операционной системы... как на этом сайте: http://mbr.adamsatoms.com/ Но моя система загружается нормально. Я правильно прочитал MBR. Это действительно MBR? Почему это происходит? Это часть моего кода для чтения, если это поможет:

        mov dx,80h ; hard disk first drive
        mov cx,1 ; Cylinder & Sector
        mov bx,ds
        mov es,bx
        mov bx,offset result
        mov ax,0201h ; function & sector to be read
        int 13h     

Заранее спасибо.

2 ответа

Решение

Это нормально, "мусор" - это машинный код, который составляет MBR, и различные строки ошибок должны отображаться, если код MBR сталкивается с некоторыми проблемами при попытке загрузки ПК. Полный анализ кода MBR находится именно на той странице, которую вы сказали.

Вы видите часть загрузчика. Это часть программы, хранящаяся в первых секторах вашего диска, которая предназначена для чтения таблицы разделов и начала загрузки ОС. Если это не удается, отображаются сообщения об ошибках, для которых вы только что нашли источник... Остальная часть "мусора" будет кодом загрузчика (в машинном коде), вам нужно будет разобрать его, чтобы он имел смысл,

Другие вопросы по тегам