GRUB的命令.docx

上传人:b****2 文档编号:24213170 上传时间:2023-05-25 格式:DOCX 页数:21 大小:29.17KB
下载 相关 举报
GRUB的命令.docx_第1页
第1页 / 共21页
GRUB的命令.docx_第2页
第2页 / 共21页
GRUB的命令.docx_第3页
第3页 / 共21页
GRUB的命令.docx_第4页
第4页 / 共21页
GRUB的命令.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

GRUB的命令.docx

《GRUB的命令.docx》由会员分享,可在线阅读,更多相关《GRUB的命令.docx(21页珍藏版)》请在冰豆网上搜索。

GRUB的命令.docx

GRUB的命令

GRUB的命令,如果知道怎么用命令行来启动操作系统,那理解menu.lst的写法也不难;也就是说在开机的时候,不用GRUB的菜单,通过GRUB的命令也是一样能把操作系统引导起来。

因为menu.lst的内容就是GRUB的一个一个的指令集合;是不是Linux这玩意很神奇?

1、为什么需要学习GRUB的命令行;

当我们把GRUB的menu.lst写错的时候,或者丢掉了menu.lst的时,比方在开机的时候,GRUB会出现grub>类似的命令提示符,这时需要我们用命令行启动系统;当然您可以不用定义GRUB的菜单,直接用命令行来启动系统,比方我现在就是,为了写GRUB的文档,就把menu.lst删除了,直接用命令来启动系统;

2、用命令行来引导Linux操作系统的步骤;通过命令行来引导操作系统的流程,也没有什么难的;无非是把指令手工输入到grub>提示符的后面;在这个过程中,tab键的命令补齐功能就显得很重要了。

如果您不知道有哪些命令,可以输入help;

1〕进入GRUB的命令行模式grub>

如果开机时,GRUB出现的是grub>,说明你没有/etc/grub/menu.lst,您需要自己写一个才会GRUB的菜单,让我们来选择进入哪个系统。

如果有GRUB的菜单,您可以按Ctrl+c组合键进入GRUB的命令行模式,会出现grub>提示符;grub>

2〕获取帮助GRUB的help只要您在grub>提示符的后面输入help就能得到GRUB所有的命令提示;grub>help

blocklistFILE                        boot

catFILE                              chainloader[--force]FILE

clear                                 colorNORMAL[HIGHLIGHT]

configfileFILE                       deviceDRIVEDEVICE

displayapm                            displaymem

findFILENAME                         geometryDRIVE[CYLINDERHEADSECTOR[

halt[--no-apm]                       help[--all][PATTERN...]

hidePARTITION                        initrdFILE[ARG...]

kernel[--no-mem-option][--type=TYPE]makeactive

mapTO_DRIVEFROM_DRIVE               md5crypt

moduleFILE[ARG...]                 modulenounzipFILE[ARG...]

pager[FLAG]                          partnewPARTTYPESTARTLEN

parttypePARTTYPE                    quit

reboot                                root[DEVICE[HDBIAS]]

rootnoverify[DEVICE[HDBIAS]]        serial[--unit=UNIT][--port=PORT][--

setkey[TO_KEYFROM_KEY]              setup[--prefix=DIR][--stage2=STAGE2_

terminal[--dumb][--no-echo][--no-edterminfo[--name=NAME--cursor-address

testvbeMODE                          unhidePARTITION

uppermemKBYTES                       vbeprobe[MODE]如果需要得到某个指令的帮助,就在help后面空一格,然后输入指令,比方;grub>helpkernel 

3〕cat的用法;cat指令是用来查看文件内容的,有时我们不知道Linux的/boot分区,以及/根分区所在的位置,要查看/etc/fstab的内容来得知,这时,我们就要用到cat(hd[0-n],y)/etc/fstab来获得这些内容;注意要学会用tab键命令补齐的功能;grub>cat(    按tab键会出来hd0或hd1之类的;

grub>cat(hd0,注:

输入hd0,然后再按tab键;会出来分区之类的;

grub>cat(hd0,6)

Possiblepartitionsare:

  Partitionnum:

0, Filesystemtypeunknown,partitiontype0x7

  Partitionnum:

4, Filesystemtypeisfat,partitiontype0xb

  Partitionnum:

5, Filesystemtypeisreiserfs,partitiontype0x83

  Partitionnum:

6, Filesystemtypeisext2fs,partitiontype0x83

  Partitionnum:

7, Filesystemtypeunknown,partitiontype0x83

  Partitionnum:

8, Filesystemtypeisreiserfs,partitiontype0x83

  Partitionnum:

9, Filesystemtypeunknown,partitiontype0x82

grub>cat(hd0,6)/etc/fstab注:

比方我想查看一下(hd0,6)/etc/fstab的内容就这样输入

LABEL=/                /                      ext3   defaults       11

/dev/devpts            /dev/pts               devpts gid=5,mode=620 00

/dev/shm               /dev/shm               tmpfs  defaults       00

/dev/proc              /proc                  proc   defaults       00

/dev/sys               /sys                   sysfs  defaults       00

LABEL=SWAP-hda1        swap                   swap   defaults       00

/dev/hdc               /media/cdrecorder      auto   pamconsole,exec,noauto,

managed00有的弟兄可能会说,我不知道Linux安装在了哪个分区。

那根据文件系统来判断一个一个的尝试总可以吧我;只要能cat出/etc/fstab就能为以后引导带来方便;主要查看/etc/fstab中的内容,主要是Linux的/分区及/boot是否是独立的分区;如果没有/boot类似的行,证明/boot和Linux的/处于同一个硬盘分区;比方上面的例子中LABEL=/这行是极为重要的;说明Linux系统就安在标签为LABEL=/的分区中;如果您的Linux系统/boot和/没有位于同一个分区,可能cat(hd[a-n],y)查到的是类似下面的;LABEL=/                /                      ext3   defaults       11

LABEL=/boot            /boot                  ext3   defaults       12

4〕root(hd[0-n,y)指令来指定/boot所在的分区;其实这个root(hd[0,n],y)是可以省略的,如果省略了,我们要在kerenl命令中指定;我们前面已经说过(hd[0-n],y)硬盘分区的表示方法的用途;主要是用来指定/boot所在的分区;比方我们确认/boot和(hd0,6),所以就可以这样来输入root(hd0,6)grub>root(hd0,6)如果发现不对,可以重新来过;没有什么大不了的;

5〕kernel指令,用来指定Linux的内核,及/所在的分区;kernel这个指令可能初学者有点怕,不知道内核在哪个分区,及内核文件名的全称是什么。

不要忘记tab键的命令补齐的应用;

如果我们已经通过root(hd[0-n],y)指定了/boot所在的分区,语法有两个:

如果/boot和Linux的/位于同一个分区,应该是下面的一种格式;

kernel/boot/vmlinuz在这里按tab键来补齐,就看到内核全称了roroot=/dev/hd[a-z]X

如果/boot有自己独立的分区,应该是;

kernel/vmlinuz在这里按tab键来补齐,就看到内核全称了roroot=/dev/hd[a-z]X在这里root=/dev/hd[a-z]X是Linux的/根所位于的分区,如果不知道是哪个分区,就用tab出来的来计算,一个一个的尝试;或用cat(hd[0-n],y)/etc/fstab中得到Linux的/所在的分区或分区的标签;grub>kernel/boot/在这里按tab键;这样就列出/boot中的文件了; 

Possiblefilesare:

grubinitrd-2.6.11-1.1369_FC4.imgSystem.map-2.6.11-1.1369

_FC4config-2.6.11-1.1369_FC4vmlinuz-2.6.11-1.1369_FC4grubBAKmemtest86+-1.55

.1xen-symsxen.gz

grub>kernel/boot/vmlinuz-2.6.11-1.1369_FC4roroot=LABEL=/  

  [Linux-bzImage,setup=0x1e00,size=0x18e473]注解:

root=LABEL=/是Linux的/所在的分区的文件系统的标签;如果您知道Linux的/在哪个具体的分区,用root=/dev/hd[a-z]X来指定也行。

比方下面的一行也是可以的;grub>kernel/boot/vmlinuz-2.6.11-1.1369_FC4roroot=/dev/hda7也可以把/boot所在的分区的指定root(hd[0-n],y)这行省掉,直接在kernel中指定/boot所在的分区;所以就在下面的语法;如果是/boot和Linux的根同处一个分区;kernel(hd[0-n],y)/boot/vmlinuzroroot=/dev/hd[a-z]X比方:

grub>kernel如果是/boot和Linux所在的根不在一个分区;则是;kernel(hd[0-n],y)/vmlinuz roroot=/dev/hd[a-z]Xgrub>kernel(hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4roroot=/dev/hda7 

  [Linux-bzImage,setup=0x1e00,size=0x18e473]或下面的输入,以cat出/etc/fstab内容为准;grub>kernel(hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4roroot=LABEL=/

  [Linux-bzImage,setup=0x1e00,size=0x18e473]

6〕initrd命令行来指定initrd文件;grub>initrd/boot/initrd在这里tab来补齐;

grub>initrd/boot/initrd-2.6.11-1.1369_FC4.img

  [Linux-initrd@0x2e1000,0x10e685bytes]如果/boot是独立的一个分区,应该是如下样子的语法;比方下面的;grub>initrd/initrd在这里tab来补齐;

grub>initrd/initrd-2.6.11-1.1369_FC4.img

  [Linux-initrd@0x2e1000,0x10e685bytes]

7〕boot引导系统;grub>boot前面的几个步骤都弄好。

就进入引导;尝试一下就知道了。

8〕引导Linux系统实例全程回放;实例:

/boot和Linux的/处于同一个硬盘分区;grub>cat(hd0,6)/etc/fstab

#Thisfileiseditedbyfstab-sync-see'manfstab-sync'fordetails

LABEL=/                /                      ext3   defaults       11

/dev/devpts            /dev/pts               devpts gid=5,mode=620 00

/dev/shm               /dev/shm               tmpfs  defaults       00

/dev/proc              /proc                  proc   defaults       00

/dev/sys               /sys                   sysfs  defaults       00

LABEL=SWAP-hda1        swap                   swap   defaults       00

/dev/hdc               /media/cdrecorder      auto   pamconsole,exec,noauto,managed00

grub>root(hd0,6)

Filesystemtypeisext2fs,partitiontype0x83

grub>kernel/boot/在这里按tab补齐,全列出/boot所有的文件;

Possiblefilesare:

grubinitrd-2.6.11-1.1369_FC4.imgSystem.map-2.6.11-1.1369_FC4config-2.6.11-1.1369_FC4vmlinuz-2.6.11-1.1369_FC4  

memtest86+-1.55.1xen-symsxen.gz

grub>kernel/boot/vmlinuz-2.6.11-1.1369_FC4roroot=/dev/hda7 注:

输入

  [Linux-bzImage,setup=0x1e00,size=0x18e473]

grub>initrd/boot/在这里按tab补齐

Possiblefilesare:

grubinitrd-2.6.11-1.1369_FC4.imgSystem.map-2.6.11-1.1369_FC4config-2.6.11-1.1369_FC4vmlinuz-2.6.11-1.1369_FC4  

memtest86+-1.55.1xen-symsxen.gz

grub>initrd/boot/initrd-2.6.11-1.1369_FC4.img注;输入intrd文件名的全名;

  [Linux-initrd@0x2e1000,0x10e685bytes]

grub>boot我们指定Linux的根时,可以用cat出来的fstab的内容中Linux的/分区文件系统标签来替代;也就是kernel那行中root=/dev/hd[a-z]X;grub>cat(hd0,6)/etc/fstab

#Thisfileiseditedbyfstab-sync-see'manfstab-sync'fordetails

LABEL=/                /                      ext3   defaults       11

/dev/devpts            /dev/pts               devpts gid=5,mode=620 00

/dev/shm               /dev/shm               tmpfs  defaults       00

/dev/proc              /proc                  proc   defaults       00

/dev/sys               /sys                   sysfs  defaults       00

LABEL=SWAP-hda1        swap                   swap   defaults       00

/dev/hdc               /media/cdrecorder      auto   pamconsole,exec,noauto,managed00

grub>root(hd0,6)

Filesystemtypeisext2fs,partitiontype0x83

grub>kernel/boot/在这里按tab补齐,全列出/boot所有的文件;

Possiblefilesare:

grubinitrd-2.6.11-1.1369_FC4.imgSystem.map-2.6.11-1.1369_FC4config-2.6.11-1.1369_FC4vmlinuz-2.6.11-1.1369_FC4  

memtest86+-1.55.1xen-symsxen.gz

grub>kernel/boot/vmlinuz-2.6.11-1.1369_FC4roroot=LABEL=/  

  [Linux-bzImage,setup=0x1e00,size=0x18e473]

grub>initrd/boot/在这里按tab补齐

Possiblefilesare:

grubinitrd-2.6.11-1.1369_FC4.imgSystem.map-2.6.11-1.1369_FC4config-2.6.11-1.1369_FC4vmlinuz-2.6.11-1.1369_FC4grubBAK

memtest86+-1.55.1xen-symsxen.gz

grub>initrd/boot/initrd-2.6.11-1.1369_FC4.img注;输入intrd文件名的全名;

  [Linux-initrd@0x2e1000,0x10e685bytes]

grub>boot如果是/boot和Linux的根分区不在同一个分区,要把kernel和initrd指令中的/boot去掉,也就是/vmlinuzMMMMMM或/initrdNNNN也可以不用root(hd[0-n]来指定/boot所在分区,要在kernel和initrd中指定;比方Linux的/根所位于的分区和/boot所位于的分区都是(hd0,6),并且我们cat出来的/etc/fstab是Linux的/根分区的文件系统的标签为LABEL=/,引导操作系统的例子如下;grub>kernel(hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4roroot=LABEL=/

grub>initrd(hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img

grub>boot或grub>kernel(hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4roroot=/dev/hda7 

grub>initrd(hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img

grub>boot如果/boot位于/dev/hda6,也就是(hd0,5),Linux的根/位于分区/dev/hda7,并且我们cat出来的/etc/fstab中/分区的标签为LABEL=/。

下面的两种方法都可以引导;grub>kernel(hd0,5)/vmlinuz-2.6.11-1.1369_FC4roroot=LABEL=/

grub>initrd(hd0,5)/initrd-2.6.11-1.1369_FC4.img

grub>boot

或grub>kernel(hd0,5)/vmlinuz-2.6.11-1.1369_FC4roroot=/dev/hda7 

grub>initrd(hd0,5)/initrd-2.6.11-1.1369_FC4.img

grub>boot

 

 

 

 

系统引导管理器GRUB--深入学习

来源:

ChinaUnix博客 日期:

2007.07.0711:

27 (共有0条评论)我要评论

 

         GRUB软件包版本选择和安装;

1、GRUB的版本选择,Linux版本的GRUB及Windows版本的GRUB的说明;

GRUB不但有Linux版本,也有Windows版本;现我们一一介绍;

如前面所说,目前在在Unix类的操作系统中,大多是都有GRUB;GRUB几乎能引导所有X86架构的操作系统;功能之强,使用简单是GRUB最大的卖点;由于Windows操作系统的先入为主的优势,使得大家对Windows的NTLOADER了解的比较多,而对开源社区的GRUB显得有点寞生,由此而带来使用上的“心理恐惧”;究其初学者对GRUB“恐惧”的主要原因还是对GRUB没有太多的了解和深入;无论是WINGRUB还是Linux版本的GRUB,最方便的还是对GRUB命令行的操作;一谈到命令行〔Command〕的操作,可能初学者对此恐惧;其实没有什么难的,象北南这样低级的写手,还能操作得起来,您也应该能行;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1