some of the following is copyright by tomsen
主要相关目录:/boot/grub 在其中重点关注menu.lst,stage1,stage2(系统启动第一阶段和第二阶段)
a) menu.lst:
# fllowing is my put
title hello world /* the systems's name */ root (hd0,0) /* boot the first hard disk,the first partition */ kernel /home/tomsen/work/ccu/hello_world_c/o-optimize/hello.exe /* the kernel's path */
quiet
belove the text , i shoud explaim clearly the (hd0,0).
主分区就是 (hd0,0)-(hd0,3)部分,或者这样表示hda1-hda4. 逻辑分区就是(hd0,4)-(hd0-N),这里N>4,或者这样表示hda5-hdaN+ 1,这里你明白了吧,逻辑分区是从D盘开始的,而主分区就是前面的部分。
b) 安装GRUB到MBR
GRUB在启动中,被BIOS调用,只有放在MBR中才可以被调用,所以,GRUB要让BIOS调用,就必须安装在MBR中。实际上是将 stage1安装到MBR中,也可能根据文件系统选择安装了stage1_5。下面,提供几个安装GRUB的例子:
#grub-install /dev/hda //将GRUB安装到第1块IDE硬盘的MBR
#grub-install /dev/sda //将GRUB安装到第1块SCSI硬盘的MBR
#grub-install /dev/fd0 //将GRUB安装到软盘
#grub-install /dev/hda1 //将GRUB安装到第1快硬盘的0扇区,当用其它引导程序引导系统时,往往选择这种方式,以免覆盖其它引导程 序。
c) 在GRUB的命令行模式下安装GRUB
在系统显示启动菜单时候按下c键,或者系统启动后在命令行执行/usr/sbin/grub程序,都可以进入GRUB的命令行模式。命令行模式 下安装GRUB的基本过程如下:
指定启动设备
grub>root (hd0,0) #除了root后必须有空格,别的位置均不能有空格!
此处(hd0,0)是指第1块硬盘的第1个分区。如果不能确定包含GRUB的stage1文件的分区,可以通过find指令查找确定:
grub> find /boot/grub/stage1 #查找stage1
GRUB将会查找文件/boot/grub/stage1并显示包含这个文件的设备名,这个设备就是上面要用到的设备。
安装GRUB
grub> setup (hd0) #除了setup后必须有空格,别的位置均不能有空格!
这条命令将会在第1块硬盘的MBR安装GRUB,如果不想在MBR安装GRUB,而是希望将GRUB安装在某分区的引导扇区的话,可以用下面的 命令安装:
grub> setup (hd0,0) #除了setup后必须有空格,别的位置均不能有空格!
这将会在第1块硬盘的第1个分区的引导扇区安装GRUB。
q 退出GRUB
grub>quit
d) 重启机器,新安装的GRUB生效
在命令行中可以输入其他的比如
kernel /vmlinuz-2.4.18 ro root=LABEL=/ #内核在/boot中
initrd /initrd-2.4.18-14.img #启动RAM盘在/boot下
其他可以再grub命令行下输入help查看相关的用法,
grub > help