Antworten:
Angenommen, es gibt einen 512-Byte-DOS-ähnlichen MBR, und Sie haben die ersten 446 Bytes durch einen Mist ( Nullen oder nur /dev/urandomAusgabe) ersetzt oder den Bootcode auf andere Weise beschädigt. In diesem Fall befindet sich die MBR-Partitionstabelle an ihrem Platz, aber das System kann nicht von diesem Gerät booten.
Die Idee ist, den Loader eines anderen BSD-ähnlichen Systems zu verwenden, um mit Ihrem Gerät und Ihrem Kernel zu booten.
unloaddisk0s1adurch Eingabe das Gerät heraus, von dem Sie Ihre FreeBSD starten möchten (normalerweise so etwas wie )lsdevset currdev="disk0s1a"loder.confvon Ihrem Gerät (um sicherzustellen, dass alle Ihre Kernel-Einstellungen und -Hacks zutreffen), indem Sie Folgendes eingebenread-conf boot/loader.confboot-confWenn Ihr Betriebssystem startet, können Sie den Bootcode reparieren. Ich benutze sysinstalles (Custom -> Partition, W, <Yes>, BootMgr( "Installieren Sie den FreeBSD - Boot - Manager"), <OK>, Q, <Exit>, <Exit Install>), aber es ist veraltet seit 9.0-RELEASE und entfernt von der Basis seit 10,0-RELEASE. Eine andere Möglichkeit besteht darin, das darin gespeicherte Backup zu verwenden /boot, um den Bootcode daraus zu extrahieren:
# gpart bootcode -b /boot/mbr /dev/yourbootdevice