Como 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.
  • Unidade 2, armazenamento de dados.

Algum tempo antes, eu tinha o Windows instalado na segunda unidade. Agora que tenho a configuração atual, gostaria de remover o código de inicialização do Windows do setor de inicialização no Drive 2. Para ser específico, não quero apagar a tabela de partições nem nada, basta se livrar (zerar) o um pouco de código que procura por NTLDR.

Existe um software ou comando para fazer isso?

KA
fonte
Os setores de inicialização não podem ser removidos, apenas substituídos por outra coisa.
Ignacio Vazquez-Abrams
Atualizei minha resposta abaixo para a sua atualização ...: p
Xyon 12/01

Respostas:

3

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

Não é algo fácil de se livrar, pois contém, além do código de inicialização, a tabela de partições da sua unidade. Perder isso significa que os dados em seu disco, enquanto intactos, ficam subitamente muito mais difíceis de acessar (a maioria dos sistemas operacionais que eu já vi relatará um formato ruim e o Windows pergunta se você deseja formatar a unidade, se isso não acontecer). entender a tabela de partição).

Mais informações: http://technet.microsoft.com/en-us/library/cc976786.aspx

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

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

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

Para limpar a inicialização 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, talvez você queira limpar apenas os primeiros 440 bytes do MBR. Os 4 bytes após os primeiros 440 bytes contêm a Assinatura de disco exclusiva do Windows, que você pode querer reter. 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
Xyon
fonte
2
+1, mas os futuros leitores devem observar que não há motivo (óbvio) para alguém realmente querer fazer isso.
Harry Johnston
Existe uma razão específica para o seek=0aqui? Esse é o padrão, com certeza?
Hashim #
Cinto e aparelho.
Xion 13/04
2

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

Bryan
fonte
1

Peço desculpas antecipadamente pela resposta complicada, mas não entendo bem o que você quer fazer (ou melhor: por que ).

Eu acho que você está procurando o FDISK /CMBRcomando. Também existem utilitários que executam a mesma tarefa, por exemplo, Paragon Partition Magic ou Boot / Partition Editor.

O que você deseja fazer é reescrever o MBR e definir a partição D: para não-sistema (inativo, 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 gerenciadores de inicialização instalam o código necessário posteriormente para "ver" o disco com o formato ou geometria correto; substituí-los por um carregador de material (que é o que o / CMBR faz) pode 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)), uma opção melhor seria modificar os parâmetros do BIOS para a ordem dos dispositivos de inicialização ou usando um utilitário semelhante ao FDISK para marcar todas as partições nessa unidade como não pertencentes ao sistema. Em uma pitada, a troca de dois discos rígidos deve alcançar o mesmo resultado.

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

LSerni
fonte