现在的位置: 首页 > 综合 > 正文

GNU GRUB 2:系统引导器的领导者

2012年11月14日 ⁄ 综合 ⁄ 共 2815字 ⁄ 字号 评论关闭

GNU GRUB 2 是相对于其前身GNU GRUB LEGACY(GNU GRUB 0.97)而言的。目前仍处于不断开发阶段,最新版本为:grub-1.97.1.tar.gz-2009-11-09

 

基本知识

设备名:(hdm):m为从0开始,表示第一个硬盘

设备分区:(hdm,n):m为从0开始,表示第一个硬盘。在grub 2 中,n从1开始,表示第一个分区,而不再是传统grub 的0。据me的分析:此举是为了统一 和命令 liunx 中对 root参数的分区表示??!

 

 

GRUB 2和 GRUB LEGACY 的 命令区别

  • kernel命令被弃用,被linux、linux16、multiboot替换
  • 添加了变量的概念:之前很多的命令被设置相应的变量的方式替换,最明显的有:root、default、debug;与之配合,添加了:set、unset命令
  • 添加了模块的概念:配合的命令有:insmod、rmmod、lsmod
  • 添加虚拟设备支持:loopback
  • 减少了网络支持功能:
  • 增加了文件处理功能:ls、search
  • 规范了命令、变量的命名:如color命令被两个新的变量menu_color_normal 和 menu_color_highlight 替换

 

Command

GRUB Legacy

GRUB 2

Comments

Group

 

blocklist

yes

yes

 

 

boot

yes

yes

 

 

bootp

yes

no

network support is missing

 

cat

yes

yes

 

 

chainloader

yes

yes

ex. of use chainloader (hd0,1)+1

 

cmp

yes

yes

 

 

color

yes

replaced

now two variables (menu_color_{normal,highlight})

 

configfile

yes

yes

default file is /grub.cfg

Menu only

 

debug

yes

replaced

now a variable

 

default

yes

yes

now a variable

 

device

yes

replaced

replaced with loopback

 

dhcp

yes

no

network support is missing

 

displayapm

yes

no

maybe useless

 

displaymem

yes

replaced

replaced by lsmmap

 

embed

yes

no

unnecessary

 

fallback

yes

replaced

now a variable

Menu only

 

find

yes

replaced

replaced with search

 

fstest

yes

no

how useful? "debug" variable should be enough

 

geometry

yes

no

ls should suffice

 

halt

yes

yes

 

 

help

yes

yes

 

 

hiddenmenu

yes

replaced

see Hiddenmenu

Menu only

 

hide

yes

replaced

Now a part of parttool

 

ifconfig

yes

no

network support is missing

 

impsprobe

yes

no

useless

 

initrd

yes

yes

 

 

insmod

no

yes

Insert a module

 

install

yes

no

unnecessary

 

ioprobe

yes

no

useless

 

kernel

yes

replaced

replaced with multiboot, linux, etc.

 

keystatus

no

yes

Check key modifier status

 

linux

no

yes

Load a 32-bit linux kernel

 

linux16

no

yes

Load a 16-bit zImage (Memtest86+)

 

lock

yes

replaced

Implemented differently

 

loopback

no

yes

Make a device from a file

 

ls

no

yes

 

 

lsmod

no

yes

List modules

 

makeactive

yes

replaced

Now a part of parttool

 

map

yes

replaced

replaced by drivemap

 

md5crypt

yes

no

should be implemented as a utility

 

module

yes

yes

 

 

modulenounzip

yes

no

should be merged into module

 

multiboot

no

yes

Load a multiboot kernel

 

pager

yes

replaced

now a variable

 

partnew

yes

no

Usefull to create/manage partitions without additional programs

 

parttype

yes

replaced

Now a part of parttool

 

password

yes

yes

Required for security

 

pause

yes

no

how useful?

 

quit

yes

no

synonym of halt or reboot?

rarp

yes

no

used?

read

yes

replaced

replaced with dump

reboot

yes

yes

 

rescue

no

yes

Enter rescue mode

rmmod

no

yes

Remove a module

root

yes

replaced

now a variable

rootnoverify

yes

no

useless

savedefault

yes

replaced

replace by load_env/save_env

search

no

yes

Search devices by a file or a filesystem label

serial

yes

yes

 

set

no

yes

Set a variable

setkey

yes

no

useful

setup

yes

no

unnecessary

terminal

yes

yes

timeout support is missing

terminfo

yes

yes

not completed yet

testload

yes

no

how useful?

testvbe

yes

replaced

replaced with videotest (there is also vbetest command for vbe specifics)

tftpserver

yes

no

network support is missing

timeout

yes

yes

 

Menu only

title

yes

yes

shortcut support would be nice

Menu only

unhide

yes

replaced

Now a part of parttool

unset

no

yes

Unset a variable

uppermem

yes

no

evil necessity!

vbeprobe

yes

replaced

replaced with vbeinfo

抱歉!评论已关闭.