Eu tenho um HDD (ou SSD ou unidade flash) com o FreeBSD instalado, e de alguma forma quebrei o código de inicialização (primeiros 446 bytes de MBR). Como eu poderia inicializar neste FreeBSD?
Supondo que exista um MBR de 512 bytes do tipo DOS, e você substituiu os primeiros 446 bytes dele por alguma porcaria ( zeros ou apenas /dev/urandom
saída) ou danificou o código de inicialização de outra maneira. Nesse caso, a tabela de partição MBR está em seu lugar, mas o sistema não pode inicializar a partir deste dispositivo.
A idéia é usar o carregador de outro sistema semelhante ao BSD para inicializar com seu dispositivo e seu kernel.
unload
disk0s1a
) digitandolsdev
set currdev="disk0s1a"
loder.conf
partir do seu dispositivo (para garantir que todos os ajustes e hacks do kernel se apliquem) digitandoread-conf boot/loader.conf
boot-conf
Quando o seu sistema operacional for iniciado, você poderá reparar o código de inicialização. Eu uso sysinstall
para ele (Custom -> Partição, W, <Yes>
, BootMgr
( "Instalar o FreeBSD Boot Manager"), <OK>
, Q, <Exit>
, <Exit Install>
), mas está obsoleto desde o 9.0-RELEASE e removidos da base desde 10.0-RELEASE. Outra maneira é usar o backup armazenado /boot
para extrair o código de inicialização:
# gpart bootcode -b /boot/mbr /dev/yourbootdevice