通过GRUB命令行编辑启动Linux操作系统

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> helpblocklist FILE bootcat FILE chainloader [–force] FILEclear color NORMAL [HIGHLIGHT]configfile FILE device DRIVE DEVICEdisplayapm displaymemfind FILENAME geometry DRIVE [CYLINDER HEAD SECTOR [halt [–no-apm] help [–all] [PATTERN …]hide PARTITION initrd FILE [ARG …]kernel [–no-mem-option] [–type=TYPE] makeactivemap TO_DRIVE FROM_DRIVE md5cryptmodule FILE [ARG …] modulenounzip FILE [ARG …]pager [FLAG] partnew PART TYPE START LENparttype PART TYPE quitreboot root [DEVICE [HDBIAS]]rootnoverify [DEVICE [HDBIAS]] serial [–unit=UNIT] [–port=PORT] [–setkey [TO_KEY FROM_KEY] setup [–prefix=DIR] [–stage2=STAGE2_terminal [–dumb] [–no-echo] [–no-ed terminfo [–name=NAME –cursor-addresstestvbe MODE unhide PARTITIONuppermem KBYTES vbeprobe [MODE]如果需要得到某个指令的帮助,就在 help 后面空一格,然后输入指令,比如;

grub>help kernel

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)Possible partitions are: Partition num: 0, Filesystem type unknown, partition type 0x7 Partition num: 4, Filesystem type is fat, partition type 0xb Partition num: 5, Filesystem type is reiserfs, partition type 0x83 Partition num: 6, Filesystem type is ext2fs, partition type 0x83 Partition num: 7, Filesystem type unknown, partition type 0x83 Partition num: 8, Filesystem type is reiserfs, partition type 0x83 Partition num: 9, Filesystem type unknown, partition type 0x82

grub> cat (hd0,6)/etc/fstab 注:比如我想查看一下 (hd0,6)/etc/fstab的内容就这样输入;

LABEL=/ / ext3 defaults 1 1/dev/devpts /dev/pts devpts gid=5,mode=620 0 0/dev/shm /dev/shm tmpfs defaults 0 0/dev/proc /proc proc defaults 0 0/dev/sys /sys sysfs defaults 0 0LABEL=SWAP-hda1 swap swap defaults 0 0/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0有的弟兄可能会说,我不知道Linux安装在了哪个分区。那根据文件系统来判断一个一个的尝试总可以吧我;只要能cat出/etc/fstab就能为以后引导带来方便;

主要查看/etc/fstab中的内容,主要是Linux的/分区及/boot是否是独立的分区;如果没有/boot类似的行,证明/boot和 Linux的/处于同一个硬盘分区;比如上面的例子中LABEL=/ 这行是极为重要的;说明Linux系统就安在标签为LABEL=/的分区中;

如果您的Linux系统/boot和/没有位于同一个分区,可能cat (hd[a-n],y) 查到的是类似下面的;

LABEL=/ / ext3 defaults 1 1LABEL=/boot /boot ext3 defaults 1 2

勇气执着的背负起那厚重的行囊,奔向远方。

通过GRUB命令行编辑启动Linux操作系统

相关文章:

你感兴趣的文章:

标签云: