首页 > Linux > 通过GRUB命令行来启动Linux操作系统

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

2009年3月2日

自从改到.NET之后, PHP也忘记了, Linux也忘记了, SIGH, 前几天一个朋友的Linux的机器崩溃了, 可能是非正常退出, 然后进入不了系统, 让机房的技术支持fsck了一下之后, 应该没问题了, 谁知道他可能是直接按电源重启了, 然后就进入到了grub>的界面了,没办法了, 我去了一趟机房, 觉得从grub命令行启动一下应该没问题. 这里顺带说一下使用grub引导linux系统的过程.

对于/boot和/处于同一个硬盘分区
1) grub> cat (hd0, 6)/etc/fastab 这里用来查看分区表
这里可以通过tab键来列出当前系统的硬盘数和该硬盘下的分区列表, grub> cat (, tab出来当前硬盘, grub>cat (hd0, tab出来分区列表

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 0
LABEL=SWAP-hda1         swap                    swap    defaults        0 0
/dev/hdc                /media/cdrecorder       auto    pamconsole,exec,noauto,
managed 0 0

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

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

2) root (hd[0-n,y) 指令来指定/boot所在的分区

grub> root (hd0,6)

3) kernel命令用来制定内核及所在分区

grub> kernel /boot/在这里按tab补齐,全列出/boot所有的文件;
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4  
memtest86+-1.55.1 xen-syms xen.gz
 
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7  注:这里输入[/dev/hd[a-z]X], 或者输入标签  ro root=LABEL=/  
   [Linux-bzImage, setup=0x1e00, size=0x18e473]

4) initrd 命令行来指定initrd文件

grub> initrd /boot/在这里按tab补齐
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK
memtest86+-1.55.1 xen-syms xen.gz
 
grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img 注;输入intrd文件名的全名;
   [Linux-initrd @ 0x2e1000, 0x10e685 bytes]
 
grub> boot

如果/boot分区和linux的根分区/不在同一个分区,要把kernel和initrd中的/boot去掉.
这样完成启动了.

接下来修复GRUB
进入系统后, 进入grub命令行模式

grub> find /boot/grub/menu.lst
grub> root (hd0, 6) // 这里是/boot所在的分区
grub> setup(hd0) // 把GRUB写到MBR上

admin Linux

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.