|
楼主 |
发表于 2003-6-23 14:37:56
|
显示全部楼层
刚刚出了点问题!!!
继续!!
98先装,用的是单独的硬盘,4.3G,那时候,LINUX8还没有到我手中
后来到了,在家中安装好了,选择GRUB,就会有DOS的一个菜单,我的是在主分区
到了公司,把LINUX挂在第一个盘的位置,那个盘挂在第四个盘的位置(这个无所谓)
然后GRUB配置如下
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-14)
root (hd0,0)
kernel /vmlinuz-2.4.18-14 ro root=LABEL=/
initrd /initrd-2.4.18-14.img
title DOS
rootnoverify (hd1,0)
makeactive
chainloader (hd1,0)+1
map (hd0) (hd1)
map (hd1) (hd0)
boot
下面是GRUB的可用命令列表:
#大部分命令我们不常用,而且我也没有每个都试验!
关于下面将要用到的三种模式的解释:
GRUB的用户界面有三种:命令行模式,菜单模式和菜单编辑模式
(a) 命令行模式:
进入命令行模式后GRUB会给出一个命令提示符`grub>`,此时就可以键入命令,按回车执行。此模式下可执行的命令是在menu.lst中可执行的命令的一个子集。此模式下允许类似于Bash shell的命令行编辑功能:
<C-f>或<右箭头键> 光标右移一个字符
<C-b>或<左箭头键> 光标左移一个字符
<C-a><HOME> 到这一行的开头
<C-e>或<END> 到行尾
<C-d>或<DEL> 删除光标处的字符
<C-h>或<BackSpace> 删除光标左边的字符
<C-k> 删除光标右边的所有字符(包括光标处的字符)
<C-u> 删除光标左边的所有字符(包括光标处的字符)
<C-y> 恢复上次删除的字符串到光标位置
<C-p>或<向上键> 历史记录中的上一条命令
<C-n>或<向下键> 历史记录中的下一条命令
在命令行模式下<tab>键有补全命令的功能,如果你敲入了命令的前一部分,键入<tab>系统将列出所有可能以你给出的字符串开头的命令。如果你给出了命令,在命令参数的位置按下<tab>键,系统将给出这条命令的可能的参数列表,具体的可用命令集将在后面给出。
(b) 菜单模式
当存在文件/boot/grub/menu.lst文件时系统启动自动进入此模式。菜单模式下用户只需要用上下箭头来选择他所想启动的系统或者执行某个命令块,菜单的定义在menu.lst文件中,你也可以从菜单模式按<c>键进入命令行模式,并且可以按<ESC>键从命令行模式返回菜单模式。菜单模式下按<e>键将进入菜单编辑模式。
(c) 菜单编辑模式
菜单编辑模式用来对菜单项进行编辑改变,其界面和菜单模式的界面十分类似,不同的是菜单中显示的是对应某个菜单项的命令列表。如果在编辑模式下按下<ESC>,则取消所有当前对菜单的编辑并回到菜单模式下。在编辑模式下选中一个命令行,就可以对这条指令进行修改,修改完毕后按下<RET>,GRUB将提示你确认并完成修改。如果你想在当前命令列表中增加一条命令,按<o>在当前命令的下面增加一条指令,按<O>在当前命令前处增加一条指令。按<d>删除一条指令。
仅用于菜单的命令(不包括菜单项内部的启动命令)
default num
设置菜单中的默认选项为num(默认为0,即第一个选项),超时将启动这个选项
fallback num
如果默认菜单项启动失败,将启动这个num后援选项。
password passwd new-config-file
关闭命令行模式和菜单编辑模式,要求输入口令,如果口令输入正确,将使用new-config-file
作为新的配置文件代替menu.lst,并继续引导。
timeout sec
设置超时,将在sec秒后自动启动默认选项。
title name ...
开始一个新的菜单项,并以title后的字串作为显示的菜单名。
在菜单(不包括菜单项内部的命令)和命令行方式下都可用的命令
bootp
以BOOTP协议初始化网络设备
color normal [highlight]
改变菜单的颜色,normal是用于指定菜单中非当前选项的行的颜色,highlight是用于指定当前菜单选项的颜色。如果不指定highlight,GRUB将使用normal的反色来作为highlight颜色。指定颜色的格式是“前景色/背景色”,前景色和背景色的可选列表如下:
* black
* blue
* green
* cyan
* red
* magenta
* brown
* light-gray
下面的颜色只能用于背景色
* dark-gray
* light-blue
* light-green
* light-cyan
* light-red
* light-magenta
* yellow
* white
你可以在前景色前加上前缀"blink-",产生闪烁效果,你可以在menu.lst中加上下面这个选项来改变颜色效果:
title OS-BS like
color magenta/blue black/magenta
device drive file
在GRUB命令行中,把BIOS中的一个驱动器drive映射到一个文件file。你可以用这条命令创建一个磁盘映象或者当GRUB不能真确地判断驱动器时进行纠正。如下
grub> device (fd0) /floppy-image
grub> device (hd0) /dev/sd0
这条命令只能在命令行方式下使用, 是个例外。
dhcp
用DHCP协议初始化网络设备。目前而言,这条指令其实就是bootp的别名,效果和bootp一样。
hide partition
这条指令仅仅对DOS和WINDOWS有用,当在一个硬盘上存在多个DOS/WIN的主分区时,有时需要这条指令隐藏其中的一个或几个分区,即在分区表中设置“隐藏”位。
rarp
用RARP协议初始化网络设备。
setkey to_key from_key
改变键盘的映射表,将from_key映射到to_key,注意这条指令并不是交换键映射,如果你要交换两个键的映射,需要用两次setkey指令,如下:
grub> setkey capslock control
grub> setkey control capslock
其中的键必须是字母,数字或者下面的一些代表某一键的字符串:
`escape', `exclam', `at', `numbersign', `dollar', `percent',
`caret', `ampersand', `asterisk', `parenleft', `parenright',
`minus', `underscore', `equal', `plus', `backspace', `tab',
`bracketleft', `braceleft', `bracketright', `braceright', `enter',
`control', `semicolon', `colon', `quote', `doublequote',
`backquote', `tilde', `shift', `backslash', `bar', `comma',
`less', `period', `greater', `slash', `question', `alt', `space',
`capslock', `FX' (`X' is a digit), and `delete'.
下面给出了它们和键盘上的键的对应关系:
`exclam'=`!'
`at'=`@'
`numbersign'=`#'
`dollar'=`$'
`percent'=`%'
`caret'=`^'
`ampersand'=`&'
`asterisk'=`*'
`parenleft'=`('
`parenright'=`)'
`minus'=`-'
`underscore'=`_'
`equal'=`='
`plus'=`+'
`bracketleft'=`['
`braceleft'=`{'
`bracketright'=`]'
`braceright'=`}'
`semicolon'=`;'
`colon'=`:'
`quote'=`''
`doublequote'=`"'
`backquote'=``'
`tilde'=`~'
`backslash'=`'
`bar'=`|'
`comma'=`,'
`less'=`<'
`period'=`.'
`greater'=`>'
`slash'=`/'
`question'=`?'
`space'=` '
unhide partition
仅仅对DOS/WIN分区有效,清除分区表中的“隐藏”位。
仅用于命令行方式或者菜单项内部的命令
blocklist file
显示文件file在所占磁盘块的列表。
boot
仅在命令行模式下需要,当参数都设定完成后,用这条指令启动操作系统
cat file
显示文件file的内容,可以用来得到某个操作系统的根文件系统所在的分区,如下:
grub> cat /etc/fstab
chainloader [`--force'] file
把file装入内存进行chainload,除了能够通过文件系统得到文件外,这条指令也可以用磁盘块列表的方式读入磁盘中的数据块,如'+1`指定从当前分区读出第一个扇区进行引导。如果指定了`--force`参数,则无论文件是否有合法的签名都强迫读入,当你在引导SCO UnixWare时需要用这个参数。
cmp file1 file2
比较文件的内容,如果文件大小不一致,则输出两个文件的大小,如下:
Differ in size: 0x1234 [foo], 0x4321 [bar]
如果两个文件的大小一致但是在某个位置上的字节不同,则打印出不同的字节和他们的位移:
Differ at the offset 777: 0xbe [foo], 0xef [bar]
如果两个文件完全一致,则什么都不输出。
configfile FILE
将FILE作为配置文件替代menu.lst。
embed stage1_5 device
如果device是一个磁盘设备的话,将Stage1_5装入紧靠MBR的扇区内。如果device是一个FFS文件系统分区的话,则将Stage1_5装入此分区的第一扇区。如果装入成功的话,输出写入的扇区数。
displaymem
显示出系统所有内存的地址空间分布图。
find filename
在所有的分区中寻找指定的文件filename,输出所有包含这个文件的分区名。参数filename应该给出绝对路径。
fstest
启动文件系统测试模式。打开这个模式后,每当有读设备请求时,输出向底层例程读请求的参数和所有读出的数据。输出格式如下:
先是由高层程序发出的分区内的读请求,输出:<分区内的扇区偏移,偏移(字节数),长度(字节数)>之后由底层程序发出的扇区读请求,输出:[磁盘绝对扇区偏移] 可以用install或者testload命令关闭文件系统测试模式。
geometry drive [cylinder head sector [total_sector]]
输出驱动器drive的信息。
help [pattern ...]
在线命令帮助,列出符合pattern的命令列表,如果不给出参数,则将显示所有的命令列表。
impsprobe
检测Intel多处理器,启动并配置找到的所有CPU。
initrd file ...
为Linux格式的启动映象装载初始化的ramdisk,并且在内存中的Linux setup area中设置适当的参数。
install stage1_file [`d'] dest_dev stage2_file [addr] [`p'] [config_file] [real_config_file]
这是用来完全安装GRUB启动块的命令,一般很少用到。
ioprobe drive
探测驱动器drive所使用的I/O口,这条命令将会列出所有dirve使用的I/O口。
kernel file ...
装载内核映象文件(如符合Multiboot的a.out,ELF,Linux zImage或bzImage,FreeBSD a.out,NetBSD
a.out等等)。文件名file后可跟内核启动时所需要的参数。如果使用了这条指令所有以前装载的模块都要重新装载。
makeactive
使当前的分区成为活跃分区,这条指令的对象只能是PC上的主分区,不能是扩展分区。
map to_drive from_drive
映射驱动器from_drive到to_drive。这条指令当你在chainload一些操作系统的时候可能是必须的,这些操作系统如果不是在第一个硬盘上可能不能正常启动,所以需要进行映射。如下:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)
这个就用来对付双硬盘最过瘾!!!哈哈
module file ...
对于符合Multiboot规范的操作系统可以用这条指令来装载模块文件file,file后可以跟这个module所需要的参数。注意,必须先装载内核,再装载模块,否则装载的模块无效。
modulenounzip file ...
同module命令几乎一样,唯一的区别是不对module文件进行自动解压。
pause message ...
输出字符串message,等待用户按任意键继续。你可以用<^G>(ASCII码007)使PC喇叭发声提醒用户注意。
quit
退出GRUB shell,GRUB shell类似于启动时的命令行模式,只是它是在用户启动系统后执行/sbin/grub才
进入,两者差别不大。
read addr
从内存的地址addr处读出32位的值并以十六进制显示出来。
root device [hdbias]
将当前根设备设为device,并且试图mount这个根设备得到分区大小。hdbias参数是用来告诉BSD内核在当前分区所在磁盘的前面还有多少个BIOS磁盘编号。例如,系统有一个IDE硬盘和一个SCSI硬盘,而你的BSD安装在IDE硬盘上,此时,你就需要指定hdbias参数为1。
rootnoverify device [hdbias]
和root类似,但是不mount该设备。这个命令用在当GRUB不能识别某个硬盘文件系统,但是仍然必须指定根设备。
setup install_device [image_device]
安装GRUB引导在install_device上。这条指令实际上调用的是更加灵活但是复杂的install指令。如果
image_device也指定了的话,则将在image_device中寻找GRUB的文件映象,否则在当前根设备中查找。
testload file
这条指令是用来测试文件系统代码的,它以不同的方式读取文件file的内容,并将得到的结果进行比较,如果正确的话,输出的`i=X,filepos=Y`中的X,Y的值应该相等,否则就说明有错误。通常这条指令正确执行的话,之后我们就可以正确无误地装载内核。
uppermem kbytes
强迫GRBU认为高端内存只有kbytes千字节的内存,GRUB自动探测到的结果将变得无效。这条指令很少使用,可能只在一些古老的机器上才有必要。通常GRUB都能够正确地得到系统的内存数量。
其中大部分命令我们不常用,建议在试验的时候,做好相应的准备和备份工作! |
|