Eu tenho um computador com 5 discos rígidos, mas quando paro o BIOS para ver minhas escolhas, ele tem 14 opções de inicialização (incluindo um DVD, mas vamos ignorar isso). Estas são opções no BIOS, não no GRUB - então cada uma me leva a um menu do GRUB, e nem todas são idênticas. Como estou no meio da limpeza de um desastre que causei há algum tempo, e apenas em princípios gerais, gostaria de apagar as informações de inicialização e o carregador grub de todas as unidades, exceto das duas primeiras.
Algumas dessas unidades são formatadas como GPT, outras como MBR. Existem sistemas Windows 10 e Xubuntu. Aparentemente, há UEFI e visualizações de inicialização padrão entre os 14. Tudo isso reflete sua história, que começou em 2002. As placas-mãe e outras coisas mudaram desde então, mas muitos dados ainda estão lá.
Estou tentado a apenas destruir os primeiros 512 bytes na maioria das unidades, mas (a) não tenho certeza se isso é suficiente e (b) não tenho certeza se é totalmente seguro.
Então, qual é a melhor prática para limpar isso?
Substituir os primeiros 512 bytes da unidade certamente tornará um disco inicializável pelo BIOS não inicializável. Isso também destruirá a tabela de partição MBR, de modo que qualquer disco particionado por MBR aparecerá vazio e não particionado depois disso. Portanto, não faça isso em nenhum disco cujas partições você deseja manter.
Se um disco for particionado por MBR, mas inicializável por UEFI (ou seja, possui um sistema de arquivos do tipo FAT com o código de tipo de partição definido como 0xef e essa partição contém um arquivo no caminho
\EFI\BOOT\BOOTx64.efi
para sistemas x86 de 64 bits), sobrescrevendo uma partição table é um exagero : tudo o que você precisa fazer para tornar o disco não inicializável por UEFI é excluir esse arquivo ou renomeá-lo para outra coisa .Para discos inicializáveis UEFI particionados por GPT, substituir os primeiros 512 bytes não faz absolutamente nada: algumas ferramentas de particionamento de disco podem notar que o MBR protetor parece ter sido danificado e provavelmente se oferecerão para corrigi-lo automaticamente ou como um efeito colateral de fazendo qualquer outra coisa na tabela de partições GPT sem nenhum problema.
As opções extras de inicialização nos menus do BIOS são provavelmente variáveis de inicialização UEFI obsoletas: como oldfred sugeriu nos comentários, use
sudo efibootmgr -v
no Linux para visualizá-las, identifique oBootXXXX
número de entradas obsoletas e use-sudo efibootmgr -B -b XXXX
as para excluí-las.Tornar um disco inicializável do BIOS não inicializável sem destruir a tabela de partição é realmente um pouco complicado: a maneira mais fácil que conheço é um pequeno utilitário chamado
ms-sys
, que pode gravar muitos tipos de registros mestre de inicialização do BIOS e registros de inicialização de partição... incluindo o humilde " disco não inicializável" Master Boot Record.Infelizmente, esse utilitário não parece estar disponível nos repositórios de pacotes do Ubuntu moderno. Seu código-fonte está disponível em https://sourceforge.net/projects/ms-sys/ (ou uma versão mais antiga está espelhada em https://github.com/pbatard/ms-sys se você não gosta do SourceForge). Se você tiver o
gcc
,make
e as bibliotecas comuns de desenvolvimento de aplicativos instaladas, você poderá construí-lo com:Se for bem-sucedido, agora você deve ter a ferramenta em
/usr/local/bin/ms-sys
e sua página de manual em/usr/local/man/man1/ms-sys.1
(visível com um simplesman ms-sys
).Para tornar um disco inicializável pelo BIOS
/dev/sdX
não inicializável usandoms-sys
:A descrição da
--mbrzero
opção na página de manual é:O fato de evitar a substituição da tabela de partição (chamada de "mapa de partição" por algum motivo) e dos bytes de assinatura do disco é a parte importante.