zoukankan      html  css  js  c++  java
  • 文件系统——基本磁盘

    分区引导记录

    操作系统的引导过程的一个环节,系统启动时顺序 BIOS -> MBR -> DPT -> PBR-> 寻找根目录下 NTLDR(XP)/bootmgr(WIN7/Vista)/grldr(Grub)/btldr.mbr(BootLink) 等可用于引导的程序。 分区的PBR (Partition Boot Record)可以加载该分区的io.sys (dos / win9x) 或 ntldr(win2000 xp 2003) 或 bootmgr (vista / win2008 / win7) 。

    PBR (Partition Boot Record)

    PBR是各个分区自己的引导记录,又称分区引导记录,它是由FORMAT高级格式化命令写在各个分区开始处第一个扇区(比如说:主分区C:从1磁头0柱面1扇区=逻辑1扇区=绝对63扇区)开始,那么C:区逻辑1扇区就是PBR所存放的位置)的一段数据.这段数据主要由以下几个部分组成:1.占3个字节的跳转指令;2.占8个字节的操作系统厂商标识及版本号;3. 占19个字节的分区参数表(又称BPB),里面存放着对该分区进行读写操作时所必备的参数(如该分区内每扇区所包含的字节数、每簇扇区数、每个磁道的扇区数、该分区FAT份数等);4.占480个字节的DOS引导代码,它负责把DOS引导文件IO.SYS、MSDOS.SYS装入内存;5.占2个字节的结束标志字; 以上5个部分也正好占1个扇区 512字节,位于每个非扩展主分区及每个逻辑分区的第一个扇区;可存放小段程序。 和MBR有所不同的是:PBR扇区后面一般就紧接着存放该分区的FAT。硬盘的第一(lba 0)扇区后面空白若干扇区不用(xp默认留62扇区,vista和win7默认留1M),然后才是各个分区。

    我们知道硬盘MBR负责总管硬盘分区,只有分区工具才能对它进行读写;而PBR则负责管理某个具体的分区,它是用操作系统的高级格式化命令来写入硬盘的。在系统启动时,最先读取的硬盘信息是MBR,然后由MBR内的主引导程序读出PBR,最后才由PBR内的DOS引导代码读取操作系统的引导程序,其中任何一个环节出了问题,操作系统都无法正常启动成功,如果是MBR部分出了问题,即使只是"55AA"标志字丢失或被改为其他值,通常都会出现"无效分区表"、逻辑盘丢失、启动死机等现象;而如果是PBR部分出了问题,通常会出现"未格式化的分区"的错误提示。

    DBR

    DOS引导记录(DOS Boot Record)应称为OBR(OS Boot Record),意思是活动分区的PBR,即操作系统引导记录。活动分区(ActivePartition):可将所有主分区和逻辑分区中的一个标识为Active,表示系统启动时即加载运行其PBR程序的分区。

    一般单操作系统启动过程

    BIOS加载并启动保存在硬盘MBR中的引导程序,该引导程序一般在操作系统安装时写入
    MBR引导程序扫描所有分区表,找出活动分区(MBR程序只会在MBR中的分区表中查找活动分区,即Windows只能安装在主分区;Linux无此限制
    MBR引导程序加载并启动保存在活动分区PBR中的引导程序
    活动分区PBR中的引导程序加载并启动安装在其上的操作系统(例如对Win98,定位并执行io.sys;对WinXP,定位并执行 ntoskrnl.exe;对于Linux,定位并执行vmlinuz-xxx内核映像)。显然PBR引导程序与操作系统密切相关,一般在操作系统安装时写入
     
    整理 扩展分区
    扩展分区简介
    由于主分区表中只能分四个分区无法满足需求因此设计了一种扩展分区格式基本上说,
     扩展分区的信息是以链表形式存放的但也有一些特别的地方.
    首先主分区表中要有一个基本扩展分区项所有扩展分区都隶属于它,也就是说其他所有扩展
    分区的空间都必须包括在这个基本扩展分区中对于DOS / Windows 来说扩展分区的类型为 0x05(EXTENDX). 除基本扩展分区以外的其他所有扩展分区则以链表的形式级联存放,后一个扩展分区的数据项记录在前一个扩展分区的分区表中但两个扩展分区的空间并不重叠.扩展分区类似于一个完整的硬盘必须进一步分区才能使用但每个扩展分区中只能存在一个其他分区此分区在 DOS/Windows 环境中即为逻辑盘因此每一个扩展分区的分区表 (同样存储在扩展分区的第一个扇区中)中最多只能有两个分区数据项(包括下一个扩展分区的数据项).
           扩展分区的分区表存放在该分区的第一个扇区中它的结构与硬盘的BOOTSETOR基本相同,
    只是没有主引导纪录,即该扇区的0-0X1BD的数据是无效的,另外它的分区表只有前面两项是有效
    的。他的最后两个字节也是合法性检测标志即55AA
           下面是扩展分区的结构示意图
     
  • 相关阅读:
    mysql命令集锦
    linux 删除文件名带括号的文件
    linux下的cron定时任务
    struts2文件下载的实现
    贴一贴自己写的文件监控代码python
    Service Unavailable on IIS6 Win2003 x64
    'style.cssText' is null or not an object
    "the current fsmo could not be contacted" when change rid role
    远程激活程序
    新浪图片病毒
  • 原文地址:https://www.cnblogs.com/johnnyflute/p/3511573.html
Copyright © 2011-2022 走看看