磁盘管理
作为一个搞计算机的童鞋,帮别人的电脑分分区、重做系统是经常有的事。本文旨在介绍一下鄙人对此的一点经验,仅供参考。因水平有限,错误难免,请见谅。
- 如果你需要快速了解如何进行分区、装系统,直接跳到 解决方案 部分。
- 如果你想了解一下相关的知识,那么就听我慢慢道来:
所谓"授之于鱼不如授之于渔",本节不会枯燥地讲解如何解决问题,而是以一个不太形象却方便理解的对比引入:
磁盘就像一个国家,我们知道有时候国家大了不方便管理,所以需要分而治之;如果你的国家需要多种管理制度并存,则必然需要分区治理。把磁盘上的文件比作人的住所,分区使得一个地区的人集居在一起,方便调度(小地区更容易治理),而且不同地区相对独立,某个地区发生了暴乱可以仅治理该地区而不影响其他地区;同时如果要在多个地区之间移民则会遇到一些麻烦(搬迁住所,并在新的地区注册登记)。
操作系统就好比是管理国家的首席大臣,如果不为操作系统文件单独设立一个分区,那么就可能会有诸多的麻烦:
- 不小心误杀了首席大臣——误删操作系统文件
- 国家需要改朝换代的时候,如果首席大臣们集中在一个分区,那么直接替换这个分区即可,而不过同在这个分区的还有其他人的话,就麻烦了,如果你不找到这些无辜的人并将它们移动到其他地方去,那么你就可能错杀平民百姓。——重装系统比较麻烦
所以,系统是需要占一个单独的分区的。如果你的电脑是多系统,那么这些系统都需要独立地分配一个分区。
电脑的启动过程
我们有必要了解电脑的启动过程。
打开电源首先唤醒的是主板上的BIOS,在进行完一系列检测和配置以后,开始按设定的系统引导顺序引导系统,比如启动顺序清单上写着:U盘、移动硬盘、本地磁盘,那么BIOS就会先试着从U盘启动,再尝试移动硬盘启动,最后前两者都无法启动时再从本地磁盘启动。
从U盘启动可以通过U盘里的系统安装文件把系统安装到本地磁盘里,这样可以方便地重做系统;同时u盘里也可以安装操作系统,让电脑直接访问U盘里的系统,并可以借此操作本地磁盘,得益于windowstogo技术,不仅仅是winpe这类特殊的系统可以装在u盘里,win8/7都支持。当然,u盘可以做的,移动硬盘也可以做。
BIOS的使命就是找到一个可以启动的设备,而设备上必然会有一个区域是启动程序,对于MBR引导的磁盘,这个启动程序就在磁盘第一扇区MBR(主要启动记录区Master Boot Record),第一扇区还有一个非常重要的东西就是分区表。BIOS找到启动盘后,电脑会载入启动盘MBR里的开机管理程序,通过分区表得到磁盘的分区信息。
主分区,扩展分区,逻辑分区
由于用于启动的第一扇区的分区表大小有限,最多只能记录4个分区项,如果要划分4个以上的分区该怎么办呢?考虑到这个问题,我们引入了一个扩展分区,这个扩展分区可以进一步地划分为若干个逻辑分区。4个分区项每个分区项可以是主分区P,也可以是扩展分区L,这样,我们的分区方案就可以是 4P、3P+L、3P、2P+L、2P、P+L、P 记住总共4项,至少有一个P,至多有一个L就行了。因为系统分区必须是在主分区
解决方案
windows系统下,无需安装软件,请高调地以管理员身份打开cmd: 输入diskpart回车 输入help回车获取diskpart使用帮助 输入help 命令 了解某个命令的详细使用方法
相信大多数人都是直接按照网上的方法试就行了,我不推荐这样,你凭什么相信网上的步骤?网上那些发经验的人懂么? 网上的东西只是用来参考的,比如我通过网上可以获知那些工具可以实现磁盘分区,再了解一下别人的实现步骤,然后看这些步骤都做了什么,而不是直接全部傻乎乎地直接照做,磁盘全盘格式化了都不知道,参见直播小白悲惨世界 已给Diskpart clean命令跪下了。
常见情境:
- PPPP 分区表项已满,不能再创建分区
- PPPL 扩展分区没有分配完全,后面的空闲空间被浪费 :选择最后一个卷,extend
- 磁盘上没有足够的空间进行此操作
- 无法在此未分配空间中创建新卷,因为该磁盘已经包含最大分区数。
补充FAQ
- 分区为什么只能向后扩展?—— 因为编址问题,1 2 3 4 5 ... 右边可以直接扩展,左边无法直接扩展
参考资料
- 硬盘分区表知识——详解硬盘MBR
- 《鸟哥的linux私房菜》
- DiskPart使用方法(ZT)
- 使用diskpart工具划分扩展分区的详细步骤
扩展阅读
- 【讨论】Windows启动过程(MBR分析)
- 《30天自制操作系统》
- 《ORANGE'S:一个操作系统的实现》