Câu trả lời:
Giả sử rằng có MBR giống như 512 byte của DOS và bạn đã thay thế 446 byte đầu tiên của nó bằng một số crap ( số không hoặc chỉ là /dev/urandomđầu ra) hoặc làm hỏng mã theo cách khác. Trong trường hợp này, bảng phân vùng MBR được đặt đúng chỗ, nhưng hệ thống không thể khởi động từ thiết bị này.
Ý tưởng là sử dụng trình tải của hệ thống giống như BSD khác để khởi động với thiết bị và hạt nhân của bạn.
unloaddisk0s1a) bằng cách nhậplsdevset currdev="disk0s1a"loder.conftừ thiết bị của bạn (để chắc chắn rằng tất cả các điều chỉnh và hack nhân của bạn sẽ được áp dụng) bằng cách nhậpread-conf boot/loader.confboot-confKhi hệ điều hành của bạn khởi động, bạn có thể sửa chữa bootcode. Tôi sử dụng sysinstallcho nó (tùy chỉnh -> Partition, W, <Yes>, BootMgr( "Cài đặt FreeBSD Boot Manager"), <OK>, Q, <Exit>, <Exit Install>), nhưng nó bị phản đối từ 9.0-RELEASE và lấy ra từ cơ sở từ 10,0-CHÍ. Một cách khác là sử dụng sao lưu, lưu trữ trong /boot, để trích xuất bootcode từ nó:
# gpart bootcode -b /boot/mbr /dev/yourbootdevice