[磁盘管理与分区]——关于分区、磁盘分区表、MBR

时间:2022-12-17 18:20:59

磁盘连接与设备文件名的关系

1. 如下图所示:

[磁盘管理与分区]——关于分区、磁盘分区表、MBR

2. 应当注意的是:系统是使用检测到的顺序来决定设备文件名的

[磁盘管理与分区]——关于分区、磁盘分区表、MBR


关于分区

1. 如何理解分区?
       我们知道一块硬盘是存储数据的。分区只是为了对这块硬盘做出更好的管理。
       不同的分区机制(MSDOS/GPT)是不同的一些分区理念。
       分区之后要进行“格式化”这块硬盘才能真正的存储数据,不同的格式化方法,就是不同的“文件系统”类型。

2. 如何理解分区以柱面为粒度?
       分区时要考虑柱面因素,分区总是结束在柱面的最后一个扇区,也就是说分区总是结束在某个柱面的254磁头63扇区。
       这就解释了为什么你要求的分区大小和实际分区大小总是有些小小的误差,例如你要分一个区是200M,操作系统在分区时考虑的是这个分区到到哪个柱面结束离你的要求误差最小。这种以柱面为粒度的分区方式肯定会有误差,误差不会超过半个柱面,一个柱面的大小是 255磁头×63扇区×512字节=7.8M


磁盘分区表partition table

1. 分区表中记录着什么?
    64bytes中分为四组记录区,每组记录区记录了该区段的起始和结束的柱面号码

2. 主分区、扩展分区、逻辑分区
    由于分区表只有64bytes,所以最多只能记录四组分区信息。这四组分区可以称为主分区(Primary)或扩展分区(Extended)。
    主分区不能再划分了,但是扩展分区可以再划分,称之为逻辑分区(logical partition)
    扩展分区的实质上是使用额外的扇区来记录分区信息

[磁盘管理与分区]——关于分区、磁盘分区表、MBR

3. 关于分区我们要知道的?
(1)所谓的"分区"实际上就是针对这64bytes的DPT来进行设置
(2)由于分区表的限制,所以主分区和扩展分区总共只能有四个
(3)由于操作系统的限制,所以扩展分区最多只能有一个
(4)逻辑分区的数量不同操作系统不一样,Linux中的SATA硬盘有11个逻辑分区(5号—15号)
(5)主分区和逻辑分区可以被格式化后来存储数据,扩展分区是不能格式化的
(6)关于分区的编号:1号—4号是预留给主分区/扩展分区的,逻辑分区从5号开始
例如:

[磁盘管理与分区]——关于分区、磁盘分区表、MBR     [磁盘管理与分区]——关于分区、磁盘分区表、MBR


两种分区机制

1. MSDOS/MBR分区机制
    MBR分区机制对分区的数量和分区的大小都有限制(IDE64,SATA16)
  (1)主分区:最多只能有4个,且大小不超过2T;主分区下不能再分了
  (2)扩展分区:相当于一个特殊的主分区,不能存数据,扩展分区下划分为逻辑分区
  (3)逻辑分区:编号无条件从"5"开始
2. GPT分区机制
  (1)对分区的数量和分区的大小没有什么限制(所以适用于大型的服务器)
  (2)但windows最多只是128GPT分区


MBR

1. 磁盘的第一个扇区(512bytes)记录了什么?
    (1)主引导记录MBR:446字节
    (2)硬盘分区表DPT:64字节
    (3)分区结束标记:2字节

[磁盘管理与分区]——关于分区、磁盘分区表、MBR

2. 操作系统是一个系统软件,那么计算机是如何找到操作系统软件并执行它的?这个过程当中MBR起到了什么样的作用?
   (1)开机时计算机主动执行的第一个程序是BIOS
   (2)BIOS会分析计算机里有哪些存储设备,假设我们设置了从硬盘引导启动,BIOS会依据用户的设置去取得开机的硬盘
   (3)到这个硬盘里面去读取第一个扇区的MBR,MBR存放着最基本的引导加载程序(Boot loader)
   (4)然后通过这个引导加载程序(grub)去加载(load)内核文件
   (5)引导加载程序是操作系统在安装在MBR上的,所以它会识别硬盘内的文件系统格式,所以能够读取内核文件
   (6)再之后就会开始操作系统的任务


关于Boot Loader

1. boot loader的主要任务:
   (1)提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能
   (2)载入内核文件:直接指向可开机的程序区段来开始操作系统
   (3)转交其他loader:将引导加载功能转交给其他loader来负责

2. 从一个例子去理解多重引导
    引导加载程序除了可以安装在MBR之外,还可以安装在每个分区的引导扇区(boot sector),这才能造就出"多重引导"的功能。如图所示:

[磁盘管理与分区]——关于分区、磁盘分区表、MBR

这个硬盘中分成了四个分区,第一、二个分区分别安装了Windows和Linux,整个引导流程是这样的:
    (1)在MBR中的引导加载程序提供了两个菜单:
        M1——直接加载Windows的内核文件
        M2——将引导加载工作转交给第二分区的启动扇区
    (2)如果用户选择M1,则直接启动Windows系统
    (3)如果用户选择M2,整个引导加载工作就会交给第二分区的启动扇区中的这个引导加载程序
    (4)这个引导加载程序加载Linux的内核文件,实现启动Linux系统

3. 由上可总结得:
   (1)每个分区都有自己的启动扇区/引导扇区(boot sector)
   (2)实际可开机的内核文件是放置到各个分区内的
   (3)loader只会认识自己系统分区内的内核文件,和别的分区的loader
   (4)loader可直接指向或者间接将引导加载工作转交给另一个loader

[磁盘管理与分区]——关于分区、磁盘分区表、MBR的更多相关文章

  1. linux 磁盘管理三部曲——(1)磁盘结构,认识分区

    最近小编整理了磁盘管理的相关知识,发现还是挺多的,所有就分了三个部分来给大家分享一下: 1.磁盘结构,认识分区 2.管理分区,文件系统格式化 3.mount挂载,/etc/fstab配置文件 这篇就先 ...

  2. 磁盘管理|df、du|分区 fdisk |格式化

    3.磁盘管理 3.1命令df ·用于查看已挂载磁盘的总容量,使用容量,剩余容量等. -i:查看inodes的使用情况 -h:使用合适的单位显示 -k:以KB为单位显示 -m:以MB为单位显示 3.1. ...

  3. 用Win7自带的磁盘管理工具给硬盘分区

    最近新买了一台笔记本,要给硬盘分几个区,心想还是用个工具方便点,于是就上网准备下个“硬盘分区魔术师”,但是看到有一篇文章介绍Win7系统也自带了硬盘分区工具,这我以前倒没听说过,试了一下,还挺方便好用 ...

  4. 磁盘管理之 raid 文件系统 分区

    第1章 RAID 磁盘阵列 1.1 使用raid的目的 1)获得更大的容量 2)让数据更安全 3)读写速度更快 1.2 raid0.raid1.raid5.raid10对比 磁头 0磁道 1扇区 前4 ...

  5. Linux学习笔记(十三)磁盘管理(一):磁盘分区

    一.查看磁盘分区使用状况 df [选项] 其中,-l是默认选项 -a 会显示出包括0字节分区在内的所有文件系统分区 -t 后须跟一个参数,这个参数为文件系统的名字,用来在系统中查找属于该文件系统的分区 ...

  6. Disk:磁盘管理之LVM和系统磁盘扩容

    简介 小伙伴们好,好久不见,今天想给大家介绍一下关于磁盘管理的方法和心得:磁盘管理可谓运维工作中的重要内容,主要包括磁盘的合理规划以及扩缩容 常用的磁盘管理方法为LVM(Logical Volume ...

  7. 解决装系统选中的磁盘采用的是GPT分区形式

    今天给服务器重装系统碰到的问题,记录一下 当时是按正常的操作:到了装系统选盘的时候是找不到盘符的,加载了raid驱动,然后顺利找到盘符,然后格式化了以前的C盘, 结果无法选中格式化后的C盘,无法下一步 ...

  8. Linux学习之十九-Linux磁盘管理

    Linux磁盘管理 1.相关知识 磁盘,是计算机硬件中不可或缺的部分磁盘,是计算机的外部存储器中类似磁带的装置,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失 ...

  9. Linux中磁盘管理与三剑客之awk初识

    昨日内容回顾 1.用两种方法实现 将文件中以 # 开头的行 把 # 去掉 sed -r 's/^ *#//g' /etc/fstab cat /etc/fstab | tr -d '^#' 2.将文件 ...

  10. linux磁盘管理(全面解析)

    目录 一:磁盘管理 1.磁盘管理作用 2.磁盘挂载顺序 3.磁盘分区 4.Linux 磁盘管理常用命令 5.磁盘分区内容 二:linux中分区的意义 三:分区的步骤与顺序 1.添加磁盘 2.查看创建新 ...

随机推荐

  1. Mysql常用命令行大全

    第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...

  2. nginx 重写 rewrite 基础及实例

    nginx rewrite 正则表达式匹配 大小写匹配 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配 -f和!-f用来判断是否 ...

  3. Codeforces Round #370 (Div. 2) B

    Description Memory is performing a walk on the two-dimensional plane, starting at the origin. He is ...

  4. Android一 流

    补充Java知识:流 java.io 四个抽象类: 字节流:InputStream OutputStream 字符流:Reader Writer 站在程序角度上,输入(读入到程序)输出(从程序写出) ...

  5. 在eclipse中将java导出为可执行文件.

    Ref: http://java.chinaitlab.com/Eclipse/812775.html and http://www.javavids.com/video/how-to-create- ...

  6. String or binary data would be truncated

    在使用Typed Dataset进行数据的插入时,会报这样的错:String or binary data would be truncated. 我碰到的原因是 数据库中字段的长度过段,插入时内容被 ...

  7. VS2005快捷键

    VS2005快捷键 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显 ...

  8. Confluence, JIRA, Fisheye

    [tools]迁移Confluence, JIRA, Fisheye   [背景] 原先的Confluence, JIRA, Fisheye都部署在一台服务器(192.168.200.203)上,导致 ...

  9. Mybatis之基于XML的增删改查

    这里先吐槽下,写的半天的东西,IE浏览器弹出调试窗口导致写的东西全部没保存,搞得我还要重新用谷歌写,思路全没了,fuck. 前面学习了下spring的DAO层,说起DAO层,那ORM肯定是少不了的,O ...

  10. 企业级分布式存储应用与实战FastDFS实现

    FASTDFS是什么 FastDFS是由国人余庆所开发,其项目地址:https://github.com/happyfish100 FastDFS是一个轻量级的开源分布式文件系统,主要解决了大容量的文 ...