delphij's Chaos


22 Jan 2008

HOWTO: Fix Lenovo ThinkAdvantage Update caused boot problem for FreeBSD boot manager

It seems that a recent ThinkAdvantage update will cause FreeBSD boot manager to have some problem (A “Drive 0” will appear as fifth option, and all other options would not work except a beep). It is possible to recover from this situation by using FreeBSD LiveFS disc (for amd64 platform):

Start from CD-ROM;
Choose “Fixit” and “CD-ROM”;
Now you get the command line prompt;
Mount your hdd to /mnt/;
mv /boot /boot.old && ln -s /mnt2/boot /boot
mv /usr /usr.old && ln -s /mnt2/usr /usr
“boot0cfg -B /dev/ad4” (Note: your SATA controller should be in AHCI mode, otherwise it should be ad0)
Then you will be able to use boot0cfg to configure the boot partition. Reboot system then everything will go well.

Apparently Lenovo’s update program has caused something wrong to the FreeBSD boot0 boot manager by overwriting some bytes on it. Doesn’t it check whether MBR has been changed?!