雙系統grub問題

開機無法引導,出現"grub>",相信不少網友都遇到這樣的問題,像這樣的問題大多數出自學習Linux者的電腦上,爲了學習Linux,
安裝了Windows與Linux雙系統,另外還有一原因,你並沒有裝過Linux,那是因爲你安裝了某種備份軟件。解決的方法,用安裝盤重裝系統,或者在
純dos下:fdisk/mbr(修復主引導記錄)


下面就Windows與Linux雙系統遇到這個問題詳細說明一下
grub.conf出錯導致無法啓動同樣會出現 "grub>"因爲grub無法加載linux內核
如果出現這種情況 當務之急是先啓動LINUX或WINDOWS再說

一:LINUX啓動方法:
第一步:(如果知道linux具體在哪個分區,則可以略過第一步)
查找/boot/grub/grub.conf分區所在的目錄:
輸入以下命令:
grub> find /boot/grub/grub.conf
會返回你Linux內核所在分區
我這裏返回(hd0,7),說明我LINUX在第一磁盤第五分區(這裏hd0表示第一塊磁盤,7表示第五分
區,爲什麼???因爲在這裏表示方法是0 1 2 3 4 5 6 ……而,磁盤最最多有五個主分區,從4
開機是擴展分區,所以嘛……不多說了,傻瓜都懂

第二步:查看一下自己linux內核信息
輸入以下命令:
cat (hd0,7)/boot/grub/grub.conf (返回信息不說了) 關於內核信息的,看一下就明白了。
按照下面命令依次輸入
指定/boot分區使用命令:grub>root (hd0,0)
--------------------------------------------------------------------------
下面兩行是內核信息,你輸入cat ()hd0,7)/boot/grub/grub.conf會返回給你的,你按照返回的信息輸入,可以藉助tab鍵自動添加
grub>kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet 回車
grub>initrd /boot/initrd-2.6.18-53.el5.img 回車
--------------------------------------------------------------------------
grub>boot (hd0,7) 回車(從此分區啓動)這裏直接輸入boot也行

OK,下面就等着LINUX啓動吧
 

二WINDOWS啓動方法:
敲入以下命令:
-----------------------------------------------------------------------------
grub>root (hd0,0) 回車(你WINDOW不會裝在其它分區吧?)
grub>rootnoverify(hd0,0)回車
grub>chainloader +1回車
boot (hd0,0) 回車(從此分區啓動)這裏直接輸入boot也行-
----------------------------------------------------------------------------------

說了這麼多問題還沒解決,上面的方法只是應急措施,總不能每次開機都要這樣輸入吧?下面分別來介紹一下如何修復主引
導記錄和介紹另外一款引導軟件(很簡單的喲!!!)
修復主引導記錄:
1.用RHEL安裝盤啓動計算機
2.等安裝界面出來後,輸入:linux rescue 後 回車進入linux救援模式。

3.救援模式做了什麼:只是linux安裝的前兩步,語言和鍵盤。然後選擇中文還是英文取決於你(建議選英文)。不用選擇網卡
跳過網卡配置這一步。往後會出現continue readonly 和 skip三個選項:
continue:搜索硬盤上的linux系統並掛載到/mnt/sysimage 目錄下 實際上是自動rescue模式。
readonly:當然是readonly模式
skip: 直接出現單用戶的根shell,是手工救援模式,不查找linux系統文件。

我們選擇continue
4.硬盤上的系統已經被找到並掛載在/mnt/sysimage 下
會提示通過命令chroot /mnt/sysimage 改變根目錄
linux rescue中使用的shell是SH shell,常用命令和bash shell一樣。
進入 linux rescue後會出現這樣的字符
sh#
 
 

此時有兩種方法:
方法一:
輸入命令
sh#grub
會出現這樣的字符
grub>
我們可以在此輸入
grub>root (hd0,7)
grub>setup (hd0)
OK主引導記錄修復成功

方法二:
用linux 啓動盤(系統盤也行)進入系統
2.用root登陸執行下面的語句
#/sbin/grub
然後會出現grub>提示符
4.再執行下面命令
grub> root (hd0,7)
grub>setup (hd0)
OK主引導記錄修復成功

第三種方法:
具體:用第一張修復盤啓動進入linux rescue出現#時輸入命令
#chroot /mnt/sysimages
#grub -install /dev/hda(第一塊硬盤)
等待一會
#exit
OK主引導記錄修復成功


介紹另外一款引導軟件(很簡單的)
用迅雷下載grud4dos,地址在ftp://ftp5.linuxeden.com/system/grub4dos-0.4.3.zip,解開壓縮包,把grldr和menu.lst放到C盤根目錄
然後修改boot.ini
操作系統文件(推薦),把前面的勾去掉,就可以了),在boot.ini最後添加一行:
C:\grldr=linux boot
grldr會搜索C盤根目錄尋找menu.lst文件。
用記事本打開menu.lst,編輯內容如下:
title Red Flag Linux
root (hd0,7)
kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.18-53.el5.img
Boot
更新內核以後,需要手動同步Windows的C盤的menu.lst的內容。否則無法用新內核啓動。
解決方法很簡單,grub很強大,支持一條configfile的命令:
把你的C盤根目錄的menu.lst改成
timeout 5
configfile (hd0,7)/grub/menu.lst
這樣,grldr就會重新加載(hd0,7)/grub目錄下的menu.lst,顯示這個menu.lst的啓動菜單。
更新了內核也不用修改Windows下面的任何東西了。重裝系統也不怕了。僅僅需要兩個文件(grldr和menu.lst),修改一個文件(boot.ini),
一切就都OK。
不想選擇兩次才進入linux,可以修改C盤根目錄menu.lst的timeout爲0

下面是我menu.lst的內容,可以參考一下:
color black/cyan yellow/cyan
timeout 5
default /default
title Red Hat Enterprise Linux Server (2.6.18-53.el5)
root (hd0,7)
kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.18-53.el5.img
boot
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章