高配置grub的方法與其說明
Filesystem 容量 已用 可用 已用% 掛載點
/dev/hda7 11G 9.2G 1.2G 90% /
/dev/shm 236M 0 236M 0% /dev/shm
在這個例子中,我們可以發現 /boot并沒有出現只有/dev/hda7,這表示/boot并不是獨立的一個分區;所有的東西都包含在/中;于是我們在/boot中查看內核版本;
/boot/vmlinuz-2.6.11-1.1369_FC4 注:看到內核vmlinuz所處的目錄;
于是我們就可以這樣kernel 這行了;
3)initrd 命令行的寫法;
如果是/boot獨立一個分區,initrd 一行要把/boot中省略;如果/boot不是處于一個分區,而是和Linux的/分區處于同一分區,不應該省略;
比如我們在2)中用的例子;現在拿到這里,我們應該首先查看 /boot中的initrd的文件名到底是什么;
/boot/initrd-2.6.11-1.1369_FC4.img
如果是通過df -lh 得知或查看/etc/fstab 也行, 得知/boot是獨立的分區;這時initrd 應該寫成;
如果是 /boot不是獨處一個分區,而是在/同一處一個分區, 則要寫成;
4)menu.lst第一種寫法的總結和實踐;
在這里,我們只說重要的,不重要的就一帶而過了;
1]用fdisk -l ;df -lh ;more /etc/fstab來確認分區情況;
我們過fdisk -l ;df -lh ; more /etc/fstab 來確認/boot所在的分區,及Linux的根分區所在位置;
比如我們確認/boot和Linux的/分區同處一個分區;
Filesystem 容量 已用 可用 已用% 掛載點
/dev/hda7 11G 9.2G 1.2G 90% /
/dev/shm 236M 0 236M 0% /dev/shm
然后我們/etc/fstab 中,查看/分所在的分區或分區標簽是什么;
# 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
經過上面的df -lh 和more /etc/fstab 的對照中得知,/boot并是獨處一個分區,而是和/在同一個分區;這個Linux系統安裝在/dev/hda7上,文件系統(此分區)的標簽為LABEL=/ ,/boot也是處于/dev/hda7 ,/dev/hda7也可以說是 root (hd0,6);
2]查看內核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 ;
我們根據上面所提到的,可以寫成如下的樣子;
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
注解:上面兩個不同之處在于一指定Linux的根/所在的分區時,一個是用了文件系統的標簽,另一個沒有用標簽;
2、menu.lst的寫法之二,精簡型;
本寫法主要是把指定/boot所位于的所分區直接寫入kernel 指令行;這樣就省略了通過root (hd[0-n],y)來指定/boot所位于的分區;
1)第一種情況:/boot和Linux的/根分區在同一個分區;
有前面的那么多的講解,menu.lst寫法之二就好理解多了;也得分兩種情況,咱們先把/boot并不是獨處一個分區,而是和Linux的根分區處于同一個分區;我們以 4)menu.lst第一種方法的寫法總結 的實例為例子;
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 注:自己為這個Linux 起個簡單的名,以title開頭,然后一個空格,后面就自己發揮吧,FC4或FC4x都行;
kernel 空格 (hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4 空格 ro 空格 root=/dev/hda7
kernel 這行這樣理解 kernel (boot所在的分區)/boot/內核文件件全稱 ro root=Linux根所位于的分區或標簽
initrd 空格 (hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img
initrd 這行可以這樣理解 initrd (/boot所在的分區)/boot/內核文件名全稱
2)第二種情況:/boot獨立一個分區,和Linux的根分區不是同一個分區;
比如我們查看到df -lh 得到的是
Filesystem 容量 已用 可用 已用% 掛載點
/dev/hda6 200M 120M 80M 60% /boot
/dev/hda7 11G 9.2G 1.2G 90% /
我們再進一行查看/etc/fstab 得知;
LABEL=/boot /boot ext3 defaults 1 2
所以我們應該寫成如下的;
kernel (hd0,5)/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
initrd (hd0,5)/initrd-2.6.11-1.1369_FC4.img
因為Linux的根分區是/dev/hda7,通過/etc/fstab和df -h的內容得知標簽為 LABEL=/的分區就是/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