主分区和扩展分区的差别在于主分区位于硬盘的最開始。MBR 扇区的位置。这个位置的数据在计算机启动时。会自己主动被 BIOS 读取而且运行,也就是说这个位置的分区表会自己主动被 BIOS 读取到内存里。这样 MBR 启动程序不须要运行什么操作就能直接获得主分区表信息。但由于 MBR 仅仅有 512 字节。分区表还要占用 4x16 字节,外加还有个 55AA 标志占用2字节,实际 MBR 能够放置能够运行的程序代码空间就仅仅有
446 字节了。

这 446 字节限制写出来的程序体积太小而不足以实现某些功能,所以这个时候系统须要使用一些 BIOS 提供的系统操作实现简单的启动工作,这个简单的代价就是 446 字节的程序不能直接读取扩展分区里面的逻辑分区的数据而且启动系统,由于扩展分区的逻辑分区表在硬盘的后部,也就是数据区里面。位置不固定须要多次查找才干找到相应的分区位置。446 字节的程序根本没办法进行操作。

并且由于还没有能进入完整的系统,所以 BIOS 提供的功能尽管非常多,但仍然不够进行某些特殊操作的功能要求。

这就是为什么 Windows 就算你安装到扩展分区,他也会在 C 盘上放上非常多东西的原因。

由于 Windows 要求 C 盘必须是主分区才干启动系统。

Linux 的 GRUB 能够安装到扩展分区是由于他用了 MBR 的 446 字节后,MBR 之后的几个闲置扇区,大概有 8k 的容量继续放他的程序,这种设计使得体积限制得到了缓解。

这样他能够继续调用硬盘特定位置的程序代码继续启动而不一定非要主分区。



综上说的基础,主分区和扩展分区基本的差别就是启动系统的问题。BIOS 这个古老的硬件设计害死了不少程序猿的脑细胞。

linux的主分区与逻辑分区的关系的更多相关文章

  1. (转)硬盘分区备忘(主分区,扩展分区和逻辑分区)以及Linux硬盘分区工具parted 介绍

    场景:最近在学习Linux的基础知识,不可避免的设计到Linux的磁盘分区,以前做过总结,但是那种总结就是复制别人的文章,总结完就不想看第二遍,所以很容易就遗忘了!清楚明白的理解分区后,我就可以在自己 ...

  2. linux 系统磁盘管理(主分区和逻辑分区)

    摘要:linux系统磁盘管理主分区和逻辑分区 1.linux系统分区应了解的常识 硬盘分区实质上是对硬盘的一种格式化,然后才能使用硬盘保存各种信息,在创建分区时,就已经设置好了硬盘的各项物理参数,指定 ...

  3. Linux主分区,扩展分区,逻辑分区的联系和区别

    主分区,也称为主磁盘分区,和扩展分区.逻辑分区一样,是一种分区类型.主分区中不能再划分其他类型的分区,因此每个主分区都相当于一个逻辑磁盘(在这一点上主分区和逻辑分区很相似,但主分区是直接在硬盘上划分的 ...

  4. [转]硬盘的那些事(主分区、扩展分区、逻辑分区、活动分区、系统分区、启动分区、引导扇区、MBR等)

    http://xu3stones.blog.163.com/blog/static/205957136201210309424303 主分区,扩展分区,逻辑分区,活动分区,系统分区,启动分区..... ...

  5. 主引导记录MBR/硬盘分区表DPT/主分区、扩展分区和逻辑分区/电脑启动过程

    主引导扇区主引导扇区位于整个硬盘的0柱面0磁头1扇区{(柱面,磁头,扇区)|(0,0,1)},bios在执行自己固有的程序以后就会jump到MBR中的第一 条指令.将系统的控制权交由mbr来执行.主引 ...

  6. 打算安装个Ubuntu双系统,遇到了些基本概念问题(主分区、活动分区、扩展分区、逻辑分区)

    和运维的同事聊天,了解到: 1.XP系统时代(老的硬盘分区形式和分区表),最多允许建4个“主分区”,为了解决这个限制,就有了“扩展分区”的概念: 2.在“扩展分区”上,我们就可以建很多的“逻辑分区”, ...

  7. (转)硬盘结构,主引导记录MBR,硬盘分区表DPT,主分区、扩展分区和逻辑分区,电脑启动过程

    硬盘结构硬盘有很多盘片组成,每个盘片的每个面都有一个读写磁头.如果有N个盘片.就有2N个面,对应2N个磁头(Heads),从0.1.2开始编号.每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电 ...

  8. linux 磁盘分区,主分区,扩展分区,逻辑分区以sata接口为例

     以sata接口(依据linux内核检測其顺序 sda,sdb...)为例, 1, 硬盘的限制,最多仅仅能设置4个分区(主分区+扩展分区),路径例如以下, /dev/sda1  /dev/sda2 ...

  9. Linux fdisk命令详解[主分区/逻辑分区创建]

    fdisk常见命令参数 -b<分区大小>:指定每个分区的大小: -l:列出指定的外围设备的分区表状况: -s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块: -u: ...

随机推荐

  1. 编写个makefile文件测试patsubst 的作用

    1 SRCS := $(wildcard *.c) 2 OBJS := $(patsubst %.c,%.o,$(SRCS) ) //把$(SRCS)中的文件.c全部换成.o文件 3 all: 4 @ ...

  2. 俯瞰spring

    [简化Java开发] 基于POJO的轻量级和最小入侵性编程: 通过依赖注入和面向接口实现松耦合: 基于切面和惯例进行声明式编程: 通过切面和模板减少样板代码: [容纳你的bean] 容器是spring ...

  3. JavaScript正则表达式-断言

    (?=reg_pattern):正前向断言 只有当字符串右侧出现匹配reg_pattern的字符时才匹配正则表达式. str = "img1.jpg,img2.jpg,img3.bmp&qu ...

  4. Spark MLlib + maven + scala 试水~

    使用SGD算法逻辑回归的垃圾邮件分类器 package com.oreilly.learningsparkexamples.scala import org.apache.spark.{SparkCo ...

  5. linux c中需要记住的东西

    1.记住常见的字符的ASCII值 a------------97     b------------98     A------------65     B------------66     空格' ...

  6. loj2274 「JXOI2017」加法

    二分一下,然后从左到右扫描,扫到左端点就把区间 push 到堆里. 每次有点不符合二分的值时,就贪心地选择右端点最远的 add. #include <algorithm> #include ...

  7. 原生js实现 table表格列宽拖拽

    查看效果 <!DOCTYPE html> <html> <head> <meta charset="gbk"> <title& ...

  8. python刷toj

    1452 import sys a , b , c = map(int,sys.stdin.readline().split()) print ((a+b+c),(a*b*c), '%.2f' %(( ...

  9. PTA 10-排序5 PAT Judge (25分)

    题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/677 5-15 PAT Judge   (25分) The ranklist of PA ...

  10. JAVA如何解压缩ZIP文档

    代码片段: package org.yu.units; import java.io.Closeable; import java.io.File; import java.io.FileInputS ...