装系统不求人——硬盘的秘密

这篇文章主要是普及一些小知识,算是常识(这个年代不懂电脑就是文盲啊⊙▽⊙),也为后面的内容打下基础,看的一知半解就够了。也可以先不看,在需要的时候再点进来看。

硬盘的基本概念

只要对电脑有一点接触,你一般都会听说过硬盘这个词。你私藏的美女图片、喜欢的音乐、各种视频,包括操作系统,都是保存在硬盘里面的。

装系统最主要的内容,就是在硬盘上下功夫。所以不了解下硬盘,怎么好意思说自己是专业装系统的……

为什么叫硬盘呢?我猜是因为相对于古老的软盘来说,它比较硬吧 o(*≥▽≤)ツ 软盘又是什么鬼?反正已经是上个世纪的东西了,有兴趣自己百度。

机械硬盘 VS 固态硬盘

写这篇文章的时候,丑的人(矮穷挫)电脑上还在用机械硬盘,而漂亮的人(高富帅)已经在用固态硬盘了。固态硬盘还有个洋气的英文名字SSD(Solid State Drive)。

机械硬盘和磁带、磁卡一样,是利用磁性来保存数据的,因此硬盘又常被称为磁盘

之所以叫机械硬盘,因为这种硬盘通过电机机械运动,带动盘片旋转,让磁头在盘片上进行读写。所以机械硬盘工作时会有声音。下面分别是机械硬盘和内部结构图。

而固态硬盘和U盘原理一样,利用电路和存储芯片保存数据。至于芯片,利用的是电子在半导体器件中的一些特性,就不展开了。

固态硬盘和U盘使用的是相同的存储芯片,但是固态硬盘使用的芯片通常是高质量的,并且主控芯片比U盘好,所以速度和价格也比普通U盘要高。

这里说说两种硬盘的一些特点。

  • 固态硬盘存储速度远比机械硬盘快,但制造成本目前也比较高,所以很多穷人还用不起(┬_┬)

    因为机械硬盘的速度受到机械运动的限制,所以速度很难提升。

  • 机械硬盘工作时,磁头会贴近盘片进行读写;而正常关机、或是待机了,硬盘停止工作,磁头就会移开。

    所以搬电脑时最好先待机,因为硬盘工作时,较大晃动可能导致磁头碰到并划伤盘片,然后就和你的男神女神照片资料一起光荣牺牲掉了。用不起固态硬盘的你不信可以试下,坏了刚好就有换SSD的借口了 o(* ̄▽ ̄*)o

    相对来说固态硬盘就好多了,不过它里面的芯片也是比较脆的,掉地上这么强烈的震动没准也会挂掉。内存卡、U盘也一样,不过好在他们比较轻,摔下来震动也不会太厉害(所以胖子摔倒比瘦子后果更严重咯?当然还要看缓冲的……)

    为了提高稳定性,确保数据的安全,有些商务笔记本装有硬盘保护系统,当传感器检测到震动比较强时,会自动让硬盘磁头离开盘片从而保护硬盘。

    我的穷人专享廉价版E系列ThinkPad虽然性价比比较低,但是却有这种装置,实测有效。所以说买电脑的时候不能盲目追求性价比,只看重CPU、内存、硬盘大小这种容易判断的参数,一些小的细节往往容易被人忽视,例如稳定性之类,毕竟一分钱一分货。

  • 机械硬盘里面的数据不慎删掉,是有可能恢复出来的,有一些数据恢复软件例如EasyRecovery可以做到,很神奇吧?如果里面的资料非常重要,还可以找专门的数据恢复公司给你恢复数据,用紫外线照射盘片等方式有可能将所有文件都恢复出来,只要你肯给钱。

    同样的原因,如果你的硬盘里面曾经保存过一些商业机密之类,千万不敢随便把硬盘给别人,即使文件都删了……因为只要这些机密足够有价值,就有可能被人想方设法恢复出来。有专门的磁盘数据擦除工具可以擦除数据难以恢复,但我不敢保证效果。最好的办法就是把硬盘砸成碎片(还要防止有人把它们又拼起来,好麻烦。◕‿◕。)……

    在这一点上,固态硬盘可就远不如机械硬盘了。固态硬盘上的数据如果被删了,回收站也清空了,很难被恢复。如果你是一个苦逼的程序员,哪天代码写到半夜脑子发晕,手贱把代码给删了,又用的固态硬盘,那就死定了,果断躲在墙角哭去吧 o(╯□╰)o

硬盘容量

国际单位制词头(SI词头)

在这里先简单说一下词头的概念。我们经常见到类似km、cm这种单位,是在标准单位m的基础上添加了前缀,即国际单位制词头(SI词头)。SI词头适用于所有国际单位制,所以下次见到一些新的单位,你应该就不会觉得很难理解了 O(∩_∩)O~

  • ……Z、E、P、T、G、M、k
    这些词头比标准单位大,它们从大到小排列,相邻两者之间进率为1000。
  • m、u、n、p、f、a、z……
    这些词头比标准单位小,它们从大到小排列,相邻两者同样进率为1000。
  • 1km = 1000m,1m=1000mm

参考维基百科:
http://zh.wikipedia.org/zh/国际单位制词头

硬盘容量单位

硬盘容量的基本单位是字节,也写作B,注意这里是大写的B,对应英文Byte。

1Byte=8bit,这表示一个字节有八个位,这里的位则是小写的b,也就是bit。我们经常看到网速的单位Mbps、Kbps、bps,同样有8Mbps=8Mb/s=1MB/s,也就是8M带宽的网络,最大传输速度是1MB/s。可别因为没文化不懂这个,乱抱怨人家网络提供商啊 (︶︿︶)

字节是最基本、最小的存储单位,用的更多的是比它大的一些单位,KB、MB、GB和TB。随便一张照片都得有几百KB到几十MB~

你可能遇到过这种情况,买了个16G的U盘,插到电脑上却显示只有14G左右,剩下的容量都去哪儿了呢?被奸商吃了么……少年莫急,且听我慢慢道来~

  • 在SI标准中,这些存储单位的换算进率都是1000,也就是和SI词头一致。在工业生产中用的就是这种单位。

  • 而在常用的Windows系统中,使用的是IEC标准,单位换算进率是1024,于是(严格来说下面的单位应该是KiB、MiB……):

    • 1 KB = 1024 B
    • 1 MB = 1024 KB
    • 1 GB = 1024 MB
    • 1 TB = 1024 GB
    • 1 PB = 1024 TB
    • 1 EB = 1024 PB
    • 1 ZB = 1024 EB
    • ……

所以16GB的U盘,厂家制造时是16*10^9B,而到了Windows中自然就只剩了14G左右,不能怪别人奸商,只怪自己无知~没文化真可怕……

分区与分区表

这里普及一下英文名词。在装系统时经常会遇到英文词汇,所以了解下吧~

  • 分区:Partition
  • 分区表:DPT = Disk Partition Table

硬盘中的存储空间是连续的,可以把它想象成一个长条。为了提高安全性、方便文件整理等原因,通常会把一个硬盘分成多个分区,形象的从下图看出来。图中就是我的500GB西数黑盘的分区了,C盘装的Win7,最后三个分区装的Ubuntu,其他分区保存一些东西~

而分区表,就是硬盘中记录的分区信息。

MBR与GPT、GUID

  • MBR=Master Boot Record,主引导记录

  • GPT=GUID Partition Table,全局唯一标识分区表

  • GUID=Globally Unique Identifier,全局唯一标识符

    每个硬盘分区都有唯一的GUID,可通过DiskGenius软件查看。

有些人看到英文很害怕,因为完全不懂;实际上这里翻译成中文,还是一样不懂。因为没有相关专业知识~哈哈哈哈哈哈哈o(*≥▽≤)ツ

几个重要的区别:
MBR只能支持最大2TB的硬盘,而GPT能支持最大9.4ZB(9.4 x 10^21B)的硬盘
MBR只能支持四个主分区,而GPT至少可以划分128个主分区(后文会介绍主分区的概念)

下面说一个MBR和GPT之间的恩怨小故事~


早些时候,硬盘都是MBR类型,大家用着也都挺好的。后来网速越来越快,我们看电影什么的也都追求高清,我们装的系统和软件也越来越大,尤其还有不少资源收集狂整天到处下载东西存进硬盘,很快硬盘都被塞满了。于是我们队硬盘容量的需求越来越大了,而MBR格式自从设计的时候起,就只能支持2TB容量。

什么?只能支持2TB?设计者是怎么想的?我们不能怪设计者。那是1983年的事了,匆匆那年,MBR就开始被使用了,而当时索尼公司才推出了容量1MB的3.5英寸双面软盘(今天很多人都没见过这种老古董了)……那时的人们,怎么也没想到计算机的发展这么迅速,几十年之后的今天,几个TB的硬盘都已经逐渐进入广大劳动人民的电脑中了。

这段是给非小白用户准备的:这里的2TB是通常认为的MBR容量限制,扇区视为标准的512B,后面的GPT也一样。虽然一些硬盘制造商通过将扇区升级到4KB,使得MBR能支持最大16TB,但不是长久之计,这里也不考虑那么多情况。

所以就有了GPT格式,它能支持9.4ZB(9.4 x 10^21B)的硬盘。对于现在的我们来说,这也是一个不敢想象的硬盘容量了。但或许再过几十年,GPT也会像MBR一样慢慢被新的技术替代。

还记得之前说的BIOS么,Legacy BIOS只能启动MBR硬盘上的系统,而EFI/UEFI BIOS只能启动GPT硬盘上的系统。

GPT硬盘最大容量参考了维基百科:
http://zh.wikipedia.org/wiki/GUID磁碟分割表


主分区 / 扩展分区 / 逻辑分区

  • 主分区:Primary Partition
  • 扩展分区:Extended Partition
  • 逻辑分区:Logical Partitions

这几个词,表示不同类型的分区。

还是小故事~


MBR硬盘中,最多只能有四个分区~匆匆那年,设计者就是这么想的~

之后人们发现,四个分区经常不够用(主分区),于是扩展分区和逻辑分区出现了。于是事情变得有趣起来:

  • 一个MBR硬盘中,主分区和扩展分区的总数目最多有四个,而扩展分区最多一个
  • 也就是说,可以是不超过四个主分区,或者不超过三个主分区+一个扩展分区
  • 和主分区不一样,扩展分区本身不能被格式化和保存数据,但是可以在其中新建逻辑分区
  • 最多能新建多少个逻辑分区呢?这个在不同的系统下也不一样,例如在Linux系统中,IDE 硬盘最多可以有59个逻辑分区。这下总该够用了吧~

最新的GPT硬盘分区格式,至少可以支持128个主分区~所以未来扩展分区和逻辑分区的概念有可能不复存在~就像今天很多人没见过软盘一样。真是伤感~ í﹏ì


再来看下我的硬盘,我只有一个主分区,后面是一个扩展分区,剩下的全部都是这个扩展分区里面的逻辑分区。

卷标、盘符

卷标就是每个分区的名字,例如WIN7,SOFTWARE这种,可以任意修改。

盘符就是我们经常说的C盘、D盘这种,是Windows系统中特有的,主要用来指定文件路径。例如:

  1. C:\Windows\学习资料\系统文件\新建文件夹\新建文件夹2\女神照片\1.jpg

烦人的注意事项又来啦~~~

  • 盘符是系统分配的分区标识,和分区不是一个概念。盘符可以改,但不能重复(要不然就没法区别两个分区的文件了)。

  • 每次在电脑上插入移动硬盘、U盘时,常发现盘符不一定相同。在不同系统中(例如平时在Win7中和启动到PE下),同一个硬盘各个分区的盘符也很可能不同。

  • 综上所述,在不同的系统中,可以根据卷标、容量大小、里面保存的文件来区分不同的分区,但是不能根据盘符区分

  • 分区的盘符还能删除,删除后就成了隐藏分区,没有文件路径,不能被常规软件操作,同时文件不容易被病毒或手贱的用户破坏 o(*≥▽≤)ツ

    例如H盘的盘符删除后,就成了无名氏,被显示成了主分区(0),如下图。这时在资源管理器等软件中,都看不到也不能访问。但在下图的DiskGenius软件中,文件仍然是可以看到的(就像你没法通过身份证号找到无名氏,但不代表他不存在啊~~~)

分区编号

分区编号平时我们接触不多,但是在装系统时可能需要用到。特别是在Linux系统中,硬盘分区是用编号表示的,而不是Windows中用的盘符。MBR硬盘中,主分区和扩展分区,按照先后顺序分别会被编号成0~3,而逻辑分区的编号则从4开始。例如下图就是我的硬盘分区编号。

活动分区

在硬盘中,必须有且只有一个活动分区才能启动系统;而且活动分区必须是主分区。活动分区中保存了一些必要的启动信息。

有时电脑不开机,显示“Invalid partition table”(无效的分区表),原因就是硬盘中活动分区不存在或多于一个。

后续文章中会介绍活动分区的查看和设置~ 。◕‿◕。

动态磁盘

如果你通过Win7自带的磁盘管理器给硬盘分区,当你新建第五个主分区的时候,会提醒你如图消息:

手贱的你眼都没眨一下就习惯性的点了“是”,之后就悲剧了。

基本磁盘是相对动态磁盘而言的,动态磁盘有很多好处,比如它可以支持超过四个主分区,新建分区时还有很多新花样,但是缺点在于,很多软件甚至系统都不支持动态磁盘。于是你就哭倒在地了~~~

所以遇到这样的情况,千万别点“是”……千万别点……万别点……别点……点……

后续文章中会介绍如何在基本磁盘和动态磁盘之间进行转换,可以救你于水火之中。

文件系统(分区格式)

我们经常看到FAT32、NTFS之类的词语,这个就是文件系统(File system),也常常被叫做分区格式。所谓文件系统,简单理解,就是文件数据在硬盘上具体的保存方式。格式化分区的时候,就会在对话框中让我们选择文件系统。

Windows中最常见的是NTFS、FAT32格式。FAT32不支持单个4G以上文件,单个分区最大容量只有32G,所以在硬盘中这种格式逐渐被淘汰了,但目前在U盘、存储卡等设备中还在被使用。

Linux下,则有EXT等格式的分区(EXT3、EXT4等)。Win7不支持EXT分区中文件的读取,但可以通过一些软件实现。

回收站

回收站是Windows等系统中的一项功能,也就是删除文件时不直接删除,而是移动到回收站。回收站的本质是一个系统隐藏文件夹,移动到回收站就是移到了这个文件夹下。清空回收站才是真正删除了文件。通常在硬盘和移动硬盘的每个分区会有回收站的文件夹,而U盘等设备没有回收站。

回收站就像垃圾桶一样,丢进去的东西还会占用空间,而不小心丢进去的东西能再找回来;但是如果回收站被清空了,东西就没了。

在下面会讲到文件恢复,说的就是找回已经实际被删除、不在回收站的文件。

文件存储结构

了解电脑基本操作的人,对文件这个概念应该不陌生吧?也就是硬盘上存放的各种资料,包括电影、音乐、图片、软件等等。文件夹也常被称为目录,方便进行文件的整理归类。

这里要说的是文件相关的内容。对于硬盘分区中的文件来说,实际上是分为两部分的(两者都是由文件系统规定的):

  • 文件分配表。保存了每个文件的基本信息:文件名、文件大小、修改日期、文件实际保存到的位置等。有点像一本书的目录

  • 文件数据。文件真正的内容,通过文件分配表找到这些数据,才能正确的读取文件。有点像一本书的正文(对于书来说,可以不用目录直接看正文,但是对于硬盘分区来说,没有文件分配表没办法读取文件)。

因为这种结构,机械硬盘中产生了以下我们常见到的现象(固态硬盘不太一样)。

  1. 在同一个分区不同目录之间移动文件很快,而复制文件、在不同分区之间移动文件比较慢。

    • 在同一个分区不同目录之间移动文件,只需修改文件分配表信息,而不需要处理文件数据,所以会很快。
    • 复制文件需要复制文件数据,因此无论在同一个分区还是不同分区,都会比较慢。
    • 在不同分区移动文件,相当于先复制文件,再删除原来的文件。过程中也要处理文件数据,所以较慢。
  2. 删除一个1GB的文件,比删除1000个1KB的文件还要快。原因是,删除文件的时候,实际上只是修改了文件分配表,并不需要改动文件数据本身,所以删除文件时所耗费的时间,主要和文件数量有关,和文件大小关系不大。

  3. 复制一个1MB的文件,比1000个1KB的文件快。因为要处理的文件数据量差不多,但是后者需要处理大量文件分配信息,所以会比较慢。

  4. 删除的文件有可能通过数据恢复软件找回。因为删除文件只是修改了文件分配表,标记文件已经被删除,并没有清除实际的文件数据。只要这些数据所在的位置没有被新文件覆盖,将数据分配表修改回来,文件就找回来了。所以如果不慎误删文件想找回,最好立即停止往那个分区保存任何文件,以免被误删文件的数据被覆盖掉。具体的数据恢复方法可以在网上找找相关资料,或者参考本系列之后的文章。

磁盘碎片整理

这段还是针对机械硬盘来说的~~~由于上面所说的文件存储结构,一个分区中反复保存和删除文件,最后会使得文件被分散保存到整个磁盘的不同地方,而不是连续的。这样读写文件时就需要到不同的地方去读取,降低了磁盘的访问速度。而磁盘碎片整理就是要将这些文件进行移动,使其能更好的被访问。◕‿◕。

如果想让电脑运行速度快一点,磁盘碎片大约1个月整理一次就可以了,如果碎片比例少于10%可以不整理。

在资源管理器中右击分区,属性,工具,就可以看到磁盘碎片整理的选项了,如图。

选中分区,点击“分析”可以分析出磁盘碎片比例,点击“磁盘碎片整理”可以整理碎片。在碎片整理的过程中,尽量不要使用电脑,更不要进行下载、复制文件等操作。

总结

对于之前尝试分区,但又担心出问题的同学,了解了很多硬盘分区的知识后,再次使用分区软件进行分区,是不是觉得容易了很多呢?

更详细深入的硬盘知识和技术实现细节,请看下文。这篇有利于对装系统过程中一些问题的理解,但不看的话对学习装系统影响不会很大。难度略大,适合对计算机技术很感兴趣的读者看。

《装系统不求人——硬盘的秘密深入》
http://www.paincker.com/sysinst-harddisk-details

硬盘的分区等各种操作,将会在后续文章中详细介绍:

《装系统不求人——硬盘折腾大全与数据恢复》
http://www.paincker.com/sysinst-harddisk-op

为什么连着给两个链接,该点哪个呢?欺负我们选择困难么~(。◕ˇ∀ˇ◕)