关于GRUB

  不小心在Windows状态下把Linux盘给格了,得启是进入GRUB,引导出错,于是复习一下GRUB的命令集

  其实大可在DOS状态下,用fdisk /mdr 或 fixmdr 或 fixboot,修复一下,搞掉MDR,但是有时这些命令用不了,比如某个DOS不存在这个命令,以甚到"Invalid switch --MDR"……

  grub无法引导,只好手动加载内核和启动:
让我们输入 root 分区。在提示中输入 root,但不要按 Enter 键:
grub> root (
现在,按一次 Tab 键。如果系统中有多个硬盘,GRUB 将显示可能完成的列表,从 "hd0" 开始。如果只有一个硬盘,GRUB 将插入 "hd0,"。如果有多个硬盘,继续进行,在 ("hd2") 中输入名称并在名称后紧跟着输入逗号,但不要按 Enter 键。部分完成的 root 命令看起来如下:
grub> root (hd0,
现在,继续操作,再按一次 Tab 键。GRUB 将显示特定硬盘上所有分区的列表,以及它们的文件系统类型。在我的系统中,按 Tab 键时得到以下列表:
grub> root (hd0, (tab)
Possible partitions are:
Partition num: 0, Filesystem type is ext2fs, partition type 0x83
Partition num: 1, Filesystem type unknown, partition type 0x82
Partition num: 2, Filesystem type unknown, partition type 0x7
Partition num: 4, Filesystem type is reiserfs, partition type 0x83
Partition num: 5, Filesystem type is reiserfs, partition type 0x83
如您所见,GRUB 的交互式硬盘和分区名称实现功能非常有条理。这些,只需要好好理解 GRUB 新奇的硬盘和分区命名语法,然后就可以继续操作了。
装入内核
从软盘启动grub
  制作启动盘后可以用软盘启动引导硬盘上的操作系统 插入制作好的启动软盘,进入
BIOS设定软盘启动。软盘启动成功后就会进入grub的命令行模式
grub>
  要启动一个操作系统,首先指定引导哪个分区上的系统,例如要引导指第一个硬盘
上的第一个分区的操作系统,先键入
grub>root (hd0,0)
  接着如果要启动的是Windows系统,键入
grub>chainloader (hd0,0)+1
  注意(hd0,0)要随着硬盘和分区的不同而改变数字。 如果要引导Linux或其他系统,
应键入
grub>kernel (hd0,0)/boot/vmlinuz root=/dev/hda1
  注意hda1参数也要随着硬盘和分区的不同而改变,如从第二个硬盘的第一个分区引
导则用hdb1。
  最后敲入boot就可以启动系统了。
  在任何时候不能确定命令或者命令的参数都可以按Tab获得相关的帮助。用上下键可
以获得命令的历史记录。 其实这些命令就是menu.lst的启动描述,您也可以根据那些描
述来自己键入启动命令,最后敲入boot就可以引导系统了。
  而后Clear MBR 0.9 ,安装直接运行执行“Clear MBR”即可。

命令索引:

background 设置图形模式下的背景色。
blocklist 输出文件的块清单标记。
boot 引导已加载的操作系统或扇区链式加载器。
bootp 通过BOOTP初试化网络设备。
cat 显示指定文件的内容。
chainloader 加载扇区链式加载器。
clear 清屏幕。
cmp 比较两个文件, 并且报告两者之间的不同的信息。
color 改变菜单的颜色。
configfile 将指定文件作为配置文件予以加载。
debug 打开/关闭除错模式。
default 把 NUM 项菜单设为缺省值。
device 声明BIOS驱动器对应的实际物理设备。
dhcp 通过DHCP初试化网络设备。
displayapm 显示 APM BIOS 的相关信息。
displaymem 显示 GRUB 所判断到的当前系统的内存分布,包括所有物理内存区域。
dump 显示诸多文件的内容。
embed 如果设备是个驱动器, 则将Stage 1.5嵌入到主引导扇区之后。
fallback 如果调用当前的菜单项时出现错误,则转移到 NUM 项后重试
find 在所有分区上查找文件名, 并显示包含该文件的设备。如果设置了参数 --set-root,则在找到第一个匹配后马上停止,并且把该设备设为根。
fontfile 指定中文字体文件,并切换到简体中文显示方式。
foreground 设置图形模式下的前景色。
fstest 切换文件系统的试验模式。
geometry 输出驱动器的相关信息。
gfxmenu 使用 FILE 中的图形菜单。
halt 关闭系统。
help 显示内部命令的帮助信息。
hiddenmenu 隐藏菜单。
hide 通过在分区类型上置隐藏标志,隐藏指定分区。
ifconfig 指定 IP 地址, 子网掩码, 网关和服务器地址。不带参数时,将显示当前的网络配置。
impsprobe 通过一些循环操作,侦测出符合 Intel 多处理器规范 1.1/1.4 的 CPUs,以便于发挥其更好的效能。
initrd 加载Linux格式的初始化虚拟盘, 并设置必要的参数。
install 安装STAGE1到指定设备上,安装加载STAGE2需要的块列表到STAGE2上。
ioprobe 侦测指定设备的 I/O 端口号。
kernel 尝试载入主引导影像文件。
lock 如果用户未被认证,则终止命令的执行。
makeactive 将 root 设备置为活动分区。
map 对设备进行映射。
md5crypt 产生一个 MD5 格式的密码。
module 对多重启动影像, 加载启动模块文件 (不处理该文件的内容, 用户必须自己确定核心的要求)。
modulenounzip 与 'module' 类似, 但是自动禁用了解压缩。
pager 没有参数时,切换页模式。
partnew 创建一个新的主分区。
parttype 改变指定分区(PART)的分区类型(TYPE)。
password 设置密码。
pause 终止命令的运行,并给出一段信息。任意键按下后,将继续。
portmap 进行端口映射。
quit 从 GRUB 命令行中退出。
rarp 用 RARP 初始化网络设备。
read 从内存的指定位置读取一个 32-bit 的值,并以十六进制形式显示出来。
reboot 重启系统。
root 设置根分区。
rootnoverify 类似`root'指令, 但不测试安装该分区。这用于有些系统装在 GRUB 能访问的磁盘区之外, 但仍需要设置正确的根分区的情况。有些需要安装分区才能确定的参数可能会有问题。
run 运行一个为光盘启动而设计的引导文件(非模拟方式的)
savedefault 将当前项设置为默认的引导项。
scdrom 寻找系统的第一个 CD-ROM 驱动器,然后为其分配一个驱动器号以备后续使用(--install)。或者,用该驱动器中的可引导光盘启动系统。(--boot)。
serial 初始化一个串口设备。
setkey 改变键盘映射关系。
setup 自动安装GRUB.
splashimage 图形模式下载入背景图片文件。
terminal 选择一个终端。
terminfo 指定终端的功能。
testload 以多种不同的方式读取文件(由FILE指定)的整个内容,并予以比较,以测试文件系统的代码。
testvbe 测试所指定(MODE)的 VBE 模式。
tftpserver 指定 TFTP 服务器的 IP 地址。
timeout 设置在自动启动缺省菜单前所等待的秒数。
title 命名菜单项。
unhide 通过清除隐藏标志,解除指定分区(PARTITION)的隐藏。
uppermem 强制指定仅有(KBYTES) KB 的上位内存。
vbeprobe 侦测 VBE 的信息。

blocklist

用法: blocklist FILE
描述:
输出文件的块清单标记。

boot

用法: boot
描述:
引导已加载的操作系统或扇区链式加载器。

bootp

用法: bootp [--with-configfile]
描述:
通过BOOTP初试化网络设备。如果使用了`--with-configfile'参数,此命令将会试图去加载一个特定的配置文件。

cat

用法: cat FILE
描述:
显示指定文件的内容。

chainloader

用法: chainloader [--force] FILE
描述:
加载扇区链式加载器。若使用了--force参数, 则忽略该扇区的启动标识的有效性。

cmp

用法: cmp FILE1 FILE2
描述:
比较两个文件, 并且报告两者之间的不同的信息。

color

用法: color NORMAL [HIGHLIGHT]
描述:
改变菜单的颜色。Normal 用于指定菜单项的未选中时的颜色,HIGHLIGHT 则用于指定菜单项的被选中时的颜色。如果你未指定 HIGHLIGHT 色,那么我们将使用 NORMAL 的反色值。颜色值的格式是 "FG/BG"。FG 和 BG 是颜色的名称,如下:black(黑), blue(蓝), green(绿), cyan(青), red(红), magenta(粉红), brown(棕), light-gray(亮灰),dark-gray(暗灰), light-blue(浅蓝), light-green(淡绿), light-cyan(淡青), light-red(明红), light-magenta(浅红), yellow(黄) 和 white(白)。注意,BG 的值只能是前八个。另外,若想使用闪烁的前景色,你在 FG 前使用前缀 "blink-" 即可。

configfile

用法: configfile FILE
描述:
将指定文件作为配置文件予以加载。

debug

用法: debug
描述:
打开/关闭除错模式。

default

用法: default [NUM | `saved']
描述:
把 NUM 项菜单设为缺省值。

device

用法: device DRIVE DEVICE
描述:
声明BIOS驱动器对应的实际物理设备。这条命令只用于grub命令行。

portmap

用法: portmap prog_number vers_number
描述:
进行端口映射。

dhcp

用法: dhcp
描述:
通过DHCP初试化网络设备。

splashimage

用法: splashimage FILE
描述:
图形模式下载入背景图片文件。

foreground

用法: foreground RRGGBB
描述:
设置图形模式下的前景色。RR 代表红色, GG 代表绿色, BB 代表蓝色。注意他们都使用十六进制的值。

background

用法: background RRGGBB
描述:
设置图形模式下的背景色。RR 代表红色, GG 代表绿色, BB 代表蓝色。注意他们都使用十六进制的值。

clear

用法: clear
描述:
清屏幕。

displayapm

用法: displayapm
描述:
显示 APM BIOS 的相关信息。

displaymem

用法: displaymem
描述:
显示 GRUB 所判断到的当前系统的内存分布,包括所有物理内存区域。

dump

用法: dump FROM TO
描述:
显示诸多文件的内容。注意,FROM 所指定的必须是一个 GRUB 文件,TO 所指定的必须是一个 OS 文件。

embed

用法: embed STAGE1_5 DEVICE
描述:
如果设备是个驱动器, 则将Stage 1.5嵌入到主引导扇区之后。如果是个FFS分区, 则可嵌入到该设备饿`引导代码'区中。并输出 Stage 1.5所占的扇区数。

fallback

用法: fallback NUM
描述:
如果调用当前的菜单项时出现错误,则转移到 NUM 项后重试

find

用法: find [--set-root] FILENAME
描述:
在所有分区上查找文件名, 并显示包含该文件的设备。如果设置了参数 --set-root,则在找到第一个匹配后马上停止,并且把该设备设为根。

fstest

用法: fstest
描述:
切换文件系统的试验模式。

gfxmenu

用法: gfxmenu FILE
描述:
使用 FILE 中的图形菜单。

geometry

用法: geometry DRIVE [CYLINDER HEAD SECTOR [TOTAL_SECTOR]]
描述:
输出驱动器的相关信息。在grub壳程序中, 你可以用这条命令设置驱动器参数为任意值。如果你省略了总扇区数, 则该值缺省有其它参数决定。

halt

用法: halt [--no-apm]
描述:
关闭系统。如果APM(高级电源管理)功能存在,将使用 APM BIOS 关闭系统,除非指定了 `--no-apm' 选项。

help

用法: help [--all] [PATTERN ...]
描述:
显示内部命令的帮助信息。要查看所有命令的帮助,请使用 `--all' 参数。

hiddenmenu

用法: hiddenmenu
描述:
隐藏菜单。

hide

用法: hide PARTITION
描述:
通过在分区类型上置隐藏标志,隐藏指定分区。

ifconfig

用法: ifconfig [--address=IP] [--gateway=IP] [--mask=MASK] [--server=IP]
描述:
指定 IP 地址, 子网掩码, 网关和服务器地址。不带参数时,将显示当前的网络配置。

impsprobe

用法: impsprobe
描述:
通过一些循环操作,侦测出符合 Intel 多处理器规范 1.1/1.4 的 CPUs,以便于发挥其更好的效能。

initrd

用法: initrd FILE [ARG ...]
描述:
加载Linux格式的初始化虚拟盘, 并设置必要的参数。

install

用法: install [--stage2=STAGE2_FILE] [--force-lba] STAGE1 [d] DEVICE STAGE2 [ADDR] [p] [CONFIG_FILE] [REAL_CONFIG_FILE]
描述:
安装STAGE1到指定设备上,安装加载STAGE2需要的块列表到STAGE2上。如果使用了选项'd', STAGE1总是试图使用安装STAGE2的驱动器, 而不是启动盘。STAGE2将加载在指定地址上, 如果未声明地址, 则自动检测。如果使用了选项 'p' 或给出了配置文件, 将修改STAGE2的第一个数据块, 修正实际Stage2启动时使用的配置文件位置。对于Stage 1.5, 该值为Stage 2的路径。如果安装的是Stage 1.5, 且指定了实际配置文件, 则将该配置文件路径写入Stage2中。

ioprobe

用法: ioprobe DRIVE
描述:
侦测指定设备的 I/O 端口号。

kernel

用法: kernel [--no-mem-option] [--type=TYPE] FILE [ARG ...]
描述:
尝试载入主引导影像文件。其它项将被作为内核的命令行参数而传递给内核。使用此命令以前,内核所用到的模块应该被重新载入。参数 --type 用于说明内核的类型,包括 "netbsd", "freebsd", "openbsd", "linux", "biglinux" 和 "multiboot"。参数 --no-mem-option 用于说明不必自动传递 Linux 的内存参数。

lock

用法: lock
描述:
如果用户未被认证,则终止命令的执行。

makeactive

用法: makeactive
描述:
将 root 设备置为活动分区。当然,此命令只对 PC 的硬盘主分区有效。

map

用法: map [--status] [--hook] [--unhook] [--rehook] [[--read-only] [--fake-write] [--unsafe-boot] [--disable-chs-mode] [--disable-lba-mode] [--heads-per-cylinder=H] [--sectors-per-track=S] TO_DRIVE FROM_DRIVE]
描述:
对设备进行映射。这对于扇区链式引导是很有用的功能,比如 DOS。这里,目的驱动器(TO_DRIVE)可以是一个磁盘文件,即使用磁盘虚拟功能。注意,这要求磁盘文件是连续存放于分区中的。另外,若使用了 --read-only 参数,该功能将使`磁盘'处于只读;若使用了 --fake-write 参数,该功能将使`磁盘'处于假写,即可以"写入"数据,但是却并未记录到真实磁盘上; 若使用了 --unsafe-boot 参数,该功能将使`磁盘'处于真实可写; 若使用了 --disable-chs-mode 参数,CHS 访问功能将被禁用; 若使用了 --disable-lba-mode 参数, LBA访问功能将被禁用; H 和 S 指定了虚拟磁盘的物理参数。若使用了 --status, --hook, --unhook,--rehook 诸参数之一, 那么其它的命令行参数将被忽略。

md5crypt

用法: md5crypt
描述:
产生一个 MD5 格式的密码。

module

用法: module FILE [ARG ...]
描述:
对多重启动影像, 加载启动模块文件 (不处理该文件的内容, 用户必须自己确定核心的要求)。剩余参数作为`模快命令行`传递, 象`kernel'命令一样。

modulenounzip

用法: modulenounzip FILE [ARG ...]
描述:
与 'module' 类似, 但是自动禁用了解压缩。

pager

用法: pager [FLAG]
描述:
没有参数时,切换页模式。如果使用了 FLAG 参数,那么它为`on' 时为开启, 为 `off' 时为关闭。

partnew

用法: partnew PART TYPE START LEN
描述:
创建一个新的主分区。START 为起始扇区号,LEN 为其包含的扇区数,TYPE 为其分区类型。

parttype

用法: parttype PART TYPE
描述:
改变指定分区(PART)的分区类型(TYPE)。

password

用法: password [--md5] PASSWD [FILE]
描述:
设置密码。当其处于菜单文件的首项时,将禁用所有的交互式菜单编辑功能,包括编辑菜单项(`e`)/进入命令行(`c`)。当正确输入密码 (由PASSWD指定)后,载入新的菜单文件(由FILE指定)。如果你没有指定 FILE 项,那么上述被禁用的功能将被启用了。当然,你也可以将此命令用到某个菜单项里,用以提高系统安全性。参数 --md5 说明密码(PASSWD)是使用md5crypt 加密的。

pause

用法: pause [MESSAGE ...]
描述:
终止命令的运行,并给出一段信息。任意键按下后,将继续。

quit

用法: quit
描述:
从 GRUB 命令行中退出。

rarp

用法: rarp
描述:
用 RARP 初始化网络设备。

read

用法: read ADDR
描述:
从内存的指定位置读取一个 32-bit 的值,并以十六进制形式显示出来。

reboot

用法: reboot
描述:
重启系统。

fontfile

用法: fontfile FILE
描述:
指定中文字体文件,并切换到简体中文显示方式。

scdrom

用法: scdrom [--install], [--bootcd]
描述:
寻找系统的第一个 CD-ROM 驱动器,然后为其分配一个驱动器号以备后续使用(--install)。或者,用该驱动器中的可引导光盘启动系统。(--boot)。

run

用法: run FILE
描述:
运行一个为光盘启动而设计的引导文件(非模拟方式的)

root

用法: root [DEVICE [HDBIAS]]
描述:
设置根分区。设置根分区为指定设备(DEVICE), 然后尝试挂接该分区以得到分区大小(用于在ES:ESI中传递, 扇区链式启动方式要求这样)。BSD 驱动类型用于启动 BSD 的核心启动), 和确定 BSD 子分区所在的 PC 分区。可选的磁盘偏移参数, 用于 BSD 核心确定有多少个控制器在当前控制器前。比如: 假设同时有一个IDE和SCSI盘, 而BSD根分区在 SCSI盘上, 那么磁盘偏移就为1。

rootnoverify

用法: rootnoverify [DEVICE [HDBIAS]]
描述:
类似`root'指令, 但不测试安装该分区。这用于有些系统装在 GRUB 能访问的磁盘区之外, 但仍需要设置正确的根分区的情况。有些需要安装分区才能确定的参数可能会有问题。

savedefault

用法: savedefault
描述:
将当前项设置为默认的引导项。

serial

用法: serial [--unit=UNIT] [--port=PORT] [--speed=SPEED] [--word=WORD] [--parity=PARITY] [--stop=STOP] [--device=DEV]
描述:
初始化一个串口设备。UNIT 用于指定要使用的串口设备 (如,0 == COM1); PORT 用于指定端口号; SPEED 用于指定通讯的数率; WORD 为字长; PARITY 为奇偶类型(取 `no', `odd' 和 `even' 之一的值。); STOP 是停止位的长度值; 选项 --device 仅用于命令行模式,用以指定 tty 设备的文件名。默认值是这样的,COM1, 9600, 8N1。

setkey

用法: setkey [TO_KEY FROM_KEY]
描述:
改变键盘映射关系。把FROM_KEY映射为TO_KEY。这里的键必须是字母, 数字, 和以下特殊键: escape(转义), exclam(!), at(@), numbersign(#), dollar($), parenright ()) , caret(^), ampersand(&), asterisk(*), plus(+), percent(%), minus(-), underscore(_), equal(=), parenleft[(], backspace(退格), tab(制表), bracketleft([), braceleft({), bracketright(]), braceright(}), enter(回车), control(控制), semicolon(;), colon(:), quote('), doublequote("), slash(/), backquote(`), tilde(~), shift(换档), backslash(\), bar(|), comma(,), less(<), period(.), greater(>), question(?), alt(交互), space(空格), capslock(大写), Fx(功能键) 和 delete(删除)。

setup

用法: setup [--prefix=DIR] [--stage2=STAGE2_FILE] [--force-lba] INSTALL_DEVICE [IMAGE_DEVICE]
描述:
自动安装GRUB. 这条命令使用更灵活的install命令将GRUB安装到指定设备上。如果给出了映象设备,将在该设备寻找GRUB,否则使用缺省的根设备。根设备可用root指令指定。如果你确认系统的 BIOS 应该支持 LBA 模式, 但是 GRUB 却没有工作于该模式, 则请指定 `--force-lba' 参数。如若你在命令行中已安装了一次 GRUB 可是,你却无法卸载 GRUB 程序所在的分区,请指定 `--stage2' 参数。

terminal

用法: terminal [--dumb] [--no-echo] [--no-edit] [--timeout=SECS] [--lines=LINES] [--silent] [console] [serial] [hercules] [graphics]
描述:
选择一个终端。当指定了多个终端以后, 按任意键方可继续操作。如果控制台和串口都被指定了, 那么你首先在其中按下键盘的终端将被首先选中。如果没有指定任何参数, 那么此命令将显示出当前的终端设置; 参数 --dumb 用以指定一个哑终端, 否则即为 vt100 兼容型; 若使用了 --no-echo 参数, 屏幕上将不会回显输入的字符; 若使用了 --no-edit 参数, the BASH-like 的编辑功能将被禁用; 若使用了 --timeout 参数, 该命令将等待数秒钟(由SECS指定); 可使用 --lines 指定最大的行数; 可使用 --silent 选项关闭消息显示。

terminfo

用法: terminfo [--name=NAME --cursor-address=SEQ [--clear-screen=SEQ] [--enter-standout-mode=SEQ] [--exit-standout-mode=SEQ]]
描述:
指定终端的功能。如果此终端为 vt100 兼容型的,则可指定换码顺序 (即使用 \e 代表 ESC, ^X 代表控制码); 在未给任何参数的情况下,将给出当前配置信息。

testload

用法: testload FILE
描述:
以多种不同的方式读取文件(由FILE指定)的整个内容,并予以比较,以测试文件系统的代码。输出看起来会有点儿混乱,但是,如果没有错误的话,`i=X, filepos=Y' 里的 X 和 Y 最后必得相等。如果测试即告成功,下一步即可试图载入内核了。

testvbe

用法: testvbe MODE
描述:
测试所指定(MODE)的 VBE 模式。

tftpserver

用法: tftpserver IPADDR
描述:
指定 TFTP 服务器的 IP 地址。

timeout

用法: timeout SEC
描述:
设置在自动启动缺省菜单前所等待的秒数。

title

用法: title [NAME ...]
描述:
命名菜单项。

unhide

用法: unhide PARTITION
描述:
通过清除隐藏标志,解除指定分区(PARTITION)的隐藏。

uppermem

用法: uppermem KBYTES
描述:
强制指定仅有(KBYTES) KB 的上位内存。任何系统的地址变换将被取消。

vbeprobe

用法: vbeprobe [MODE]
描述:
侦测 VBE 的信息。如果指定了一个模式(MODE 不为空),则仅显示其信息。

posted on 2008-04-17 15:15  Flouse  阅读(835)  评论(0编辑  收藏  举报

导航