内容简介
1、第一部分第四课:磁盘分区,并完成Ubuntu安装
2、第一部分第五课预告:Unity桌面,人生若只如初见
磁盘分区
上一课我们正式开始安装Ubuntu了,但是到了分区的那一步,小编却戛然而止。这是什么情况呢?
请读者们千万不要扁我;如果真的要扁,那就请“海扁”,让我一次挨(爱)个够(想到了庾澄庆的《让我一次爱个够》),体会一下苏武的感觉。
是这样的:磁盘分区是个很重要且比较难的知识点。
所以我们单独用这一课来讲磁盘分区的概念,磁盘的组成,文件系统,等。
磁盘分区应该算是安装Linux系统的很关键的一步了。它可以将我们的硬盘划分为几个区域,特别是装双系统时(比如在Windows操作系统之外再安装一个Linux系统)必不可少的一步。
划分硬盘的好处就是我们的操作系统不会互相干扰,可以各安其职。
所以在接着上一课的安装Ubuntu的步骤继续进行前,我们需要学习以下什么是磁盘分区和磁盘分区的作用。
注:希望大家如果是装双系统,比如在Windows外安装Ubuntu,或者Mac OS外安装Ubuntu,请事先备份一下原系统。虽说按照我们这个课程的步骤一点点进行,应该是不会出什么乱子。但是磁盘分区是有一定风险的:分得好,欢天喜地;分得不好,可歌可泣。
总之谨慎为好。
掀起磁盘的盖头来
这一章我们来认识一下硬盘。硬盘一般叫做Hard Disk。
目前的硬盘一般分为HDD(Hard Disk Drive,传统的磁碟型机械硬盘)和SSD(Solid State Disk,固态硬盘)。
我们下面举例的硬盘是HDD。SSD是近些年的热门,很多人现在买电脑都喜欢配备固态硬盘的,其价格昂贵,但是速度比传统的磁碟型硬盘快很多。
一般电脑的硬盘是什么样子的呢:
看到了吗?上面就是硬盘的大致外观了。
那么硬盘内部是什么样子的呢?
是不是有点像留声机。留声机里面是一张唱片,会不停旋转,然后由磁头去“读取”数据。
硬盘虽然通常不是一张磁碟,而是几张磁碟叠在一起,但是原理和留声机还有点像,硬盘的转速比留声机高很多,硬盘也是由磁头去读写数据。
用下图对比一下HDD硬盘(左)和SSD硬盘(右):
- 传统机械硬盘(HDD):由盘片、磁头、转轴、控制电机等部分组成。工作时盘片转动,磁头定位在盘片的指定位置上进行读写操作,从某种意义上与老式留声机的结构相似。传统硬盘的优势在于容量大、成本低,寿命也相对较长,适合进行大容量的数据写入;但缺点也非常明显,比如体积重量大、发热量大、速度慢、不抗震、噪音大等等。
- SSD固态硬盘:一般使用NAND闪存制成。由于不存在机械部件,所以稳定性、噪音、发热量、抗震性都要比传统机械硬盘更好,另外读写速度也更快。当然,闪存的造价较高,所以SSD的价格也更高。以同样1TB容量为例,传统机械硬盘仅需500元左右,而SSD则至少需要2000元。
硬盘储存数据的原理
硬盘包括一至数片高速转动的磁盘以及放在执行器悬臂上的磁头。
在平整的磁性表面存储和检索数字数据,信息通过离磁性表面很近的磁头,由电磁流来改变极性方式被电磁流写到磁盘上,信息可以通过相反的方式读取,例如读头经过纪录数据的上方时磁场导致线圈中电气信号的改变。
磁盘的物理结构
硬盘的物理结构一般由磁头与碟片、电动机、主控芯片与排线等部件组成;当主电动机带动碟片旋转时,副电动机带动一组(磁头)到相对应的碟片上并确定读取正面还是反面的碟面,磁头悬浮在碟面上画出一个与碟片同心的圆形轨道(磁轨或称柱面),这时由磁头的磁感线圈感应碟面上的磁性与使用硬盘厂商指定的读取时间或数据间隔定位扇区,从而得到该扇区的数据内容。
- 磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track)。
- 柱面:在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder)。
- 扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。硬盘的第一个扇区,叫做引导扇区。
- 磁头(Head):硬盘读取数据的关键部件,它的主要作用就是将存储在硬盘盘片上的磁信息转化为电信号向外传输,而它的工作原理则是利用特殊材料的电阻值会随着磁场变化的原理来读写盘片上的数据,磁头的好坏在很大程度上决定着硬盘盘片的存储密度。
- 盘片(Platter):硬盘中承载数据存储的介质。硬盘盘片是以坚固耐用的材料为盘基,将磁粉附着在铝合金(新材料也有用玻璃)圆盘片的表面上,表面被加工的相当平滑。这些磁粉被划分成称为磁道的若干个同心圆,在每个同心圆的磁道上就好像有无数的任意排列的小磁铁,它们分别代表着0和1的状态。当这些小磁铁受到来自磁头的磁力影响时,其排列的方向会随之改变。利用磁头的磁力控制指定的一些小磁铁方向,使每个小磁铁都可以用来储存信息。硬盘是由多个盘片叠加在一起,互相之间由垫圈隔开。
注:每个盘片都有两面,因此也会相对应每碟片有2个磁头。
磁盘的逻辑结构
操作系统(WIndows,Linux或Mac OS之类)对硬盘进行读写时需要用到文件系统把硬盘的扇区组合成簇,并创建文件和树形目录制度,使操作系统对其访问和查找变得容易,这是因为操作系统直接对数目众多的扇区进行寻址会十分麻烦。
- A:磁道
- B:扇面
- C:扇区
- D:簇(Cluster,扇区组)
在硬盘上定位某一数据记录位置:扇区。使用了三维定位。
磁盘碎片整理
认识了硬盘的基本原理,我们接着来讲一下磁盘碎片整理吧。
什么是磁盘碎片整理呢?
其实顾名思义,我们已经可以大致猜出个八九不离十。
磁盘碎片整理简单来说就是通过系统软件或者专业的磁盘碎片整理软件对电脑磁盘在长期使用过程中产生的碎片和凌乱文件重新整理,可提高电脑的整体性能和运行速度。
磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。
硬盘在使用一段时间后,由于反复写入和删除文件,磁盘中的空闲扇区会分散到整个磁盘中不连续的物理位置上,从而使文件不能存在连续的扇区里。这样,再读写文件时就需要到不同的地方去读取,增加了磁头的来回移动,降低了磁盘的访问速度。
磁盘碎片整理前:
磁盘碎片整理后:
磁盘碎片整理的好处:
- 经过碎片整理后,我们硬盘的磁盘里的文件变得紧凑了,不会散放在各处。这样我们读写数据时就不用到不同的地方提取。我们的操作系统可以运行得更快(假如你使用一台电脑好几年,从来没有进行过磁盘碎片整理,突然做一下整理,那提速还是比较明显的)。
- 第二个好处对我们这课很有用。因为我们这课主要是要进行磁盘分区,以便合理安排我们的Linux操作系统和Windows操作系统。碎片整理为磁盘分区做好了充分的准备。如果不做碎片整理,那么可能有一定风险(难得会出现)操作系统的某些文件的一部分会由于磁盘分区而消失,这样你的Windows系统就会不稳定了。
正因为碎片整理几乎是有利无害,在开始安装我们的Ubuntu系统之前,最好对我们的Windows系统做一个“磁盘碎片整理”。这样可以使我们的硬盘更加“干净”,“规整”。
下面演示Win7下如何进行磁盘碎片整理:
1. 开始->所有程序->附件->系统工具->磁盘碎片整理程序
2. 点击“磁盘碎片整理程序”之后,会出现如下的窗口:
3. 点击“分析磁盘”按钮
4. 分析完之后就可以进行整理了,点击“整理磁盘碎片”按钮
注意:进行磁盘清理过程中,尽量不要关闭电脑或者重启,也尽量不要移动电脑,否则可能会使磁盘受损。一般来说是不会有太大问题的。不过还是应该小心爱护我们的电脑兄,这样它才能更好地服务我们。
什么是磁盘分区
为了更好地解释磁盘分区,我们借助一些图来阐述。
首先,我们把你目前的硬盘比作一个圆圈,如下图:
我们可以看到:如果你的硬盘里只装有Windows操作系统的话,那么大致印象是这样的。
我们可以说此时硬盘大致都是Windows的,既然Windows操作系统一家独大,那么它基本就可以随自己意愿在硬盘上存放文件。
假如我们此时又安装了Linux操作系统,因为不可能把两个操作系统安装在硬盘的相同地方,所以IT科学家们发明了“磁盘分区”(分区的英语是“Partition”)。
磁盘分区简单地说就是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,幸好不是真拿刀把硬盘切割成好几块,分区是虚拟的概念。
假设我们将硬盘对半分区,50%给Linux,50%保留给Windows,那么硬盘的情况如下:
这样,这两个操作系统就可以和平共存了。
文件系统
在每个分区中,文件都是按照一定方法被存储和组织起来的,这种方法我们称为“文件系统”(File System)。
用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。
文件系统还规定谁有权利访问这个或那个文件。现代的文件系统有不少都是日志文件系统(Journaling file system),在文件系统发生故障(如内核崩溃或突然停电)时,日志文件系统更容易保持一致性,并且可以较快恢复。
严格地说, 文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type)。
很重要的一条规则:每个分区只能有一种文件系统!
文件系统有好多不同种类。我们来认识一下吧:
微软(Microsoft)的文件系统(包括DOS和Windows操作系统的)
- FAT16:一种有一定年代的文件系统,可以管理不大于4GB的分区。很多中文的资料中都说FAT16只能管理不大于2GB的分区,那是因为它们是基于DOS,Win 95,Win 98和Win ME操作系统来讲的,在这些操作系统上,确实FAT16只能管理不大于2GB的分区。但是英文的资料(微软Microsoft官方的资料)显示的是4GB,是说的Windows XP系统上最多管理不大于4GB的分区。
为什么是4GB呢?因为FAT16中的16表示16位的簇(cluster,之前说过cluster是多个扇区的意思,通常每个扇区为512个字节),在Windows XP系统里FAT16文件系统中簇的大小最大可以达到65536个字节。2的16次方是65536。所以65536 * 65536 = 4294967296 = 4 * 1024 * 1024 * 1024 ,所以是4GB(1 GB = 1024
MB = 1024 * 1024 KB = 1024 * 1024 * 1024 B。这里的B是Byte的缩写,1024是2的10次方)。而DOS,Win 95,Win 98和Win ME操作系统中,簇最大是32768个字节,所以FAT16在这些操作系统里确实只能管理2GB大小的分区。FAT16在DOS操作系统至Windows XP(衍生自Windows NT系统)中都有使用。 - FAT32:从Win 98开始流行,是FAT32的增强版本。可以管理不大于2TB的分区(1TB = 1024GB,所以2TB = 2048GB)。FAT16和FAT32这对“胖胖兄弟组合”(fat是英语“胖”的意思。当然其实FAT是File Allocation Table的缩写,表示“文件分配表”)在生产磁盘碎片方面可是一把好手,因为簇的管理方式存在一个缺陷就是可能会浪费空间,就不深入解释了,不然今天的课是没完了。所以对于这两种文件系统,你需要经常进行磁盘碎片整理,不然你的分区会越来越乱。
- NTFS:在Win NT操作系统中首次被使用,后来我们也知道Win NT演进为Win XP,一直到现在的Win 10,其实都是Win NT内核的不断演进。所以NTFS是New Technology File System,也就是NT(New Technology)的文件系统。NTFS可以管理16Eo的分区(也就是近似 16000000000 GB),当然这是理论值。
NTFS也是以簇为单位来存储数据文件,但NTFS中簇的大小并不依赖于磁盘或分区的大小。簇尺寸的缩小不但降低了磁盘空间的浪费,还减少了产生磁盘碎片的可能。比之FAT文件系统,NTFS在系统故障或突然断电时,可以更容易地恢复数据,因为它是日志型文件系统。NTFS还可以对文件进行加密,压缩等。但是它也会产生磁盘碎片,只不过比之FAT文件系统要好很多。
当然更早期的文件系统还有FAT12,FAT8等。
我觉得初学者看到上面的簇,扇区,字节,1024,4GB,16Eo等等,是不是都要疯了。
不要紧,慢慢学就理解了。暂时记不住概念或者不理解,也没太大关系。
Linux的文件系统
- ext2:这个文件系统在Linux下使用了很久。ext是英语Extended的前三个字母,是“扩展的”的意思。由法国程序员Remy Card设计,他也是ext(第一代扩展文件系统)的设计者。小小自豪一下,因为小编住在法国。ext文件系统的一大优势是几乎不怎么产生磁盘碎片,所以在Linux系统下一般不需要进行磁盘碎片整理。
- ext3:ext3和ext2很接近,不过ext3是日志型文件系统,所以比之ext2(不是日志型),ext3在故障时可以恢复数据。ext3和ext2高度兼容。
- ext4:ext3的演进,扩大了磁盘分区的大小,进一步减少了磁盘碎片的产生机率。
所以ext2,ext3和ext4分别是Second Extended Filesystem,Third Extended Filesystem和Fourth Extended Filesystem的缩写,表示第二代扩展文件系统,第三代扩展文件系统和第四代扩展文件系统。
选择什么文件系统呢?
那么我们选择什么文件系统呢?
目前来说,不少Windows操作系统还是使用着NTFS文件系统,不少Linux操作系统还是使用着ext3文件系统。
不过我们就要赶上时代,就要任性。所以我们选择ext4作为Linux的文件系统。毕竟ext4比ext3性能更好。
准备好了吗?来进行磁盘分区吧
上一课忘了说一个事,因为上一课还没讲磁盘和磁盘分区等概念。
就是安装Ubuntu之前,最好先在Windows下面就把留给Ubuntu系统的安装分区给分好。
在Windows下,右键点击我的电脑》管理》磁盘管理,选择一个空间较大的盘,右键选择压缩卷。下图中为Ubuntu14.04划分了80G的空间(空间大小根据自己的需要自行选择,如果只是安装作为练习使用有30G就可以了。要是自己有运行的程序或者要处理数据还是建议多分一点空间。不过现在一般电脑的硬盘都很大的,有的都1TB,为什么不多分点给Ubuntu呢。记得小编那时候2011年装Ubuntu 10.04时都分了60GB给Ubuntu),设置好容量大小后点压缩即可,不用给它设置盘符,我们在安装Ubuntu的时候再重新分区。
注意:这种分区我们在Win7里面不能直接查看Ubuntu里的分区,但是在Ubuntu我们可以访问放在硬盘上的任何东西,也就是可以直接查看Win7系统的分区。
如果这步在安装Ubuntu前没做的话,可能要重新来过了(就是在上一课的安装过程中取消当前安装,再重来一遍)。
当然在Ubuntu的安装过程里再去给Ubuntu系统分出一块空间也是可以的,只不过可能会不小心抹掉Windows的一些关键分区,比如Recovery分区(用于恢复系统)。
那么我们在假定读者已经事先给Ubuntu分好分区的情况下接着上一课的最后一步讲:
话说上一课我们最后一步是到了类似这样的:
可以看到有好些设备。什么 /dev/sda,它的下面包含了 /dev/sda1,/dev/sda5,/dev/sda6。
这些sda什么的是啥意思呀?
这些其实都是Linux下磁盘分区的名称。dev是英语device的头三个字母,表示设备文件。
- 第一个字母:h或s。h表示IDE接口的硬盘。s表示SATA或SCSI接口的硬盘。
- 第二个字母:总是d。英语drive的首字母,表示磁盘驱动器。
- 第三个字母:a,b,c,d,等等。表示顺序。
因此:
- hda一般是指IDE接口的硬盘,hda一般指第一块硬盘(磁盘),类似的有hdb,hdc等。
- sda一般是指SATA或SCSI接口的硬盘,sda一般指第一块硬盘(磁盘),类似的有sdb,sdc等。
所以sda1是指第一块硬盘的第一个分区,sda5就是第一块硬盘的第五个分区,依次类推。
sdb1就是第二块硬盘的第一个分区,等等。
现在的内核都会把硬盘,移动硬盘,U盘之类的识别为sdX的形式。
我们注意到上图中还有一个空闲分区(白色的那条),大小是85.9GB,这个其实就是一开始我们在Windows下面给Ubuntu分出来的80GB的空间了。
所以现在我们就来操作这个空闲“分区”,以对我们将要安装的Ubuntu进行安排。
鼠标选中它,点击下面的“+”号,会弹出如下对话框:
新分区的类型选择“逻辑分区”,用于选择“交换空间”。
SWAP分区
SWAP分区也叫交换分区,就是LINUX下的虚拟内存分区。
它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用。
它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。
需要注意的是,虽然这个SWAP分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了。
因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存,SWAP分区只是临时的解决办法。
所以对于交换分区,我们就给它分配大小和你电脑的内存大小一样的就好了。例子中给了8000MB,就是不到8GB(假设内存是8GB)。
主分区和逻辑分区
- 主分区:英语是Primary Partition。也称为主磁盘分区,和扩展分区、逻辑分区一样,是一种分区类型。主分区中不能再划分其他类型的分区,因此每个主分区都相当于一个逻辑磁盘(在这一点上主分区和逻辑分区很相似,但主分区是直接在硬盘上划分的,逻辑分区则必须建立于扩展分区中)。早期MBR模式分区只能划分四个分区,现在的GPT分区至少可以划分128个主分区,未来很有可能将不存在扩展分区和逻辑分区的概念。一个硬盘的主分区包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则硬盘必须有一个主分区
- 逻辑分区:英语是Logical Partition。是硬盘上一块连续的区域,不同之处在于,每个主分区只能分成一个驱动器,每个主分区都有各自独立的引导块,可以用fdisk设定为启动区。一个硬盘上最多可以有4个主分区,而扩展分区上可以划分出多个逻辑驱动器。这些逻辑驱动器没有独立的引导块,不能用fdisk设定为启动区。
引导分区
分配完SWAP交换分区之后,我们来分配引导分区,也就是引导操作系统启动的程序所在的分区。很重要。
在Win XP及Win 7 和 Win 8及Win 10中,我们的操作是不一样的。
在Win7或Win XP中,新建分区,点击“+”,设置Ubuntu启动引导区,一般划分200Mb足够了,如下图所示:
在Win 8或Win 10中,新建分区,点击“+”,设置Ubuntu启动引导区,用于EFI boot partition,一般划分几百Mb足够了,如下图所示:
根分区
根分区也就是 / 分区,相当于Windows系统的C盘。在Linux系统里,/是最上层目录。
/的下面会有其他文件夹,如 home, user, bin, dev, tmp, sbin, 等等。
我们给根分区分配个大概25GB或更大就够了,然后剩下的空间用同样添加分区的方式分给/home 分区,用于存放我们用户的文件。
然后很重要的一点:记得将“安装启动引导器的设备”选择称为之前分配/boot的那个分区名。如下图中,是sdb2,但是你的情况可能是其他名字:
结束Ubuntu的安装
完成了最艰巨的磁盘分区之后,接下来的步骤就像走马观花一般简单了。可以喝杯咖啡,吃个烤鸡,慢慢来配置安装:
接下来根据提示选择时区:
在国内的小伙伴选择北京所在时区就好(时区选择不是很要紧,随便选),然后点击“Continue”,下一步:
选择键盘布局,我们选择汉语,当然你也可以选择其他语言:
点击继续,下一步:
设置用户名,密码,等。点击“继续”,下一步:
开始安装,请耐心等待。
安装完成,点击重启。
假如是Win 8 或Win 10(UEFI作为启动引导的)的用户,那么重启之后,进入UEFI(BIOS),将Ubuntu置为第一启动项,保存退出。
进入Ubuntu,安装完成。
假如是Win 7的用户,如果重启之后发现启动选项没有Ubuntu,而是直接进了Windows系统。这时候你吃了一半的烤鸡是不是会把你噎着...
那就需要在Windows中,用EasyBCD这样的软件来添加启动引导项了。
用EasyBCD修改系统启动项
- 在Windows中安装EasyBCD后打开,点击“Add New Entry”》选择Linux/BSD:具体设置如下图。Type选择GRUB(Legacy);Name自己随便写,小编写的是Ubuntu作为标识;Drive:选取我们设置的/boot分区,有Linux标记。设置完成后点击“Add Entry”。
电脑再次启动时,就可以看到多了Ubuntu的启动选项(有一个Ubuntu Recovery Mode的,这个是在Ubuntu的启动有问题时,才须要进入的安全模式/恢复模式,以便解决问题。一般不要进这个模式)了。
你可以用键盘上的上下键选择进入哪个系统:Windows还是Ubuntu。
建议参考这两篇百度经验的图文教程:
《UEFI下Win 8.1+Ubuntu 14.04安装教程》
http://jingyan.baidu.com/article/e3c78d6460e6893c4c85f5b1.html
《Win7下U盘安装Ubuntu14.04双系统步骤详解》
http://jingyan.baidu.com/article/76a7e409bea83efc3b6e1507.html
长嘘一口气,终于结束了。安装Linux还是挺不容易的,有很多概念。
所以嘛,如果不是为了学习Linux,小编真的不建议安装Linux系统。虽然Ubuntu系统的安装已经越来越简单,但是对于大部分网友来说还是挺繁琐的。
平时么,用用Windows和Mac OS就够了。还是比尔盖茨的Windows最亲民,玩Dota等游戏可只能用Windows...
这篇文章写了十几个小时,好多年没玩Dota的我都想来一把Dota了轻松一下了~ 可惜没装...
总结
- Ubuntu不同版本在不同操作系统上的安装过程不尽相同,小编的课程不可能面面俱到。这个课程演示了Windows上安装Ubuntu 14.04的过程。如果是在其他操作系统(比如Mac OS)上安装其他版本的Ubuntu(比如12.04,13.04,15.04),请自行Google和百度。一般差异是不太大的。
- 大部分新的如Win 8,Win 10系统的引导程序由传统的BIOS变成了更强大的UEFI。所以安装Ubuntu的过程与在Win XP和Win7中有那么一点不同。
- 一个硬盘可以被“虚拟化”地分割成不同的部分,这是磁盘分区的主要原理。
- 为了安装Linux系统(我们用了Ubuntu这个Linux发行版)到硬盘里,我们需要先进行磁盘分区。即把原先都属于Windows操作系统的磁盘空间划出一份来给Ubuntu使用。
- 我们分配了一个大小和内存差不多的SWAP交换分区,这个分区可以在内存快耗尽时用作虚拟内存使用。
- 我们可以用Ubuntu系统的GRUB来引导Ubuntu和Windows启动;也可以用Windows的引导程序来引导两个系统。推荐用Windows的引导程序。
第一部分第五课预告
今天的课就到这里,一起加油吧!
下一课我们学习:Unity桌面,人生若只如初见
程序员联盟
微信公众号
*您若觉得本文不错,请点击画面右上角《···》按钮分享
*新朋友请关注「程序员联盟」微信搜公众号
ProgrammerLeague
程序员联盟官网:
小编微信号:frogoscar
小编邮箱: [email protected]
小编QQ号: 379641629
程序员联盟QQ群:413981577
程序员联盟微信群:先加我微信
头条网自媒体“程序员联盟”:
http://www.toutiao.com/m3750422747/
小编的51CTO博客,CSDN博客,博客园,新浪博客和开源中国博客
http://blog.csdn.net/frogoscar
http://www.cnblogs.com/frogoscar
http://blog.sina.com.cn/frogoscar
http://my.oschina.net/frogoscar/blog
版权声明:本文为博主原创文章,未经博主允许不得转载。