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


    http://xu3stones.blog.163.com/blog/static/205957136201210309424303

    主分区,扩展分区,逻辑分区,活动分区,系统分区,启动分区。。。。。。。。。
    主引导扇区,MBR,bootloader。。。。。。。。。。
    各种概念,你都清楚什么意思吗?
    花了一天的时间终于研究清楚了,网上好多帖子的解释都是错的,或者没有深入到本质,都是什么C盘啊,D盘啊,都被windows洗脑了。浪费了好好长时间。

    主分区:实际上在早期的硬盘分区中并没有主分区、扩展分区和逻辑分区的概念,每个分区的类型都是主分区。由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计只能存储4个分区的数据。也就是说,一块物理硬盘只能划分为4个逻辑磁盘。在具体的应用中,4个逻辑磁盘往往不能满足实际需求。为了建立更多的逻辑磁盘供操作系统使用,引入了扩展分区和逻辑分区,并把原来的分区类型称为主分区。

    扩展分区:上面说了,4个分区显然不能满足需求,但是物理硬件限制只能有4个分区怎么办呢?所以操作系统开始出马了,把其中一个主分区命名为扩展分区,记住只是命名哦,原则上扩展分区和主分区是一样的,只不过功能不同。下面说完逻辑分区,你就懂我在说什么了。

    逻辑分区:4个分区肯定不够,我想要20个分区,怎么办呢?把其中一个主分区变成扩展分区,然后在这个扩展分区上进行切割,变成一个个D盘,E盘,F盘什么的,但是这些盘综合起来就是一个扩展分区,这些盘是相互链接的,并不像主分区那样,4个之间相互独立互不干扰。逻辑分区用链表进行链接,如果E盘中的分区信息丢掉,操作系统就找不到F盘了。


    硬盘的那些事 - Xorrlei - 徐磊的技术博客
    启动分区:很简单,存放操作系统文件的的分区,比如你装了2个系统:win7+linux那么你就2个启动分区。装的是windows的话就看windows文件夹(system32文件)存放在那个区,哪个区就是你的启动分区,默认装C盘,你也可以装F盘等。装的是Linux的话就看 / 分区装在哪,哪就是启动分区。

    系统分区:存放Ntldr程序或者Grub程序的分区,windows通常装在C盘,linux通常装载/boot分区

    活动分区:活动分区是主分区,活动分区是系统分区,每次PC启动时,一块硬盘只能有一个活动分区,如果要启动windows就将windows的系统分区设为活动分区,计算机就会去那里装载引导程序(Ntldr或者Grub)并执行,如果要启动Linux就将Linux的系统分区设为活动分区。

    硬盘的那些事(主分区、扩展分区、逻辑分区、活动分区、系统分区、启动分区、引导扇区、MBR等) - Xorrlei - 徐磊的技术博客
    看到没?上图是我的硬盘分区情况,我的win7装在C盘,即我的windows文件夹在C盘,所以C盘是启动分区;但是我把Grub装到Z盘去了,即引导程序Ntldr.   boot.ini什么的,所以Z盘是系统分区。。。。。又由于我当前启动的时win7系统,所以win7的系统分区也是活动分区。

    各位童鞋应该都明白了吧~~~~~
     下面讲一讲启动的事情
     

    主引导扇区:每块硬盘,对,每块硬盘不是每个分区,都只有一个主引导扇区,即该硬盘0号柱面,0号磁头的第一个扇区,大小为512字节。主引导扇区包含的MBR(硬盘主引导记MBR占446bytes)、DPT(分区表DP占64bytes)、MN(硬盘有效标志Magic Numbe占2byte。AA和55被称为幻数(Magic Number),BOIS读取MBR的时候总是检查最后是不是有这两个幻数,如果没有就被认为是一个没有被分区的硬盘),这3个区域是操作系统无关的,在每块硬盘上都存在;MBR是一段可执行程序,由各个操作系统写入不同的代码。MBR的存储空间限制为446字节,MBR所做的唯一的事情就是装载第二引导装载程序。Windows产生的MBR装载运行PBR;GRUB产生的MBR装载运行grldr

    MBR:正如上面所说的那样,它是一段程序,长度为446字节,作用是加载bootloader的。
  • 相关阅读:
    我的利器
    老树新芽——矩估计遇到神经网络
    QuantLib 金融计算——数学工具之随机数发生器
    《Implementing QuantLib》译后记
    c# 大批量用户访问数据库报错
    阿里云redis映射到阿里云服务器
    C# 输出字符串到文本文件中
    SQL Server 怎么在分页获取数据的同时获取到总记录数
    C# 当前 .NET SDK 不支持将 .NET Core 2.1 设置为目标。请将 .NET Core 2.0 或更低版本设置为目标,或使用支持 .NET Core 2.1 的 .NET SDK 版本。
    c# 项目之间循环引用vs弹窗提醒
  • 原文地址:https://www.cnblogs.com/wincai/p/5482301.html
Copyright © 2020-2023  润新知