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

Linux和Windows雙操作系統Grub丟失恢復

當我們每次要重裝WIN的時候,MBR都會被重寫,這樣原來的GRUB或LILO就會不見了,或者由於某些原因使得原來的GRUB不見了,這個時候只要重裝GRUB就行了。

GRUB的重裝方法有很多,這種方法不行,換一種試下:

1.用安裝光盤啟動,選升級安裝,再只選安裝GRUB行了。

2.用安裝光盤啟動,到BOOT那裡輸入linux rescue也就是進入救援模式,到出現#命令提示符時,輸入chroot /mnt/sysimage,然後再輸入grub-install /dev/hda,搞定...

3.沒有軟驅如何修復grub/lilo引導菜單?

a.把第一張linux安裝盤裡的dosutils目錄復制到windows盤中。如果是iso可以用winrar3提取。

b.進入純dos,進入dosutils目錄,執行loadlin autoboot/vmlinuz root=/dev/hdxx()hdxx是你的linux根分區。這樣就能進入linux。

c.執行grub-install /dev/hdx(x=a,b,c,d) 或lilo即可以重寫引導。

另外還可以參考:http://www.linuxfans.org/nuke/modul...iewtopic&t=5101

4.如果你用grub來引導linux和windows,當windows出毛病重新安裝後,會破壞MBR中的grub,這時需要恢復grub。

a.把linux安裝光盤的第一張放到光驅,然後重新啟動機器,在BOIS中把系統用光驅來引導。

b.等安裝界面出來後,按[F4]鍵,也就是linux rescue模式。

c.一系列鍵盤以及幾項簡單的配制,過後就[繼續]了。。。這個過程,我不說了,比較簡單。

d.然後會出現這樣的提示符:

sh#

e.我們就可以操作GRUB了.輸入grub:

sh#grub

會出現這樣的提示符:

grub>

我們就可以在這樣的字符後面,輸入:

grub>root (hdX,Y)

grub>setup (hd0)

如果成功會有一個successful......

這裡的X,如果是一個盤,就是0,如果你所安裝的linux的根分區在第二個硬盤上,那X就是1了;Y,就是裝有linux系統所在的根分區。 setup (hd0)就是把GRUB寫到硬盤的MBR上。

另外說下,有人說我沒安裝光盤啊?我是從硬盤安裝的.呵呵,那你的ISO文件還在吧..那再來次硬盤安裝進入安裝界面也是一樣的....

5.如何把GRUB或LILO刪掉?

只要在DOS下執行FDISK /MBR就行了...

如何配置grub?

修改/boot/grub/grub.conf文件。其中

“default=n”(n是個數字)是grub引導菜單默認被選中的項,n從0開始,0表示第一項,1表示第二項,依此類推。

“timeout=x”(x是一個數)是超時時間,單位是妙。也就是引導菜單顯示後,如果x秒內用戶不進行選擇,那麼grub將啟動默認項。

“splashimage =xxxxxx”,這是引導菜單的背景圖,先不理他。

其它常用項我用下面的例子來說明:

title Red Hat 8.0

root (hd1,6)

kernel /boot/vmlinuz-2.4.18-14 ro root=/dev/hdb7

initrd /boot/initrd-2.4.18-14.img

其中"Red Hat 8.0"是在啟動菜單列表裡顯示的名字

root (hdx,y)用來指定你的boot分區位置,如果你沒有分boot分區(本例就沒分boot分區),那就指向根分區就行了,hdx是linux所在硬盤,hd0是第一塊硬盤,hd1是第二塊,依此類推。y是分區位置,從0開始,也就是等於分區號減一,比如你要指向的分區是hdx7,那麼y就是6,如果是hdx1,那y就是0。注意root後面要有一個空格。

kernel /boot/vmlinuz-2.4.18-14,其中"/boot/vmlinuz-2.4.18-14"是你要用的內核路徑,如果你編譯了心內核,把它改成你的新內核的路徑就行了。

ro就不用管,寫上不會有錯。

root=/dev/hdxx指定根分區,本例是hdb7,所以root=/dev/hdb7

initrd xxxxxxxxxxxxx這行不要也行,目前我還不清楚它是做什麼用的。

上面是linux的,下面是windows的

title windows 98

rootnoverify (hd0,0)

chainloader +1

title xxxxxxx不用解釋了,上面有解釋。

rootnoverify (hdx,y)用來指定windows所在分區,x,y跟上面一樣,注意rootnoverify後有空格。

chainloader +1照抄就行,注意空格。

Copyright © Linux教程網 All Rights Reserved