歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 使用Ubuntu LiveCD安裝grub

使用Ubuntu LiveCD安裝grub

日期:2017/3/3 16:43:10   编辑:關於Linux

一、安裝到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  

linuxfocus.org/ChineseGB/January2002/article225.shtml" target=_blank>chroot linux中所有的服務

然後如果想安裝grub到mbr上,見一,想安裝到一個分區,見二

俺做過的事:

(一)安裝到mbr上,這台機器上有3個os,都能良好運行。

(二)安裝到一個分區,這台機器上也有3個os,俺安裝到hd(2,0)上,結果剛開始時grub菜單沒出現,因為電腦是默認從hd0上找啟動器的,後來改成從hd2啟動,就解決問題了。

Copyright © Linux教程網 All Rights Reserved