Pergunta

Recebi um projeto de final de termo para escrever um código de montagem para ler o MBR e salvá -lo no disquete. Acho que consegui lê -lo com o INT 13H no DOS em uma máquina VirtualBox. A máquina possui apenas um disco rígido com uma partição com o XP instalado. Quando li o MBR e o imprimi, ele me dá muito lixo e entre o lixo que diz: Tabela de partição inválida. Erro ao carregar sistema operacional ... assim como neste site: http://mbr.adamsatoms.comMas meu sistema botas bem. Eu li o MBR corretamente. É realmente o MBR? Por que isso acontece? Isso faz parte do meu código para leitura, se ajudar:

        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     

Desde já, obrigado.

Foi útil?

Solução

É normal, o "lixo" é o código da máquina que compõe o MBR, e as várias seqüências de erros devem ser exibidas se o código MBR encontrar alguns problemas ao tentar inicializar o PC. A análise completa do código MBR está exatamente na página que você disse.

Outras dicas

Você está vendo parte do carregador de inicialização. Este é um programa armazenado nos primeiros setores da sua unidade, qual é o trabalho de ler a tabela de partição e começar a inicializar o sistema operacional. Se isso falhar, mostrará as mensagens de erro para as quais você acabou de encontrar a fonte ... o restante do 'lixo' será o código do carregador de inicialização (no código da máquina), você precisará desmontá -lo para fazer sentido .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top