zoukankan      html  css  js  c++  java
  • grub命令来引导linux

    由于对linux系统的好奇,想按在机器上玩玩。昨天忙活了一晚上,最终才把linux安装好。但高兴的有点太早了,我还以为进linux就像进 windows那么简单哪,没有想到却蹦出来一个引导命令(grub),让我引导,我一看麻木了。一点也不会。没有办法我实在熬不住了,就关机睡了。今天 中午,上网查资料。把有关的命令给熟悉了一边。不过看后挺费劲的。试了几次还是不行。我就没有弄了。本打算放弃的。没有想到下午来灵感了。敲几个命令就进 了。

    这次安装让我学到了不少。下面来主要讲一下在grub下来引导linux;

    其步骤如下;

      a   进入grub的命令模式。

      b  先熟悉一下grub  的一些命令 grub>help

      c  熟悉一下cat命令

      d  root指令来指定/boot所在的分区

      e  kernel指令来指定linux的内核,及所在的分区

      f  用initrd命令来指定initrd文件

     g boot引导系统

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

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

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

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

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

    其实这个root (hd[0,n],y)是可以省略的,如果省略了,我们要在kerenl 命令中指定;我们前面已经说过 (hd[0-n],y) 硬盘分区的表示方法的用途;主要是用来指定 /boot所在的分区;

    eg:

    grub> root (hd0,0)
     

    kernel 指令,用来指定Linux的内核,及/所在的分区;

    kernel 这个指令可能初学者有点怕,不知道内核在哪个分区,及内核文件名的全称是什么。不要忘记tab键的命令补齐的应用;

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

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

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

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

    kernel /vmlinuz在这里按tab键来补齐,就看到内核全称了 ro root=/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中的文件了; 
    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> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=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_FC4 ro root=/dev/hda7

    也可以把/boot所在的分区的指定 root (hd[0-n],y)这行省掉,直接在kernel 中指定/boot所在的分区;所以就在下面的语法;

    如果是/boot和Linux的根同处一个分区;

    kernel (hd[0-n],y)/boot/vmlinuz ro root=/dev/hd[a-z]X

    比如:

    grub>kernel

    如果是/boot和Linux所在的根不在一个分区;则是;

    kernel (hd[0-n],y)/vmlinuz  ro root=/dev/hd[a-z]X
    grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7 
       [Linux-bzImage, setup=0x1e00, size=0x18e473]

    或下面的输入,以cat 出/etc/fstab内容为准;

    grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
       [Linux-bzImage, setup=0x1e00, size=0x18e473]


    initrd 命令行来指定initrd文件;

    grub> initrd /boot/initrd在这里tab 来补齐;
    grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img
       [Linux-initrd @ 0x2e1000, 0x10e685 bytes]

    如果/boot是独立的一个分区,应该是如下样子的语法;比如下面的;

    grub> initrd /initrd在这里tab 来补齐;
    grub> initrd /initrd-2.6.11-1.1369_FC4.img
       [Linux-initrd @ 0x2e1000, 0x10e685 bytes]



    boot 引导系统;

    grub>boot
     
    下面是在我机器上的命令:
    grub> cat (hd0,0)/etc/fstab
    # This file is edited by fstab-sync - see 'man fstab-sync' for details
    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

    grub> root (hd0,0)
    Filesystem type is ext2fs, partition type 0x83

    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=LABEL=/  
       [Linux-bzImage, setup=0x1e00, size=0x18e473]

    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
     
    以上也就这么多,还须自己多揣摩
  • 相关阅读:
    正则表达式学习1
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    (转)DBUS基础知识
    WakeLock的使用
    观察者模式
    Notification的使用
    Head First 设计模式之入门
    (转)Android WebView总结
    书架也是一根筋
    PendingIntent分析
  • 原文地址:https://www.cnblogs.com/simpman/p/3988730.html
Copyright © 2011-2022 走看看