第一次安裝FREEBSD的時候,在分區界面,沒搞懂slice,糊裡糊塗裝上去了,反正是用的整個硬盤,沒有細分分區,居然安裝成功了
今天又拿起這張盤,細分了分區,把/boot 分出去了,結果安裝了4遍都不能啟動,如下:
no /boot/loader
freebsd /i386 boot
default:0:ad(0,a)/boot/kernel/kernel
boot
no/boot/kernel/kernel
有說沒有設置分區的FLAGS為A的,有說MBR被WINDOWS/LINUX搞亂了的。。。。。
其實就是因為BOOT分區被分出去了,我後來把BOOT掛在/下,沒分出去,安裝就成功了
接下來,又不喜歡BSD的啟動管理器,已經適應了GRUB,於是上網找到了一些文章,我的步驟如下:
#cd /usr/ports/sysutils/grub/
#make install
#mkdir /boot/grub //如果沒有這個文件夾就執行這條命令創建
#cp /usr/local/share/grub/i386-freebsd/× /boot/grub
#/usr/local/sbin/grub //#grub 不加路徑無效
進入GRUB界面
grub>root (hd0,1,a) //這裡要注意是三個參數,第一個參數是硬盤,第二個參數是FREEBSD的分區SLICE,第三個參數是SLICE下的分區編號,應該對應/根節點,因為我在上面提到,BOOT分區劃出去不能啟動
grub>setup (hd0) //安裝GRUB到 (hd0) 其實我認為就是把MBR指向(hd0)
重點《重點》重點
我此時遇到了一個問題,就是:
Error 29: Disk write error
此時我們先退出 命令 quit
搜索了一下,找到了原因,原帖見:
好像是安全級別的問題,具體解決如下:
執行命令:
sysctl kern.geom.debugflags=16
執行後,提示 “***0->16" 應該是執行成功了,因為從0變成了16嘛
OK,現在再來安裝GRUB,回到上面的步驟,
grub>setup (hd0)
安裝成功了
接著編輯 /boot/grub/menu.lst //如果沒有就新建
內容如下:
timeout 10
default 0
title Freebsd
root (hd0,1,a) //有種說法是 rootnoverify (hd0,1) 我照這樣啟動失敗,只好從GRUB下手動用root (hd0,1,a)啟動成功的,可能是GRUB版本的問題
chainloader +1
OK,你可以重啟了 shutdown -r now