linux安裝grub.
安裝redhat linux時會提示安裝引導程序,如果選擇grub爲引導程序,建議把grub安裝到硬盤的引導扇區MBR.grub
一、 grub的配置
一旦選擇了grub爲引導程序,下面我們來了解一下它的配置.
/boot/grub/grub.conf 這個文件是grub產生一個引導選擇菜單以及設置一些選項,下面是我的grub.conf:
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda10
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
【(password redhat)
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/vol0/root rhgb quiet
initrd /initrd-2.6.18-164.el5.img
title Install Red Hat Enterprise Linux 5
root (hd0,0)
kernel /vmlinuz-5 ks=http://172.16.0.1/workstation.cfg ksdevice=eth0 noipv6
initrd /initrd-5
password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m.
chainloader +1
配置選項解釋:
以"#"開頭的是註釋行.
其中 timeout標識默認等待時間,我這設置爲10秒,超過10秒用戶還沒作出選擇的
話,將自動選擇默認的操作系統(我這裏默認的是Redhat linux 8.0)
默認的操作系統是由default一項來控制的,default後的數字表明第幾個是默認
的,這裏0表示第一個,1表示第二個.所以如果你想修改默認的操作系統,就修改
default後的數字.
title一項是設置操作系統的名稱,grub不支持中文(有點遺憾).
splashp_w_picpath一項指定grub界面的背景圖片,可以修改grub的背景!
hiddenmenu 隱藏菜單
【(password redhat) 編輯菜單grub密碼】 可以使用 # grub-md5-crype 來獲得MD5加密結果。
root (hd0,0)標識從第一個硬盤,第1個分區來啓動搜索引導內核.注意這兒的
root與linux的root分區不同,此root非彼root也! grub的硬盤標識方法與linux的有
點不同.在linux中第一個主分區爲hda1,第二個主分區爲hda1,第一個邏輯分區爲
hda5,而在 grub中是以(hdx,y)來標識的,如第一個主分區爲(hd0,0)第一個邏輯分區
爲(hd0,1)依此類推.所以這兒root後面的是你的 /boot所在分區標識.
知道了內核在哪兒,還要具體指出哪個文件是內核文件,這就是kernel的工作。
kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/.說明/boot/vmlinuz-
2.6.18-164.el5 就是要載入的內核。後面的都是傳遞給內核的參數。ro是以
readonly的意思。注意我這裏內核前面的路徑是"/",因爲我的boot單獨分了一個區,
如果你沒有爲boot單獨分區,那麼內核前面的路徑就是"/boot".
initrd用來初始的linux p_w_picpath,並設置相應的參數
password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m.設置內核啓動密碼
二、 Grub啓動盤的製作
要製作引導盤,需執行一些簡單的步驟。首先,在新的軟盤上創建 ext2 文件系
統。然後,將其安裝,並將一些 GRUB 文件複製到該文件系統,最後運行 "grub" 程
序,它將負責設置軟盤的引導扇區。
將一張空盤插入 1.44MB 軟驅,輸入:
# mke2fs /dev/fd0
創建了 ext2 文件系統後,需要安裝該文件系統:
# mount /dev/fd0 /mnt/floppy
現在,需要創建一些目錄,並將一些關鍵文件(原先安裝 GRUB 時已安裝了這些
文件)複製到軟盤:
# mkdir /mnt/floppy/boot
# mkdir /mnt/floppy/boot/grub
# cp /boot/grub/stage1 /mnt/floppy/boot/grub
# cp /boot/grub/stage2 /mnt/floppy/boot/grub
再有一個步驟,就能得到可用的引導盤。
在linux bash中,從 root 用戶運行"grub"。
在 grub> 提示符處,輸入:
grub> root (fd0)
grub> setup (fd0)
grub> quit
三、 恢復被windows破壞的grub.
如果你用grub來引導linux和windows,當windows出毛病重新安裝後,會破壞MBR中
的grub,這時需要恢復grub.
1.把linux安裝光盤的第一張放到光驅,然後重新啓動機器,在BOIS中把系統用
光驅來引導。
2.等安裝界面出來後,按[F4]鍵,也就是linux rescue模式。
3.一系列鍵盤以及幾項簡單的配製,過後就[繼續]了。。。
4.然後會出現這樣的提示符:
sh#
5.我們就可以操作GRUB了.輸入grub:
sh#grub
會出現這樣的提示符:
grub>
在這樣的字符後面,輸入:
grub>root (hdX,Y)
grub>setup (hd0)
如果成功會有一個successful......
四、 用NTLoader來引導linux.
如果你在安裝linux時沒有選擇安裝grub,如何在安裝linux後安裝grub.並用
windows的NTLoader來引導linux.
1. 安裝grub
我用的grub是Redhat8.0帶的grub安裝包: grub-0.92-7.rpm
安裝: rpm -ivh grub-0.92-7.rpm
2. 建立grub的環境
cp /usr/share/grub/i386-pc/* /boot/grub
3. 生成grub的配置文件/boot/grub/grub.conf
我的linux在/dev/hda4,所以menu.conf那些分區位置爲(hd0,3),
3. 安裝grub至Linux分區boot
將grub的stage1安裝到/dev/hda4的boot扇區(hd0,3). 過程如下:
/sbin/grub (運行grub)
grub> install (hd0,3)/boot/grub/stage1 d (hd0,3)
(hd0,3)/boot/grub/stage2 p (hd0,3)/boot/grub/menu.conf
(注意,上面"grub>"爲grub的提示符,其後內容寫在一行上.)
4. 取得grub的boot信息
dd if=/dev/hda4 of=/grub.lnx bs=512 count=1
5. 將上面得到的grub.lnx弄到Windows的C盤根目錄下
可以先把grub.lnx弄得軟盤上,然後啓動windows,拷貝到C:\; 情況允許也可以直
接在Linux下拷貝到C:了. 我的C盤(即設備/dev/hda1)爲FAT32, 可以直接從Linux下
弄過去了. 如下:
mount -t vfat /dev/hda1 /mnt/c
cp /grub.lnx /mnt/c
umount /mnt/c
6. 修改NT Loader的boot.ini
在其中加入一行: C:\grub.lnx="Redhat Linux - GRUB"
加入後boot.ini的內容如下:
[boot loader]
timeout=15
default=C:\boot.lnx
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /fastdetect
[VGA mode]" /basevideo /sos
C:\grub.lnx="Redhat Linux - GRUB"
OK. 可以用NT Loader加載Linux了, 其實上面過程基本上和用NT Loader加載
LILO一樣.其基本思想就是用NT Loader來加載LILO或grub的引導區(grub.lnx), 其中
的關鍵就是LILO或grub的引導區的獲取.
五、 進入單用戶模式.
有時不小心把root用戶密碼忘了,只能進入單用戶模式來重新設置root密碼.方法
如下:
開機進入grub界面,按C進入命令行模式,然後按照上面的方法進行,只是在第三步
要在後面加入single參數.