为了账号安全,请及时绑定邮箱和手机立即绑定
慕课专栏

目录

索引目录

Linux命令行与Shell脚本编程大全

原价 ¥ 68.00

立即订阅
04 硬盘安装Ubuntu,磁盘分区概念多
作者:Oscar 更新时间:2019-06-27 17:41:20
我们活着不能与草木同腐,不能醉生梦死,枉度人生,要有所作为。

——方志敏

内容简介

  1. 前言
  2. 硬盘安装 Ubuntu
  3. 磁盘分区的知识
  4. 文件系统
  5. 手动分区和自动分区
  6. 总结

1. 前言

上一课Linux 的多面性,定制自由,我们认识到了 Linux 的多样性。

我们这个系列课程使用的 Linux 发行版是 Ubuntu,因为其使用广泛、技术支持全面、文档完整、社区完善,也是 Android、TensorFlow 这样的大型软件所认定的默认编译安装环境。

推荐一个不错的 Ubuntu 中文 WiKi 网站:https://forum.ubuntu.org.cn。内容丰富,除了 Ubuntu 的相关知识,还有很多其它编程知识。

不过最好还是学好英文,看 Ubuntu 官方网站 https://www.ubuntu.com 吧,那里的信息是最权威的,也是最新的,或者也可以去 Ubuntu 的中文主页:https://cn.ubuntu.com

这一课和下一课我们就来讲一下如何安装 Ubuntu 这个 Linux 发行版,并且讲解一些有趣的知识点。

这一课先讲如何硬盘安装 Ubuntu,下一课讲如何虚拟机安装 Ubuntu。

2. 硬盘安装 Ubuntu

首先,什么是“硬盘安装” Ubuntu 呢?

我们知道 Ubuntu 是一种 Linux 发行版,就是一个 Linux 操作系统。

还记得之前的课程说到你可以在电脑上同时安装多个操作系统吗?你可以同时安装 Windows 和 Linux 两种操作系统。

如果你在电脑中安装了多个操作系统,启动电脑的时候 bootloader(启动引导器)就会给你选择的机会,看你到底要进入哪个操作系统,我们再回顾一下这张图:

图片描述

上面这张图就展示了电脑的硬盘上有两个操作系统(Windows 和 Linux)的情况。

相信你应该理解了什么是“硬盘安装” Ubuntu 了吧?我们这课下面讲到“磁盘分区”时,会有更多图解,让你理解得更深刻。

Linux 的硬盘安装对于初学者来说是比较繁琐的。

如果你是 Windows 用户,请看以下的图文教程:

如果你是苹果电脑(macOS 系统)的用户,请看以下的图文教程:

这一课所讲的磁盘分区和下面的文件系统等知识点,对于初学者确实有点难。但如果你学习了这些知识点,会对电脑硬件、操作系统和 Linux 有更深刻的认识。
这部分知识点如果你觉得很繁琐,可以跟着上面的 Windows 或 macOS 安装 Ubuntu 的图文教程将 Ubuntu 安装完,再回过头来学习。

  • 如果你只是想体验一下 Linux 系统,或者简单使用和学习,那么可以在虚拟机中安装 Linux。我们下一课会介绍;
  • 如果你想用 Linux 来做一些大型开发或者需要高性能的操作,那么硬盘安装 Linux 是我推荐的方式。虚拟机有诸多性能限制和不便,而硬盘安装的操作系统可以享有电脑的几乎全部计算能力。

3. 磁盘分区的知识

磁盘分区可以将我们的硬盘划分为几个区域,是硬盘安装操作系统时(比如在 Windows 操作系统之外再安装一个 Linux 系统)必不可少的一步。

划分硬盘的好处就是我们的操作系统不会互相干扰,可以各安其职。

我们不细讲 Ubuntu 硬盘安装的每一个步骤了,你可以跟着上一节给出的那些图文教程来安装,每一步都有很详细的配图。
我们直接说说在安装 Ubuntu 时会遇到的磁盘分区操作。当然了,下面我们还是会对最难的磁盘分区步骤给出图文讲解。

虽然新版 Ubuntu 系统已经有自动分区的选项,你可以选择自动分区(安装程序帮你完成磁盘分区的工作)或手动分区。我们还是讲讲手动分区时需要掌握的知识点。

掀起磁盘的盖头来

首先我们来认识一下硬盘,硬盘一般叫做 Hard Disk。

目前的硬盘一般分为 HDD(Hard Disk Drive,传统的磁碟型机械硬盘)和 SSD(Solid State Disk,固态硬盘)。

我们下面举例的硬盘是 HDD。SSD 是近些年的热门,很多人现在买电脑都喜欢配备固态硬盘,SSD 价格昂贵,但是速度比传统的磁碟型硬盘快很多。

一般电脑的硬盘是什么样子的呢:

图片描述

看到了吗?上面就是硬盘的大致外观了。

那么硬盘内部是什么样子的呢?
图片描述

是不是有点像留声机。留声机里面是一张唱片,会不停旋转,然后由磁头去“读取”数据。

硬盘虽然通常不是一张磁碟,而是几张磁碟叠在一起,但是原理和留声机是类似的。

硬盘的转速比留声机高很多,硬盘也是由磁头去读写数据。

用下图对比一下 HDD 硬盘(左)和 SSD 硬盘(右):

图片描述

  • HDD:Hard Disk Drive(硬碟),也就是传统机械硬盘。由盘片、磁头、转轴、控制电机等部分组成。工作时盘片转动,磁头定位在盘片的指定位置上进行读写操作,从某种意义上与老式留声机的结构相似。传统硬盘的优势在于容量大、成本低,寿命也相对较长,适合进行大容量的数据写入;但缺点也非常明显,比如体积重量大、发热量大、速度慢、不抗震、噪音大等等。
  • SSD:Solid-State Drive(固态硬盘)。一般使用 NAND 闪存制成。由于不存在机械部件,所以稳定性、噪音、发热量、抗震性都要比传统机械硬盘更好,另外读写速度也更快。当然,闪存的造价较高,所以 SSD 的价格也更高。以同样 1 TB 容量为例,传统机械硬盘仅需 400 元左右,而 SSD 则至少需要 2000 元。

硬盘储存数据的原理

硬盘包括一至数片高速转动的磁盘以及放在执行器悬臂上的磁头。

在平整的磁性表面存储和检索数字数据,信息通过离磁性表面很近的磁头,由电磁流来改变极性方式被写到磁盘上,信息可以通过相反的方式读取,例如读头经过纪录数据的上方时磁场导致线圈中电气信号的改变。

磁盘的物理结构

硬盘的物理结构一般由磁头与碟片、电动机、主控芯片与排线等部件组成。

当主电动机带动碟片旋转时,副电动机带动一组磁头到相对应的碟片上并确定读取正面还是反面的碟面,磁头悬浮在碟面上画出一个与碟片同心的圆形轨道(磁轨或称柱面),这时由磁头的磁感线圈感应碟面上的磁性与使用硬盘厂商指定的读取时间或数据间隔定位扇区,从而得到该扇区的数据内容。
图片描述

  • 磁道:Track。当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道;
  • 柱面:Cylinder。在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面;
  • 扇区:Sector。磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。硬盘的第一个扇区,叫做引导扇区;
  • 磁头:Head。硬盘读取数据的关键部件,它的主要作用就是将存储在硬盘盘片上的磁信息转化为电信号向外传输,而它的工作原理则是利用特殊材料的电阻值会随着磁场变化的原理来读写盘片上的数据,磁头的好坏在很大程度上决定着硬盘盘片的存储密度;
  • 盘片:Platter。硬盘中承载数据存储的介质。硬盘盘片是以坚固耐用的材料为盘基,将磁粉附着在铝合金(新材料也有用玻璃)圆盘片的表面上,表面被加工的相当平滑。这些磁粉被划分成称为磁道的若干个同心圆,在每个同心圆的磁道上就好像有无数的任意排列的小磁铁,它们分别代表着 0 和 1 的状态。当这些小磁铁受到来自磁头的磁力影响时,其排列的方向会随之改变。利用磁头的磁力控制指定的一些小磁铁方向,使每个小磁铁都可以用来储存信息。硬盘是由多个盘片叠加在一起,互相之间由垫圈隔开。

每个盘片都有两面,因此相对应每盘片有 2 个磁头。

磁盘的逻辑结构

操作系统(Windows、Linux、macOS 之类)对硬盘进行读写时需要用到文件系统把硬盘的扇区组合成簇,并创建文件和树形目录制度,使操作系统对其访问和查找变得容易,这是因为操作系统直接对数目众多的扇区进行寻址会十分麻烦。

图片描述

  • A:磁道
  • B:扇面
  • C:扇区
  • D:簇(Cluster,扇区组)

什么是磁盘分区

为了更好地解释磁盘分区,我们借助一些图来阐述。

首先,我们把你目前的硬盘比作一个圆圈,如下图:

图片描述

我们可以看到:如果你的硬盘里只装有 Windows 操作系统的话,那么大致印象是这样的。

我们可以说此时硬盘大致都是 Windows 的。既然 Windows 操作系统一家独大,那么它基本就可以随自己意愿在硬盘上存放文件。

假如我们此时又安装了 Linux 操作系统,因为不可能把两个操作系统安装在硬盘的相同地方,所以 IT 科学家们发明了“磁盘分区”(分区的英语是“partition”)。

磁盘分区简单地说就是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,幸好不是真拿刀把硬盘切割成好几块,分区是虚拟的概念。

假设我们将硬盘对半分区,50% 给 Linux,50% 给 Windows,那么硬盘的情况如下:
图片描述

这样,两个操作系统就可以和平共存了。

4. 文件系统

在每个分区中,文件都是按照一定方法被存储和组织起来的,这种方法我们称为“文件系统”(File System)。

用户使用文件系统来保存数据时,不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需记住这个文件的所属目录和文件名。

文件系统还规定谁有权利访问这个或那个文件。

现代的文件系统有不少都是日志文件系统(Journaling File System),在文件系统发生故障(如内核崩溃或突然停电)时,日志文件系统更容易保持一致性,并且可以较快恢复。

严格地说, 文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract Data Type),是操作系统提供的一种抽象,是介于应用程序软件和磁盘硬件之间的界面。

很重要的一条规则:每个分区只能有一种文件系统!

文件系统有好多不同种类。我们来认识一下吧:

微软(Microsoft)的文件系统

  • FAT16:一种有一定年代的文件系统,可以管理不大于 4 GB 的分区。FAT16 在 DOS 操作系统至 Windows XP 中都有使用。很多中文资料中都说 FAT16 只能管理不大于 2 GB 的分区,那是因为它们是基于 DOS、Win 95、Win 98 和 Win ME 操作系统来讲的。在这些操作系统上,确实 FAT16 只能管理不大于 2 GB 的分区。但是英文的资料(微软 Microsoft 官方的资料)显示的是 4 GB,是说的 Windows XP 系统上最多管理不大于 4 GB 的分区。
    为什么是 4GB 呢?因为 FAT16 中的 16 表示 16 位的簇(cluster,之前说过 cluster 是多个扇区的意思,通常每个扇区为 512 个字节),在 Windows XP 系统里 FAT16 文件系统中簇的大小最大可以达到 65536 个字节。2 的 16 次方是 65536。所以 65536 * 65536 = 4294967296 = 4 * 1024 * 1024 * 1024 ,所以是 4 GB(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 在这些操作系统里确实只能管理 2 GB 大小的分区。
  • FAT32:从 Win 98 开始流行,是 FAT16 的增强版本。可以管理不大于 2 TB 的分区(1 TB = 1024 GB,所以 2 TB = 2048 GB)。
  • NTFS:在 Win NT 操作系统中首次被使用,后来我们也知道 Win NT 演进为 Win 2000、Win XP、Win7、Win 8,一直到现在的 Win 10。所以 NTFS 是 New Technology File System,也就是 NT(New Technology,“新技术”)的文件系统。NTFS 可以管理 16 Eo 的分区(也就是近似 16000000000 GB),当然这只是理论值。
    NTFS 也是以簇为单位来存储数据文件,但 NTFS 中簇的大小并不依赖于磁盘或分区的大小。比起 FAT 文件系统,NTFS 在系统故障或突然断电时,可以更容易地恢复数据,因为它是日志型文件系统。NTFS 还可以对文件进行加密,压缩等。

当然更早期的文件系统还有 FAT12、FAT8 等。

初学者看到上面的簇、扇区、字节、1024、4 GB、16 Eo 等等,是不是都头大了。

不要紧,慢慢学就理解了。暂时记不住概念或者不理解,也没太大关系。

Linux 的文件系统

  • ext2:这个文件系统在 Linux 下使用了很久。ext 是英语 Extended 的前三个字母,是“扩展的”意思。由法国程序员 Remy Card 设计,他也是 ext(第一代扩展文件系统)的设计者。
  • 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 性能更好。

准备好了吗?来进行磁盘分区吧。磁盘分区的过程,在上面我提供的针对 Windows 和 macOS 的图文教程里也有演示。不过我们还是一起来看看吧,会用到我们上面学到的磁盘分区和文件系统的理论知识。

5. 手动分区和自动分区

在硬盘安装 Ubuntu 之前,须要在 Windows 里把留给 Ubuntu 系统的安装分区给分好。

这一步如果你跟着我之前给出的图文教程来操作的话,应该已经完成了。

在 Windows 下,右键点击“我的电脑->管理->磁盘管理”,选择一个空间较大的盘,右键选择“压缩卷”。

假设我们为 Ubuntu 划分了 80 GB 的空间。空间大小根据自己的需要自行选择,如果只是安装作为练习使用有 20 GB 就可以了。

要是自己有运行的程序或者要处理数据还是建议多分一点空间。不过现在一般电脑的硬盘都很大的,有的都有 1 TB,为什么不多分点给 Ubuntu 呢。

设置好容量大小后点压缩即可,不用给它设置盘符,我们在安装 Ubuntu 的时候再重新分区。

我们假定你已经事先给 Ubuntu 分好分区了,如果跟着图文教程,会来到下图所示的这一步,询问“安装类型”:
图片描述

上图中,有很多个选项,常用的是以下三个:

  • 安装 Ubuntu,与其它系统共存:这个选项只有在你的电脑的硬盘上已经有至少一个操作系统(例如 Window 或 macOS)的情况下,才会显示。如果你的电脑硬盘上还没有任何操作系统,那么这条选项就不会存在。如果勾选了这个选项,接下去安装程序就会为你自动设置分区。
  • 清除整个磁盘并安装 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 的形式。

我们注意到上图中还有一个空闲的设备(白色的那条),大小是 85899 MB,这个其实就是我们在 Windows 下面给 Ubuntu 分出来的 80 多个 GB 的空间了。当然了,你的情况不一定和我一样,就看你给 Ubuntu 分出多少 GB 的空间了。

现在我们就来操作这个空闲分区,以对我们将要安装的 Ubuntu 进行安排。

鼠标选中它,点击下面的“+”号,会弹出如下对话框:

图片描述

“新分区的类型”选择“逻辑分区”,用于选择“交换空间”。

SWAP 分区

SWAP 分区也叫交换分区,就是 Linux 下的虚拟内存分区。

它的作用是在物理内存使用完之后,将磁盘空间(也就是 SWAP 分区)虚拟成内存来使用。

它和 Windows 系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。

需要注意的是,虽然这个 SWAP 分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了。

因此如果需要更快速度的话,并不能寄厚望于 SWAP,最好的办法仍然是加大物理内存,SWAP 分区只是临时的解决办法。

所以对于交换分区,我们就给它分配大小和你电脑的内存大小一样的就好了。例子中给了 8000 MB,就是不到 8 GB(假设内存是 8 GB)。

主分区和逻辑分区

  • 主分区:英语是 Primary Partition。也称为主磁盘分区,和扩展分区、逻辑分区一样,是一种分区类型。主分区中不能再划分其它类型的分区,因此每个主分区都相当于一个逻辑磁盘(在这一点上主分区和逻辑分区很相似,但主分区是直接在硬盘上划分的,逻辑分区则必须建立于扩展分区中)。早期 MBR 模式分区只能划分四个分区,现在的 GPT 分区至少可以划分 128 个主分区,未来很有可能将不存在扩展分区和逻辑分区的概念。一个硬盘的主分区包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则硬盘必须有一个主分区。
  • 逻辑分区:英语是 Logical Partition。是硬盘上一块连续的区域,不同之处在于,每个主分区只能分成一个驱动器,每个主分区都有各自独立的引导块,可以用 fdisk 程序设定为启动区。一个硬盘上最多可以有 4 个主分区,而扩展分区上可以划分出多个逻辑驱动器。这些逻辑驱动器没有独立的引导块,不能用 fdisk 程序设定为启动区。

引导分区

分配完 SWAP 交换分区之后,我们来分配“引导分区”,也就是引导操作系统启动程序所在的分区,很重要。

在 Win 7 和 Win8 / Win10 中,操作是不一样的。

  • 在 Win7 中,新建分区,点击“+”,设置 Ubuntu 启动引导区,一般划分 200 Mb 足够了,如下图所示:

图片描述

  • 在 Win8 或 Win10 中,新建分区,点击“+”,设置 Ubuntu 启动引导区,用于 EFI boot partition,一般划分几百 Mb 足够了,如下图所示:

图片描述

根分区

根分区也就是 / 分区,相当于 Windows 系统的 C 盘。在 Linux 系统里,/ 是最上层目录。

/ 的下面会有其他文件夹,如 home、user、bin、dev、tmp、sbin等等。第二部分的课会讲解。

我们给根分区分配大概 25 GB 或更大就够了。

剩下的空间用同样添加分区的方式分给 /home 分区,用于存放我们用户的文件。

很重要的一点:“安装启动引导器的设备”(Device for boot loader installation)须要选择分配 /boot 的那个分区名。如下图中,是 sdb2,但是你的情况可能是其它名字:

图片描述

自动设置分区
图片描述

如果你对上面的手动设置分区感到繁琐,可以选择“安装 Ubuntu,与其它系统共存” 或者 “清除整个磁盘并安装 Ubuntu”,进入自动设置分区。接下去会有以下提示:
图片描述

看到这一步是不是略感熟悉呢?
是的,这一步其实就是我们之前手动进行的磁盘分区。
只不过这一步安装程序帮我们自动完成了分区设置,不需要我们操心了。

磁盘分区结束之后,安装程序会接着让你设置时区和用户名和密码等等。之后根据不同操作系统(Win7 和 Win8 / Win 10)可能还需要配置启动项。可以参考我给出的几个图文教程。

终于说完了,这课的知识点很多,大家如果不太理解可以多看几遍。硬盘安装 Linux 确实比较繁琐,下一课的虚拟机安装 Linux 就简单很多了。

小结
  1. Ubuntu 不同版本在不同操作系统上的安装过程不尽相同。这个课程主要讲了 Windows 上安装 Ubuntu 的过程。如果是在其他操作系统(比如 macOS)上安装其它版本的 Ubuntu,请自行 Google 或百度;
  2. Win 10 系统的引导程序由传统的 BIOS 变成了更强大的 UEFI,所以安装 Ubuntu 的过程与在 Win7 中有那么一点不同;
  3. 一个硬盘可以被“虚拟化”地分割成不同的部分,这是磁盘分区的主要原理;
  4. 为了安装 Linux 系统(我们用了 Ubuntu 这个 Linux 发行版)到硬盘里,我们需要先进行磁盘分区。即把原先都属于 Windows 操作系统的磁盘空间划出一份来给 Ubuntu 使用;
  5. 我们分配了一个大小和内存差不多的 SWAP 交换分区,这个分区可以在内存快耗尽时用作虚拟内存使用;
  6. 我们可以用 Ubuntu 系统的 GRUB 程序来引导 Ubuntu 和 Windows 启动;也可以用 Windows 的引导程序来引导两个系统。

今天的课就到这里,一起加油吧!

}
立即订阅 ¥ 68.00

你正在阅读课程试读内容,订阅后解锁课程全部内容

千学不如一看,千看不如一练

手机
阅读

扫一扫 手机阅读

Linux命令行与Shell脚本编程大全
立即订阅 ¥ 68.00

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信