veket官方网站论坛

范蠡 发表于 2010-6-21 22:52

基本命令

以下是一些最为常用的命令
help

用来显示其它命令的用法,例子:

<pre>help root</pre>
default

指定缺省的菜单项,由0开始算起,例子: <pre>default 0</pre> 该命令必须在第一个title之前指定
timeout

缺省的等待时间,如果在指定的时间(以秒为单位)不按任何键,则会启动缺省的菜单项,例子: <pre>timeout 10</pre> 该命令必须在第一个title之前指定
root

用来指定根设备,例子: <pre>root (hd0,0)</pre>
rootnoverify

该命令也可以用来指定根设备。root在设置根设备前,先测试一下该分区的文件系统是否可以识别,而rootnoverify则省略这一测试。 <pre>rootnoverify (hd0,0)</pre>
chainloader

把启动扇区的内容装入内存,参数+1指的是把分区的第一个扇区,例子: <pre>chainloader +1</pre>
boot

启动操作系统。在使用该命令前,必须用kernel或者chainloader把系统内核或者启动扇区/启动文件装入内存。例子: <pre>boot</pre>

在配置文件中不需要使用这个命令。这是因为GRUB在执行了菜单项的所有命令后,会自动加上boot。该命令一般在命令行界面里使用。

范蠡 发表于 2010-6-21 22:53

设备名字

在GRUB中,硬盘设备用以下的方法来命名:

<pre>(hdm)</pre>

m是硬盘的序号。序号0相对于BIOS的第一只硬盘。

硬盘上的分区用以下的方法来命名:

<pre>(hdm,n)</pre>

n是硬盘m里分区的序号。主分区最多有4个,其序号为0-3,扩展分区的序号从4开始。例子:

硬盘0上的第一个主分区: <pre>(hd0,0)</pre>

硬盘1上的第一个扩展分区: <pre>(hd1,4)</pre>

设备也可以用相应的BIOS设备号来表示。例如,第一只硬盘设备的设备号是0x80,因此,以下的表示是等价的: (hd0,0), (0x80,0), (128,0)。

另外,对于一些文件系统来说,例如FreeBSD中使用的ffs,或者是Solaris中使用的ufs,在分区中还继续划分为子分区。子分区的表示是在分区表示的基础上加上从a开始计算的子分区序号。例如:

硬盘0上的第一个主分区里的第一个子分区: <pre>(hd0,0,a)</pre>

软盘设备用以下的方法来命名:

<pre>(fdm)</pre>

m是软盘的序号。序号0相对于BIOS的第一只软盘。

软盘设备后面同样可以加上分区或者子分区的序号。

GRUB还有其它一些设备,比如说(cd)是光盘设备,(nd)是网络设备,等等。不过它们在特定的情形下才可以使用。

范蠡 发表于 2010-6-21 22:53

文件名字

GRUB的文件名字是在设备名字的基础上加上文件的路径,例子:硬盘0上第一个主分区根目录里的aa.img文件: <pre>(hd0,0)/aa.img</pre>

软盘0上boot目录里的aa.img文件: <pre>(fd0)/boot/aa.img</pre>

注意:目录的分隔符是 / ,而不是Windows/DOS下常用的 \ 。

另外,你还可以用扇区的位移和数量来指定数据,比如:

<pre>(hd0,0)0+100,200+1,300+300</pre>

表示硬盘0上第一个主分区里,从扇区0起的100个扇区,然后是从扇区200起的1个扇区,最后是从扇区300起的300个扇区。当位移为零时,可以省略不写,因此,

<pre>(hd0,0)+1</pre>

表示的是硬盘0上第一个主分区里从扇区0起的1个扇区,也就是分区的第一个扇区。

GRUB中纪录了一个根设备,它由root命令来指定,例如:

<pre>root (hd0,0)</pre>

根设备上的文件可以省略设备名,例如,使用了以上的root命令后,文件名 +1 就等同于 (hd0,0)+1。

注意:在GRUB4DOS的扩展中,map命令中使用的文件名的意义和以上所说的有所不同。在map命令里,(hd0,0)+1表示的不是硬盘0上第一个主分区的第一个扇区,而是整个分区。

范蠡 发表于 2010-6-21 22:54

启动操作系统

启动一般系统

一般来说,操作系统会在其所在分区的第一个扇区里放入启动代码。因此,用以下的一组命令一般可以启动硬盘0第一主分区上的操作系统:

<pre> rootnoverify (hd0,0) chainloader +1 boot </pre>

对于不同的分区,只要修改设备名(hd0,0)就可以了。

注意:大部分的操作系统需要在第一只硬盘的主分区里才能正常启动。

注意:当把该组命令作为menu.lst里某一菜单项的内容时,最后的命令boot可以省略。

注意:该方法是通用的,它可以用来启动以下提到的系统,只要分区的第一个扇区中存在启动代码。

启动DOS/Windows 95/98/Me

在GRUB4DOS中,chainloader命令可以装载DOS/Windows 95/98/Me中的io.sys。因此,可以使用类似于以下的一组命令来启动这些系统:

<pre> rootnoverify (hd0,0) chainloader (hd0,0)/io.sys boot </pre>

启动Windows NT/2000/XP/2003/Vista

在GRUB4DOS中,chainloader命令也可以装载Windows NT/2000/XP/2003中的ntldr和Windows Vista中的bootmanager。因此,可以使用类似于以下的一组命令来启动这些系统:

启动Windows NT/2000/XP/2003: <pre> rootnoverify (hd0,0) chainloader (hd0,0)/ntldr boot </pre>

启动Windows Vista: <pre> rootnoverify (hd0,0) chainloader (hd0,0)/bootmanager boot </pre>

启动Linux

可以用kernel指令装载Linux内核:

<pre> rootnoverify (hd0,0) kernel (hd0,0)/vmlinuz boot </pre>

在内核(hd0,0)/vmlinuz后可以加上启动的参数。

当启动Linux内核时,可以使initrd指令来装载初始的内存盘。

<pre> rootnoverify (hd0,0) kernel (hd0,0)/vmlinuz initrd (hd0,0)/initrd boot </pre>

注意:chainloader用于装载启动扇区和特定的启动文件如io.sys和ntldr,而kernel用于装载Linux内核和符合其标准的启动文件。在一组启动命令中,两者不能同时使用。

范蠡 发表于 2010-6-21 22:54

修改界面的颜色

GRUB界面的颜色可以用color指令来指定。color中指定了两组颜色,第一组是正常文本的颜色,第二组是加亮文本(当前选择的菜单项)的颜色。对应于每组颜色,又需要指定两种颜色。第一种是前景的颜色,第二种是背景的颜色。因此,在color总共需要指定四种颜色,分别是,正常文本前景,正常文本背景,加亮文本前景和加亮文本背景。

颜色代码:

black (黑色) red (红色) green (绿色) brown (棕色) blue (蓝色) magenta (紫色) cyan (青色) light-gray (灰色)

dark-gray (暗灰) light-red (亮红) light-green (亮绿) yellow (黄色) light-blue (亮蓝) light-magenta (亮紫) light-cyan (亮青) white (白色)

前景色可以使用全部16种颜色,而背景色只能使用前面8种颜色。

例子:

<pre>color cyan/blue white/magenta</pre>

正常文本前景: cyan (青色) 正常文本背景: blue (蓝色) 加亮文本前景: white (白色) 加亮文本背景: magenta (紫色)

以上例子的颜色在运行时的画面:

Image:BootScreen3.jpg

你也可以在颜色矩阵中直观看到各前景/背景颜色搭配的效果。

color命令一般是作为全局命令,在第一个title前使用。
页: 1 [2] 3 4
查看完整版本: grub4dos官方下载地址和教程转帖