正常情況下,先安裝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*等文件。
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。