win7 和ubuntu 雙系統 grub的安裝


      正常情況下,先安裝win7 在安裝ubuntu沒有任何問題。但由於win7 癱瘓了,重新裝win7后,引導項目丟失。需要重新安裝grub這個引導程序。我在網上搜集了很多方法,在這里整理一下.

     grub 幾個最基本的命令:

1 grub>root (hdx,y)

     它使用了UNIX對設備的命名方法.比如我們擁有兩塊硬盤,那么采用這種形式(hdx,y), 這里,x,y, 都是從0開始計數的.所以   兩塊硬盤是 (hd0,y),(hd1,y). 代表硬盤上的分區號.

2 kernel 或者 linux (大概2.0以后的版本)

   grub>linux /boot/vmlinuz root=(hdx,y) ro quire

3 grub>initrd  /boot/initrd.img

4 grub>boot

 

但最后linux還是沒有完整的啟動。只是停留在了busybox提示符哪里。沒有解決,希望能有人指點。

-----------------------------------------------------------------------------------------

1、default //設置默認啟動的菜單項

2、fallback //設置啟動某菜單項失敗后反回的菜單項

3、hiddenmenu //隱藏菜單界面

4、timeout //設置菜單自動啟動的延時時間

5、title //開始一個菜單項

二、常規命令

只要您在grub>提示符的后面輸入help 就能得到GRUB所有的命令提示;

grub> help

常規命令可以應該於配置文件和grub命令行交互界面,可使用的常規命令有

1、bootp //通過bootp初始化網絡設備

2、color //設置菜單界面的顏色

3、device //指定設備文件作為驅動器

4、dhcp //通過DHCP初始化網絡設備

5、hide //隱藏某分區

6、ifconfig //手工配置網絡設備

7、pager //改變內部頁程序的狀態

8、partnew //新建一個主分區

9、parttype //改變分區的類型

10、password 為菜單界面設置口令

11、rarp //通過RARP初始化網絡設置

12、serial //設置串口設備

13、setkey //設置鍵盤映射

14、splashimage //設置GRUB啟動時的背景圖片文件

15、termainal //選擇終端類型

16、tftpserver //指定TFTP服務器

17、unhide //還原某隱藏分區

三、命令行和菜單項命令

命令行和菜單項命令可應該於GRUB配置文件的菜單項設置中,也可以用在GRUB命令交互界面。

1、bolcklist //顯示某文件所在分區位置(block list notation)

2、boot //啟動操作系統

3、cat //顯示文件內容

4、chainloader //把啟動控制權軟交給另外的啟動引導器

5、cmp //比較兩個文件

6、configfile //加載已存在的GRUB配置文件

7、debug //設置為debug模式

8、displayapm //顯示APM BIOS信息

9、displaymem //顯示內存配置

10、embed //嵌入Stage 1.5文件

11、find //查找包括某文件的所有設備

12、fstest //測試文件系統

13、geometry //顯示某驅動器的物理信息

14、halt //停止計算機運行(軟件關機)

15、help //顯示GRUB的命令幫助信息

16、impsprobe //查詢對稱多處理器(SMP)的信息

17、initrd //加載initrd文件

18、install //安裝GRUB

19、ioprobe //查詢某驅動器的輸入輸出(I/O)端口

20、kernel //引導操作系統內核

21、lock //鎖定某GRUB導菜單項,使其輸入密碼后才可啟動

22、makeactive //激活某主分區

23、map //虛擬映射某驅動器

24、md5crypt //使用MD5加密口令

25、module //加載模塊

26、modulenounzip //加載模塊不進行解壓

27、pause //暫停並等待按鍵

28、quit //退出GRUB

29、reboot //重新啟動計算機

30、read //讀取內存中的內容

31、root //設置GRUB的root設備

32、rootnoverify //設備GRUB的root設備但不裝載文件系統

33、savedefault //保存當前的啟動菜單項為默認啟動

34、setup //自動安裝GRUB

35、testload //從文件系統中測試讀取某文件

36、testvbe //測試VESA BIOS EXTENSION

37、uppermem //強制設置主機上位內存的大小

38、vbeprobe //查詢VESA BIOS EXTENSION信息

---------------------------------------------------------------------------------------------------------------

安裝在MBR,或者某個磁盤分區。這2者之間存在區別。
a:當安裝到MBR時。會將已經存在的Win自己在MBR的引導程序替代,變成GRUB引導。
b:當安裝到某個分區時。會由存在的Win的引導程序,引導到那個分區的Grub,再有Grub引導到各個操作系統。
這就是2者的區別。

 

grub 的安裝基本分三個方法。

1 高層的 grub-install

制作步驟:
先用cfdisk 在U盤中,創建個兩個分區,第二個一會兒作為boot分區。


0:mkfs.ext3 /dev/sdc5
1:mount /dev/sdc5 /tmp/boot
2:grub-install --root-directory=/tmp/boot --no-floppy  /dev/sdc(*注意*)

此命令運行后,會在/tmp/boot/文件夾。也就是/dev/sdc5,以下產生文件夾/boot/grub.里面有*stage*等文件。
 
最后在/boot/grub 文件夾中建立menu.lst文件。

 

 

2 中層的 setup

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

   2)等安裝界面出來后,按[F4]鍵,也就是linux rescue模式

  3)sh#grub 回車

      grub>

      grub>root (hdX,Y)

      grub>setup (hdX)

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

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

3 底層的 install

     install (hdx,y)/grub/stage1 (hdx) (hdx,y)/grub/stage2
或者可以如下:
root (hd0,0)
install /grub/stage1 (hd0) /grub/stage2
通過這樣一種方式可以成功安裝grub,但系統reboot之后,不能進入系統,卻直接進入grub>.why?
因為這種安裝方式沒有告知grub去哪里找grub.conf,stage2找不到grub.conf就會進入grub>.
用以下形式安裝就ok了。  

root (hd0,0)
install /grub/stage1 (hd0) /grub/stage2 p /grub/grub.conf

  

 

-------------------------------------------------------------------------------------------------------------

GRUB.CONF的格式如下:

default=0

timeout=10

splashimage=(hd1,2)/boot/grub/splash.xpm.gz

title WindowsXP

rootnoverify (hd0,0)

chainloader +1       

title RedHat9

root (hd0,1)

kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/

initrd /boot/initrd-2.4.20-8.img

title Mandrake9.1

kernel (hd1,4)/boot/vmlinuz root=/dev/hdb5 quiet devfs=mount acpi=off vga=788

initrd (hd1,4)/boot/initrd.img

 

chainloader +1 告訴 GNU GRUB 不要試着自己載入 Windows (自身無法完成),而應該將啟動進程交給 C 盤的首扇區,那里含有原始的 DOS/Windows 啟動程序

 

-----------------------------------------------------------------------------------------------------------------------------

在Debian 6 以前 GRUB的版本是 v1,到了Debian 6之后,GRUB的版本就升級為v2,而配置v1與v2有着比較大的區別:

配置grub v1:

配置文件是 /boot/grub/menu.lst,在Debian系統下,grub的配置文件在你安裝完一個新的內核后是會自動更新的,自動調用 update-grub 命令。

 

配置grub v2:

配置文件是 /boot/grub/grub.cfg,但是我們不能直接修改或者編輯這個文件,它是由 grub v2 版本的 update-grub 命令根據以下文件生成的:

1. /etc/grub.d/ 目錄下的腳本片段。

2. 配置文件 /etc/default/grub。

我們可以修改或編輯 /etc/default/grub配置文件,然后運行 update-grub 命令,來配置 grub v2。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM