系统引导管理器学习

   一块硬盘,它起始的一部分扇区为主引导扇区,包括MBR(主引导纪录)和DPT(分区表,您可以阅读分区概念章节中相关内容)

  每个分区起始的一部分扇区,为分区引导扇区。

  在分区引导扇区之后的部分,为文件系统的索引,文件系统通过它定位文件在硬盘上的位置。不同的文件系统采用不同的索引,例如FAT文件系统使用文件分配表和目录区。

  绝大多数操作系统,对硬盘的读写操作,通过文件系统来完成,因此引导扇区中的内容,我们不能够在文件系统中进行操作,而需要专用软件,比如引导管理器。

  我们对文件进行修改后,操作系统会将文件系统索引中的内容同步。

  系统引导流程

  系统启动时,首先引导至MBR,将控制权移交安装在MBR中的引导管理器(Windows使用NTLDR,Linux通常用Grub)

Grub主要有以下功能:
  菜单式选择
  命令行模式
  支持开机画面
  支持大硬盘

  其它的功能还有很多,就不一一介绍了。

  您可以运行命令 grub 启动它。会显示一些版本信息和使用提示,当然还有命令提示符,如下:

    GNU GRUB version 0.97 (640K lower / 3072K upper memory)

     [ Minimal BASH-like line editing is supported. For
     the first word, TAB lists possible command
     completions. Anywhere else TAB lists the possible
     completions of a device/filename. ]

    grub>

  您可以使用 TAB 键补全命令和路径,这非常重要,因为Grub中路径表示方式与操作系统是不同的,您可能比较陌生,所以尽量用TAB补全它,既方便,也不容易出错。

  您可以在 grub> 提示符后按 TAB 键,会将所有可用的命令显示出来。

  呵呵,是不是有点晕,命令可真不少啊!

  其实我们会用到的命令只有两个,

    root
    setup

在分区概念章节里,我们已经介绍了Linux系统中表示分区的方法 /dev/hda5

    /dev/hdMN M为a起始的小写字母,表示硬盘序号;N为1起始的数字,表示分区序号

  Grub中使用的表示方法为 hd0,1

    hdX,Y X为0起始的数字,表示硬盘序号;Y为0起始的数字,表示分区序号

  您得留意它们之间的区别:
  N从1开始计数,X和Y从0开始计数

  N为1~4,它是一个主分区;N为5或大于5,它是第(N-4)个逻辑分区。Y按分区在硬盘上排列的顺序排列,无论它表示的是主分区还是逻辑分区。

  举例来说:

     主 主 逻 逻 主
    /dev/hdMN hda1 hda2 hda5 hda6 hda3
    hdX,Y hd0,0 hd0,1 hd0,2 hd0,3 hd0,4

  现在我们来看 root 和 setup 命令的使用:

    grub>root (hd0,1)
    这个命令将Grub的根分区定位为 “(hd0,1)”
    grub>setup (hd0)
    这个命令表示将Grub安装在“(hd0)”,因为没有指定安装的分区,所以安装位置为MBR

  Grub的根分区 为Grub配置文件 /boot/grub/menu.lst 所在分区。假如您单独为 /boot 目录挂载了一个分区,那么Grub的根分区通常为您系统中 /boot 目录所在的分区。

  搞错了根分区,Grub就不能正确读取配置文件,自然不能正确引导。

  引导分区 ,Windows等系统的引导分区为它的安装分区,Linux系统的引导分区为它的 /boot 目录所在的分区

  系统根目录所在分区 ,Linux根目录 / 的挂载分区。Linux系统的分区挂载信息保存在文件系统分配表 /etc/fstab 文件中

  Grub首先读取根分区中的 /boot/grub/menu.lst 文件,并转到引导分区,如果是Windows等系统,则将控制权移动分区引导扇区中的启动管理器。如果是Linux系统,则加载内核和设备,并根据 /etc/fstab 文件的内容挂载文件系统。

  看这个例子:(假设Grub安装在MBR中)

    title Ubuntu
    root (hd0,0)
    kernel (hd0,1)/boot/vmlinuz-2.6.15-25-686 root=/dev/sda3 ro splash vga=0x31b
    initrd (hd0,1)/boot/initrd.img-2.6.15-25-686
    boot

  Grub的安装位置为 (hd0)

  root (hd0,0) ,这一行表示Grub的根分区为第一块硬盘的第一个分区 (hd0,0) ,它读取该分区中的配置文件 grub/menu.lst

  kernel 和 initrd 行中的 (hd0,1) ,表示当前系统的 /boot 目录挂载到第一块硬盘的第二个分区 (hd0,1)

  kernel 行的 root=/dev/sda3 ,表示当前系统的 / 目录挂载到第一块硬盘的第三个分区 (hd0,2) ,内核根据该分区中的 /etc/fstab 文件来挂载文件系统。


参考资料:www.dbaoper.com


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值