相關(guān)資訊
- 《戰(zhàn)國(guó)無(wú)雙4-2》怎么換服裝?戰(zhàn)國(guó)無(wú)
- 關(guān)于責(zé)任的名言警句大全
- 《戰(zhàn)國(guó)無(wú)雙4-2》PC版如何聯(lián)機(jī)? 戰(zhàn)
- 戰(zhàn)國(guó)無(wú)雙4-2技能覺醒牛逼嗎 全新
- 《戰(zhàn)國(guó)無(wú)雙4-2》手柄無(wú)效怎么解決
- 戰(zhàn)國(guó)無(wú)雙4-2如何設(shè)置語(yǔ)言 戰(zhàn)國(guó)無(wú)雙
- 戰(zhàn)國(guó)無(wú)雙4-2怎么樣跳過進(jìn)入開場(chǎng)動(dòng)畫
- 什么是應(yīng)屆生畢業(yè)生
- 應(yīng)屆生簡(jiǎn)歷自我評(píng)價(jià)
- 應(yīng)屆生簡(jiǎn)歷怎么寫
本類常用軟件
-
福建農(nóng)村信用社手機(jī)銀行客戶端下載下載量:584204
-
Windows優(yōu)化大師下載量:416896
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機(jī)銀行客戶端下載下載量:365699
-
快播手機(jī)版下載量:325855
grub的說(shuō)明與配置方法menu.lst grub.conf
menu.lst位于/boot/grub/menu.lst,munu.lst相當(dāng)于是/boot/grub/grub.conf在windows下 的快捷方式
(重裝系統(tǒng)有時(shí)破壞GRUB后,menu.lst丟失而無(wú)法啟動(dòng)GRUB菜單時(shí)就需要在/boot/grub下建立menu.lst后再和 grub.conf建立鏈接來(lái)修復(fù),建立鏈接是:ln -s menu.lst grub.conf (注意兩文件的前后關(guān)系)),我們來(lái)學(xué)習(xí)如何編寫GRUB的配置文件menu.lst.
首先來(lái)看一下/boot/grub/menu.lst中的內(nèi)容:
==========================================================
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/hda1
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.18-1.2798.fc6)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet selinux=0
initrd /boot/initrd-2.6.18-1.2798.fc6.img
title Windows XP
rootnoverify (hd0,3)
chainloader +1
===========================================================
其中:
1,default=0
表示默認(rèn)啟動(dòng)的第0號(hào)的操作系統(tǒng),在GRUB中,title定義了啟動(dòng)的操作系統(tǒng),從第1個(gè)開始,GRUB中是0,而第2個(gè)是1,依次類推...
2,timeout=5
表示的是出現(xiàn)GRUB界面后,無(wú)操作情況下進(jìn)入default設(shè)定的操作系統(tǒng)的時(shí)間,如果上下移動(dòng)選擇,則該選項(xiàng)無(wú)效
3,splashimage=(hd0,6)/boot/grub/splah.xpm.gz
表示的是允許出現(xiàn)的GRUB背景的path,顯然(hd0,6)指定了分區(qū)(不知能否這么解釋,呵呵),而后邊的則是正常的path(在例子中,用#把它注釋,為一可選項(xiàng))
4,hiddenmenu
表示隱藏GRUB的啟動(dòng)菜單,直接進(jìn)入由default廟宇的操作系統(tǒng)中去,為一可選項(xiàng).
linux類
其格式一般為:
title (......)
root (hd[0-n],x)
kernel (......)
initrd (......)
其中:
title行,是定義一個(gè)啟動(dòng)操作系統(tǒng),而后邊可以自己隨便寫上喜歡的名字,呵,當(dāng)然最起碼你得寫得要自己能認(rèn)出來(lái),沒必要把linux寫成windows吧?!
root行,指定相應(yīng)的linux所有的/boot,如果在寫分區(qū)和掛載時(shí)沒有單獨(dú)掛載,那么就和/在同一個(gè)分區(qū)中,hd[0-n]表示的是第幾個(gè)硬盤,而x則表示的是[第幾個(gè)分區(qū)-1],即x比分區(qū)號(hào)小1,特別要注意.
kernel行,在這里以kernel 起始,指定Linux的內(nèi)核的文件所處的絕對(duì)路徑(通過在終端輸入命令:ls /boot/vmlinuz*來(lái)看內(nèi)核的全名);因?yàn)閮?nèi)核是處在/boot目錄中的,而如果/boot是獨(dú)立的一個(gè)分區(qū),則需要把boot省略,因?yàn)?/boot所在的分區(qū)在root (hd[0-n],x)中指定了,所以就無(wú)需要再指明內(nèi)核處在哪個(gè)分區(qū)了;ro 表示只讀;root=LABEL=/ 來(lái)表示Linux的根所處的分區(qū)。LABEL=/ 這是硬盤分區(qū)格式化為相應(yīng)文件系統(tǒng)后所加的標(biāo)簽;如果您不了解什么是標(biāo)簽,也可以直接以/dev/hd[a-z]X 或者/dev/sd[a-z]X來(lái)表示;就看您的Linux是根分區(qū)是在哪個(gè)分區(qū)了。比如我的是在/dev/hda3, 那這里就可以寫成root=/dev/hda3;
initrd行,如果是/boot獨(dú)立一個(gè)分區(qū),initrd 一行要把/boot中省略;如果/boot不是處于一個(gè)分區(qū),而是和Linux的/分區(qū)處于同一分區(qū),不應(yīng)該省略;我們通過查看/boot中的 initrd的文件名到底是什么來(lái)寫這一行代碼,在終端輸入:ls /boot/initrd*
很容易能得到initrd文件名,然后寫入.
在了解了以上情況之后,我們就很容易地理解另一種寫法了:
title (......)
kernel (hd[0-n],y)(/boot)...... ro root=......
initrd (hd[0-n],y)(/boot)......
其實(shí)只是省略的root很實(shí)在地寫在了kernel和initrd行中去了而已
附:
其 實(shí)在GRUB啟動(dòng)菜單不能工作的時(shí)候,進(jìn)入GRUB命令行(可按CTRL+C鍵)后,我們同樣可以一步一步地把系統(tǒng)啟動(dòng)起來(lái),其實(shí)在menu.lst中, 除title不是指令外,其余的都是GRUB指令,我們只要一步步地輸入它們(錯(cuò)了要從新開始),中間輸入關(guān)于kernel和 initrd要利用
TAB鍵補(bǔ)齊寫好,最后只要boot一下就行了.
用GRUB指令引導(dǎo)windows:
GRUB> rootnoverify (hd0,0)
GRUB> chainloader +1
GRUB> boot
對(duì)于GRUB來(lái)說(shuō),如果沒有配置menu.lst,無(wú)論是Linux版本的GRUB,還是WINGRUB,都會(huì)有命令行可用,通過命令行是一樣能把操作系統(tǒng)引導(dǎo)起來(lái)的;有些弟兄總以為menu.lst 配置錯(cuò)了, 或者在機(jī)器啟動(dòng)后出現(xiàn)grub>命令行模式就要重新安裝系統(tǒng),其實(shí)根本沒有這個(gè)必要;只要學(xué)會(huì)GRUB的命令行的用法,根本沒有必要重裝系統(tǒng);
menu.lst 位于/boot/grub目錄中,也就是/boot/grub/menu.lst 文件;您可以用vi或您喜歡的編輯器來(lái)編輯他;如果您不會(huì)用vi,還是去學(xué)習(xí)一下吧;簡(jiǎn)單的用法怎么也得會(huì),對(duì)不對(duì)?畢竟這個(gè)文檔不是講vi的用法的;
有的弟兄會(huì)說(shuō),我沒有menu.lst怎么辦?那就創(chuàng)建一個(gè);用下面的命令;
然后我們?cè)僮鲆粋(gè)/boot/grub/menu.lst 的鏈接 /boot/grub/grub.conf
[root@localhost ~]# ln -s menu.lst grub.conf
現(xiàn)在我們來(lái)寫GRUB的menu.lst了,因?yàn)?boot/grub/grub.conf是 /boot/grub/menu.lst的鏈接文件,改哪個(gè)都行。鏈接文件相當(dāng)于Windows的快捷方式,這樣可能能更好的理解;
1、menu.lst的寫法之一;
首先我們看一下我的Fedora 4.0 中的/boot/grub/menu.lst 的內(nèi)容;
root (hd0,6)
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
initrd /boot/initrd-2.6.11-1.1369_FC4.img
title WinXp
rootnoverify (hd0,0)
chainloader +1
注解:隱藏GRUB的啟動(dòng)菜單,這項(xiàng)也是可選的,也可以用#號(hào)注掉;
一般的情況下對(duì)Linux操作系統(tǒng)的啟動(dòng),一般要包括四行;title 行;root行;kernel 行;initrd 行;
1)在menu.lst中 ,通過 root (hd[0-n],y)來(lái)指定/boot 所在的分區(qū);
title XXXXX 注:title 后面加一個(gè)空格,title 是小寫的,后面可以自己定義;比如FC4,自己定義一個(gè)名字就行;
root (hd[0-n],y) ,在本例中,我們看到的是root (hd0,6) ,root (hd[0-n],y)表示的是/boot所在的分區(qū);有時(shí)我們安裝Linux的時(shí)候,大多是不設(shè)置/boot的,這時(shí)/boot和/所在的同一個(gè)分區(qū); 這個(gè)root (hd[0-n],y)很重要,因?yàn)?boot目錄中雖然有g(shù)rub目錄,最為重要的是還有kernel 和initrd文件,這是Linux能啟動(dòng)起來(lái)最為重要東西;
有的弟兄會(huì)問,root (hd[0-n],y)是怎么來(lái)的?
請(qǐng)參考:《在Linux系統(tǒng)中存儲(chǔ)設(shè)備的兩種表示方法》
2)在menu.lst中,kernel 命令行的寫法;
kernel 一行,是通指定內(nèi)核及Linux的/分區(qū)所在位置;
比如例子中是;
在這里以kernel 起始,指定Linux的內(nèi)核的文件所處的絕對(duì)路徑;因?yàn)閮?nèi)核是處在/boot目錄中的, 如果/boot是獨(dú)立的一個(gè)分區(qū),則需要把boot省略;如果/boot不是獨(dú)立的分區(qū),這行要寫成:
因?yàn)?boot所處的分區(qū)已經(jīng)在title 下一行root (hd[0-n],y)中指定了,所以就無(wú)需要再指明內(nèi)核處在哪個(gè)分區(qū)了;另外Linux系統(tǒng)的硬盤分區(qū)的掛載配置文件在/etc/fstab ,原理是通過 mount /dev/hd[a-z]X /boot 來(lái)進(jìn)行的;您可以對(duì)照著來(lái)理解;
ro 表示只讀; root=LABEL=/ 來(lái)表示Linux的根所處的分區(qū)。LABEL=/ 這是硬盤分區(qū)格式化為相應(yīng)文件系統(tǒng)后所加的標(biāo)簽;如果您不了解什么是標(biāo)簽,也可以直接以/dev/hd[a-z]X 或者/dev/sd[a-z]X來(lái)表示;就看您的Linux是根分區(qū)是在哪個(gè)分區(qū)了。比如我的是在/dev/hda7 , 那這里就可以寫成root=/dev/hda7;
如果查看系統(tǒng)運(yùn)行所掛載的分區(qū),請(qǐng)用 df -lh 來(lái)查看,就能明白是不是/boot是獨(dú)立的分區(qū),或者查看/etc/fstab也能知道;
Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
/dev/hda7 11G 9.2G 1.2G 90% /
/dev/shm 236M 0 236M 0% /dev/shm
在這個(gè)例子中,我們可以發(fā)現(xiàn) /boot并沒有出現(xiàn)只有/dev/hda7,這表示/boot并不是獨(dú)立的一個(gè)分區(qū);所有的東西都包含在/中;于是我們?cè)?boot中查看內(nèi)核版本;
/boot/vmlinuz-2.6.11-1.1369_FC4 注:看到內(nèi)核vmlinuz所處的目錄;
于是我們就可以這樣kernel 這行了;
3)initrd 命令行的寫法;
如果是/boot獨(dú)立一個(gè)分區(qū),initrd 一行要把/boot中省略;如果/boot不是處于一個(gè)分區(qū),而是和Linux的/分區(qū)處于同一分區(qū),不應(yīng)該省略;
比如我們?cè)?)中用的例子;現(xiàn)在拿到這里,我們應(yīng)該首先查看 /boot中的initrd的文件名到底是什么;
/boot/initrd-2.6.11-1.1369_FC4.img
如果是通過df -lh 得知或查看/etc/fstab 也行, 得知/boot是獨(dú)立的分區(qū);這時(shí)initrd 應(yīng)該寫成;
如果是 /boot不是獨(dú)處一個(gè)分區(qū),而是在/同一處一個(gè)分區(qū), 則要寫成;
4)menu.lst第一種寫法的總結(jié)和實(shí)踐;
在這里,我們只說(shuō)重要的,不重要的就一帶而過了;
1]用fdisk -l ;df -lh ;more /etc/fstab來(lái)確認(rèn)分區(qū)情況;
我們過fdisk -l ;df -lh ; more /etc/fstab 來(lái)確認(rèn)/boot所在的分區(qū),及Linux的根分區(qū)所在位置;
比如我們確認(rèn)/boot和Linux的/分區(qū)同處一個(gè)分區(qū);
Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
/dev/hda7 11G 9.2G 1.2G 90% /
/dev/shm 236M 0 236M 0% /dev/shm
然后我們/etc/fstab 中,查看/分所在的分區(qū)或分區(qū)標(biāo)簽是什么;
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
LABEL=SWAP-hda1 swap swap defaults 0 0
/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0
經(jīng)過上面的df -lh 和more /etc/fstab 的對(duì)照中得知,/boot并是獨(dú)處一個(gè)分區(qū),而是和/在同一個(gè)分區(qū);這個(gè)Linux系統(tǒng)安裝在/dev/hda7上,文件系統(tǒng)(此分區(qū))的標(biāo)簽為L(zhǎng)ABEL=/ ,/boot也是處于/dev/hda7 ,/dev/hda7也可以說(shuō)是 root (hd0,6);
2]查看內(nèi)核vmlinuz的和initrd文件名的全稱;
-rw-r--r-- 1 root root 1.6M 2005-06-03 /boot/vmlinuz-2.6.11-1.1369_FC4
[root@localhost ~]# ls -lh /boot/initrd*
-rw-r--r-- 1 root root 1.1M 11月 26 22:30 /boot/initrd-2.6.11-1.1369_FC4.img
3]開始寫menu.lst ;
我們根據(jù)上面所提到的,可以寫成如下的樣子;
root (hd0,6)
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
initrd /boot/initrd-2.6.11-1.1369_FC4.img
也可以寫成;
root (hd0,6)
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
initrd /boot/initrd-2.6.11-1.1369_FC4.img
注解:上面兩個(gè)不同之處在于一指定Linux的根/所在的分區(qū)時(shí),一個(gè)是用了文件系統(tǒng)的標(biāo)簽,另一個(gè)沒有用標(biāo)簽;
2、menu.lst的寫法之二,精簡(jiǎn)型;
本寫法主要是把指定/boot所位于的所分區(qū)直接寫入kernel 指令行;這樣就省略了通過root (hd[0-n],y)來(lái)指定/boot所位于的分區(qū);
1)第一種情況:/boot和Linux的/根分區(qū)在同一個(gè)分區(qū);
有前面的那么多的講解,menu.lst寫法之二就好理解多了;也得分兩種情況,咱們先把/boot并不是獨(dú)處一個(gè)分區(qū),而是和Linux的根分區(qū)處于同一個(gè)分區(qū);我們以 4)menu.lst第一種方法的寫法總結(jié) 的實(shí)例為例子;
kernel (hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
initrd (hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img
注解:
title FC4x 注:自己為這個(gè)Linux 起個(gè)簡(jiǎn)單的名,以title開頭,然后一個(gè)空格,后面就自己發(fā)揮吧,F(xiàn)C4或FC4x都行;
kernel 空格 (hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4 空格 ro 空格 root=/dev/hda7
kernel 這行這樣理解 kernel (boot所在的分區(qū))/boot/內(nèi)核文件件全稱 ro root=Linux根所位于的分區(qū)或標(biāo)簽
initrd 空格 (hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img
initrd 這行可以這樣理解 initrd (/boot所在的分區(qū))/boot/內(nèi)核文件名全稱
2)第二種情況:/boot獨(dú)立一個(gè)分區(qū),和Linux的根分區(qū)不是同一個(gè)分區(qū);
比如我們查看到df -lh 得到的是
Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
/dev/hda6 200M 120M 80M 60% /boot
/dev/hda7 11G 9.2G 1.2G 90% /
我們?cè)龠M(jìn)一行查看/etc/fstab 得知;
LABEL=/boot /boot ext3 defaults 1 2
所以我們應(yīng)該寫成如下的;
kernel (hd0,5)/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
initrd (hd0,5)/initrd-2.6.11-1.1369_FC4.img
因?yàn)長(zhǎng)inux的根分區(qū)是/dev/hda7,通過/etc/fstab和df -h的內(nèi)容得知標(biāo)簽為 LABEL=/的分區(qū)就是/dev/hda7 ,所以有;
kernel (hd0,5)/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
initrd (hd0,5)/initrd-2.6.11-1.1369_FC4.img