linux的主分区与逻辑分区的关系


主分区和扩展分区的区别在于主分区位于硬盘的最开始,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 这个古老的硬件设计害死了不少程序员的脑细胞。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值