系統(tǒng)管理:使用UbuntuLiveCD安裝grub

字號:

一、安裝到mbr(mbr=Master Boot Records,主引導記錄區(qū))
    因為安裝windows,或者不小心刪除/改變了mbr,都有可能導致啟動時看不到grub的引導菜單或者提示出錯,下面是恢復的辦法
    (寫于Ubuntu下,但應該可適用于其它系統(tǒng))
    使用Ubuntu livdCD啟動,出現(xiàn)桌面后,打開一個終端,輸入:
    sudo grub
    然后在grub>下輸入
    grub>find /boot/grub/stage1
    查找到grub的文件所處的位置,如果安裝了多個linux系統(tǒng),會全部顯示出來,看好Ubuntu的/boot/grub/所在的位置,然后
    grub>root (hd?,?)
    (hd?,?)中的問號用Ubuntu下的/boot/grub/位置取代,比如上面的find命令查找結果是hd(0,1),那這兒就是root(hd0,1)
    使用下面的命令把grub安裝到mbr上:
    grub>setup (hd0)
    退出
    grub>quit
    解釋一下:
    sudo grub得到grub命令解釋器
    find /boot/grub/stage1用來查找stage1文件的位置,它告訴我們grub的文件在哪兒。只有一小部分grub放在mbr上,其它部分位于你的boot文件夾。grub需要這些文件來安裝。
    最后setup(hd0)把grub安裝到hd0。當使用hd0參數(shù)而沒有提供具體分區(qū)時,grub安裝到mbr。grub認為hd0是第一個硬盤的mbr區(qū)標志。
    二、安裝到其它分區(qū)
    thanks to 5-HT
    如果想把grub安裝到一個分區(qū)而不是mbr上,把setup (hd0)改成setup (hdx,y)。X表示是第幾塊硬盤,Y是這塊硬盤上的第幾個分區(qū)。grub的計數(shù)方法是從0開始(如hd0,1表示第一塊硬盤上的第2個分區(qū))
    三、如果grub找不到stage1文件或認不出硬盤
    thanks to TOSK
    1.使用livdCD加載/root分區(qū)
    sudo mkdir /mnt/root
    sudo mount -t ext3 /dev/sda6 /mnt/root
    2.在/mnt/root下加載proc與udev
    sudo mount -t proc none /mnt/root/proc
    sudo mount -o bind /dev /mnt/root/dev
    這樣grub能認出你的驅動器樂。下一步:
    sudo chroot /mnt/root /bin/bash
    關于chroot,參見:
    什么是chroot
    linuxfocus.org/ChineseGB/January2002/article225.shtml" target=_blank>chroot linux中所有的服務
    然后如果想安裝grub到mbr上
    (一)安裝到mbr上,這臺機器上有3個os,都能良好運行。
    (二)安裝到一個分區(qū),這臺機器上也有3個os,俺安裝到hd(2,0)上,結果剛開始時grub菜單沒出現(xiàn),因為電腦是默認從hd0上找啟動器的,后來改成從hd2啟動,就解決問題了。