歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

使用Ubuntu LiveCD安裝grub

原文連接:
    How to install Grub from a live Ubuntu cd.

    thanks to catlett
    一、安裝到mbr(mbr=Master Boot Records,主引導記錄區)
    因為安裝windows,或者不小心刪除/改變了mbr,都有可能導致啟動時看不到grub的引導菜單或者提示出錯,下面是恢復的辦法
    (寫於Ubuntu下,但應該可適用於其它系統)
    使用Ubuntu livdCD啟動,出現桌面後,打開一個終端,輸入:
    sudo grub
    然後在grub>下輸入
    grub>find /boot/grub/stage1
    查找到grub的文件所處的位置,如果安裝了多個linux系統,會全部顯示出來,看好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參數而沒有提供具體分區時,grub安裝到mbr。grub認為hd0是第一個硬盤的mbr區標志。
    二、安裝到其它分區
    thanks to 5-HT
    如果想把grub安裝到一個分區而不是mbr上,把setup (hd0)改成setup (hdx,y)。X表示是第幾塊硬盤,Y是這塊硬盤上的第幾個分區。grub的計數方法是從0開始(如hd0,1表示第一塊硬盤上的第2個分區)
    三、如果grub找不到stage1文件或認不出硬盤
    thanks to TOSK
    1.使用livdCD加載/root分區
    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   

    chroot linux中所有的服務
    然後如果想安裝grub到mbr上,見一,想安裝到一個分區,見二
    俺做過的事:
    (一)安裝到mbr上,這台機器上有3個os,都能良好運行。
    (二)安裝到一個分區,這台機器上也有3個os,俺安裝到hd(2,0)上,結果剛開始時grub菜單沒出現,因為電腦是默認從hd0上找啟動器的,後來改成從hd2啟動,就解決問題了。
    grub手冊
    GNU GRUB Manual 0.97
    祝您好運!

Copyright © Linux教程網 All Rights Reserved