Como posso zerar o código de inicialização de um MBR?

0

Eu tenho duas unidades no meu sistema Windows:

  • Unidade 1, sistema e inicialização.
  • Drive 2, armazenamento de dados.

Algum tempo antes, eu tinha o Windows instalado na segunda unidade. Agora que eu tenho a configuração atual, gostaria de remover o código de inicialização do Windows do bootsector na unidade 2. Para ser específico, eu não quero apagar a tabela de partição ou qualquer coisa, apenas se livrar de (zero out) o um pouco de código que procura NTLDR.

Existe algum software ou comando para fazer isso?

    
por K.A 12.01.2013 / 05:24

3 respostas

2

O MBR, no caso de tabelas de partições no estilo DOS, está sempre presente na unidade como uma coleção muito pequena de setores no início da unidade.

Não é uma coisa para se livrar, porque contém, além do código de inicialização, a tabela de partições da sua unidade. Perder significa que os dados em seu disco, embora intactos, são muito mais difíceis de serem acessados (a maioria dos sistemas operacionais que vi reportam um formato incorreto e o Windows pergunta se você deseja formatar a unidade se ela não aparecer) entender a tabela de partições).

Mais informações: link

Editar: desde que você editou a pergunta, atualizarei minha resposta; dd pode limpá-lo. Inicialize em um linux livecd e em sua execução de unidade de dados desmontada;

dd if=/dev/<path to data drive> of=/dev/<somewhere safe on windows drive>/mbr.img bs=512 count=1

Isso lhe dará um backup de 512 bytes do MBR, incluindo a tabela de partições, caso algo dê errado.

Para limpar o bootstrap de 446 bytes:

dd if=/dev/zero of=/dev/<path of data drive> bs=446 count=1 seek=0

Dependendo do que você está tentando alcançar, você pode querer apenas limpar os primeiros 440 bytes do MBR. Os 4 bytes seguintes aos primeiros 440 bytes contêm a assinatura de disco exclusiva do Windows que você pode querer manter. Para limpar apenas os primeiros 440 bytes, use este comando:

dd if=/dev/zero of=/dev/<path of data drive> bs=440 count=1 seek=0
    
por 12.01.2013 / 14:31
1
Peço desculpas antecipadamente pela resposta complicada, mas não entendo bem o que você quer fazer (ou melhor: por que).

Acho que você está procurando o comando FDISK /CMBR . Existem também utilitários que executam a mesma tarefa, por ex. Paragon Partition Magic ou Boot / Partition Editor.

O que você quer fazer é reescrever o MBR e definir a partição D: para não-sistema (não ativo, não inicializável, sem sinalizador B, etc. ).

Observe que o FDISK / CMBR deve atuar apenas em um disco que não seja do sistema; muitos carregadores de boot instalam o código que é necessário para "ver" o disco com o formato ou geometria correta; substituí-los por um carregador de ações (que é o que o / CMBR faz) pode, então, tornar o disco inacessível até que o código anterior seja restaurado.

Se você precisar tornar o disco não inicializável porque interfere na sequência de inicialização ou algo assim (e exibe um erro "NTLDR não encontrado" em vez de inicializar, por exemplo), a melhor opção seria modificar os parâmetros do BIOS para ordem de dispositivo de inicialização ou usando um utilitário do tipo FDISK para marcar todas as partições nessa unidade como não-sistema. Em uma pitada, a troca de dois discos rígidos deve alcançar o mesmo resultado.

Caso contrário, há "carregadores de inicialização seletivos" (por exemplo, GRUB) que podem ajudar a implementar uma opção de inicialização flexível (por exemplo, inicializando o Linux ou o Windows ou outro Windows a partir de uma tela de menu de inicialização).

    
por 12.01.2013 / 18:16
1

Marcá-lo como não ativo no gerenciamento de disco deve ser mais do que suficiente para sua situação.

    
por 12.01.2013 / 18:34