J'ai un disque dur (ou SSD, ou un lecteur flash) avec FreeBSD installé dessus, et en quelque sorte j'ai cassé le bootcode (446 premiers octets de MBR). Comment pourrais-je démarrer dans ce FreeBSD?
En supposant qu'il existe un MBR de 512 octets de type DOS, et que vous en ayez remplacé les 446 premiers octets par de la merde ( zéros ou simplement /dev/urandom
sortie), ou endommagé le code de démarrage d'une autre manière. Dans ce cas, la table de partition MBR est à sa place, mais le système ne peut pas démarrer à partir de ce périphérique.
L'idée est d'utiliser le chargeur d'un autre système de type BSD pour démarrer avec votre appareil et votre noyau.
unload
disk0s1a
) en tapantlsdev
set currdev="disk0s1a"
loder.conf
partir de votre appareil (pour être sûr que tous les réglages et hacks du noyau s'appliqueraient) en tapantread-conf boot/loader.conf
boot-conf
Lorsque votre système d'exploitation démarre, vous pouvez réparer le bootcode. Je l' utilise sysinstall
pour elle (Personnalisé -> Partition, W, <Yes>
, BootMgr
( "Installer FreeBSD Boot Manager"), <OK>
, Q, <Exit>
, <Exit Install>
), mais il est dépréciée depuis 9,0-RELEASE et retiré de la base depuis 10.0-RELEASE. Une autre façon est d'utiliser la sauvegarde, stockée dans /boot
, pour en extraire le bootcode:
# gpart bootcode -b /boot/mbr /dev/yourbootdevice