chap3主机规划与磁盘分区

  • 在Linux系统中,每个设备都被当成一个文件来对待
    • 几乎所有的硬件设备文件都在目录/dev内
    • 常见设备文件名
      • IDE硬盘:/dev/hd[a-d]
      • SCSI/SATA/USB设备:/dev/sd[a-p]
      • 软驱:/dev/fd[0-1]
      • 打印机
        • 25针:/dev/lp[0-2]
        • USB:/dev/usb/lp[0-15]
      • 鼠标
        • USB:/dev/usb/mouse[0-15]
        • PS2:/dev/psaux
      • 当前CD ROM/DVD ROM:/dev/cdrom
      • 当前鼠标:/dev/mouse
      • 磁带机:(不同distribution可能有不同的文件名)
        • IDE:/dev/ht0
        • SCSI:/dev/st0
    磁盘连接方式与设备文件名
    • 一个IDE扁平电缆可以连接两个IDE设备,通常主机会提供两个IDE接口,分别称为IDE1(primary)、IDE2(secondary),每条电缆上由分为主设备(Master)、从设备(Slave)
      • 相应文件名

      • IDE\JumperMasterSlave
        IDE1(Primary)/dev/hda/dev/hdb
        IDE2(Secondary)/dev/hdc/dev/hdd


    • SATA/USB接口的磁盘没有一定的顺序,根据Linux内核检查到磁盘的顺序来命名
  • 磁盘
    • 主要由盘片、机械手臂、磁头与主轴马达组成
    • 数据是写在盘片上的,盘片又可以细分为扇区(Sector)与柱面(Cylinder)两种单位,其中每个扇区为512bytes
    • 磁盘的第一扇区尤为重要,它记录了磁盘的重要信息
      • 主引导分区(Master Boot Record, MBR):446bytes,可安装引导加载程序的地方
      • 分区表(partition table):64bytes,记录磁盘分区的状态
        • 磁盘文件名后面的数字与分区所在位置有关
        • “分区”实际上只是在那64bytes的磁盘空间进行操作
        • 磁盘默认只能写入四组分区信息,分区信息分为主分区(Primary)和扩展分区(Extended)
        • 分区的最小单位为柱面
        • 系统往磁盘写入数据时,一定会参考磁盘分区表,有针对性地对某个分区进行处理
        • 扩展分区的目的是用额外的扇区来记录分区信息
          • 扩展分区本身不能拿来格式化,但逻辑分区可以
          • 通过扩展分区指向的区块可以继续做分区的记录
          • 由扩展分区继续分出来的分区称为逻辑分区
            • 逻辑分区的设备名称号码是从5开始的
          • 扩展分区至多只能有一个
          • 逻辑分区的数量由操作系统和磁盘接口决定
            • 在Linux系统中,IDE硬盘最多有59个逻辑分区,SATA硬盘则由11个
          • 因为逻辑分区的信息都记录在扩展分区内,所以如果扩展分区被破坏,所有的逻辑分区都会被删除
        • 分区表就类似一个指针数组,指向分区所在的起始柱面;而扩展分区就是用额外的空间开辟新的指针数组,扩展分区就相当于二级指针,指向这个指针数组
    • 如果磁盘的第一扇区物理坏掉了,这个磁盘大概也就没有用了
    • 分区时一般把扩展分区放在磁盘的末端
  • 开机流程与主引导分区(MBR)
    • 开机流程
      • BIOS:开机主动执行的韧体,识别第一个可开机的设备
      • MBR:第一个可开机的设备的第一扇区内的主引导分区块,内含引导加载程序
      • 引导加载程序(Boot loader):可读取内核文件的软件,有以下功能:
        • 提交菜单:用户可以选择不同的开机选项,实现多重引导
        • 载入内核文件:直接指向可开机的程序区段来开始操作系统
        • 转交其他loader:将引导加载功能转交给其他loader负责,这就允许将引导加载程序安装到各个分区的引导扇区(boot sector)上,而不必安装在MBR中
      • 内核文件:开始操作系统的功能
    • BIOS和MBR由硬件支持,boot loader是操作系统安装在MBR上的一套非常小却又完美的软件
    • 多重引导
      • 先加载MBR,在菜单上选择要启动的系统
      • 接下来直接载入第一分区的系统,或者转交其他loader加载其他系统
      • 注意:
        • 实际可开机的内核文件在各个分区中
        • loader只能认识自己的系统分区内的可开机内核文件,以及其他loader
        • loader可以直接或间接将管理权转交另一个管理程序
    • 安装多重引导,最好先安装windows再安装linux
      • linux安装时,可选择将引导加载程序安装在MBR或个别分区的启动扇区(/boot),而且linux的loader可以手动设置菜单,加入windows的开机选项
      • windows安装时,会主动覆盖掉MBR以及自己所在分区的启动扇区,而没有提供手动设置菜单的功能,但是可以通过spfdisk、easybcd等软件进行引导(启动驱动器务必指向挂载/boot的分区,引导分区必须设置为挂载/boot的分区)
    • 目录树结构(directory tree)
      • 以根目录(\)为主
      • 挂载:以一个目录为进入点,进入磁盘的某个分区;这个进入点就叫挂载点
      • linux默认将光驱数据放到/media/cdrom/目录下
\00