Risposte:
Supponendo che esista un MBR di tipo DOS a 512 byte e che ne sia stato sostituito il primo 446 byte con qualche schifezza ( zero o solo /dev/urandomoutput) o danneggiato il codice di avvio in altro modo. In questo caso la tabella delle partizioni MBR è al suo posto, ma il sistema non può avviarsi da questo dispositivo.
L'idea è di utilizzare un altro caricatore di sistema simile a BSD per l'avvio con il dispositivo e il kernel.
unloaddisk0s1a) digitandolsdevset currdev="disk0s1a"loder.confdal tuo dispositivo (per essere sicuro che tutte le ottimizzazioni e gli hack del kernel si applichino) digitandoread-conf boot/loader.confboot-confAll'avvio del sistema operativo, è possibile ripristinare il codice di avvio. Io lo uso sysinstallper esso (Custom -> Partizione, W, <Yes>, BootMgr( "Installazione del boot manager di FreeBSD"), <OK>, Q, <Exit>, <Exit Install>), ma è deprecato dal 9,0-RELEASE e rimosso dalla base dal 10,0-RELEASE. Un altro modo è utilizzare il backup, archiviato /boot, per estrarre il codice di avvio da esso:
# gpart bootcode -b /boot/mbr /dev/yourbootdevice