linux的主分区与逻辑分区的关系
2015-07-20 14:44
567 查看
主分区和扩展分区的区别在于主分区位于硬盘的最开始,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 这个古老的硬件设计害死了不少程序员的脑细胞。
主分区和扩展分区的区别在于主分区位于硬盘的最开始,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 磁盘分区,主分区,扩展分区,逻辑分区以sata接口为例
- Linux运维工程师的十个基本技能点
- 渗透测试目标操作系统
- Linux的Ext2文件系统
- linux各文件夹的作用
- mysql root 无法在 linux 本地登陆
- linux下的小工具和小常识
- 在Linux中如何安装gcc
- centos6.5更改为163的yum源
- CentOS 7.1 1503 U盘安装手记
- 如何让Linux下非root用户程序使用小于1024端口
- Linux文件类型分类
- linux下rtl8188 驱动编译 出现类似 create_proc_entry daemonize 错误问题解决
- Linux下添加新硬盘,分区及挂载
- linux 命令 连接ftp服务器
- CentOS(三)--Weblogic安装
- Linux常用命令
- linux kernel threaded irq
- Linux PCIe SSD NVME 性能调优篇
- centos 安装nodejs