第1章 Linux 简介与安 装 本章学习目标 .了解Linux的起源、特点以及内核版本和发行版本的区别; .了解硬盘分区、MBR 和GPT; .理解引导工具GRUB2; .熟练掌握Fedora的安装; .熟练掌握系统引导工具GRUB2 的设置及使用。 Linux是一种优秀的操作系统,被广泛应用在多种计算平台。本章首先简要介绍Linux 的起源、特点以及内核版本和发行版本的区别,然后详细介绍Fedora的安装过程、系统引导 工具GRUB2 的使用方法。 1.iux简介 1 Ln Linux是一款诞生于网络,成长于网络并且成熟于网络的操作系统,是一套免费使用和 自由传播的类UNIX 操作系统,它主要运行在基于Intelx86 系列CPU 的计算机上。Linux 是由世界各地的成千上万的程序员设计和实现的,其目的是建立一个不受任何商品化软件 版权制约的,全世界都能自由使用的UNIX 兼容产品。Linux是一个自由的、遵循GNU 通 用公共许可证(GPL)的类UNIX 操作系统。 Linux最早由一位名叫LinusTorvalds的芬兰赫尔辛基大学计算机科学系的学生开发。 他的目的是设计一个代替MINIX 的操作系统,这个操作系统可用于386 、486 或奔腾处理器的 个人计算机上,并且具有UNIX 操作系统的全部功能。Linux以它的高效性和灵活性著称,能 够在个人计算机上实现全部的UNIX 特性,具有多用户、多任务的能力。Linux可在GNU (GNU..snotUNIX)公共许可权限下免费获得,是一个符合POSIX 标准的操作系统。 Linux之所以受到广大计算机爱好者的喜爱,主要原因如下:第一,由于Linux是一套 自由软件,用户可以无偿地得到它及其源代码,可以无偿地获得大量的应用程序,而且可以 任意修改和补充它们,这对用户学习、了解UNIX 操作系统非常有益。第二,它具有UNIX 的全部功能,任何使用UNIX 操作系统或想要学习UNIX 操作系统的人都可以从Linux中 获益。 Linux不仅为用户提供了强大的操作系统内核功能,而且还提供了丰富的应用软件。 用户不但可以从Internet上下载Linux及其源代码,而且可以从Internet上下载许多Linux Linux操作系统实用教程(Fedora) 的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万 象。任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代 码,这样,用户就可以根据自己的需要修改和扩充操作系统或应用程序的功能。 Linux的开放性也给我国操作系统软件开发商带来一个良好的机会,可以开发具有自主知 识产权的操作系统,打破国外厂商在计算机操作系统上的垄断。我国有多家软件公司致力于 开发基于Linux内核的操作系统平台,如中科红旗,并且有产品成功地应用在很多领域。 1.1.1 Linux的起源 20世纪70年代,UNIX操作系统的源程序大多是可以任意传播的。互联网的基础协议 TCP/IP就是产生于那个年代。在那个时期,人们在创作各自的程序中享受着从事科学探 索、创新活动所特有的那种激情和成就感。那时的程序员并不依靠软件的知识产权向用户 收取版权费。 1979年,AT&T宣布了UNIX的商业化计划,随之出现了各种二进制的商业UNIX版 本。于是就兴起了基于二进制机读代码的“版权产业”(copyrightindustry),使软件业成为 一种版权专有式的产业,围绕程序开发的创新活动被局限在某些骨干企业的小范围内,源程 序被视为核心“商业机密”。这种做法,一方面产生了大批的商业软件,极大地推动了软件业 的发展,诞生了一批软件巨人;另一方面,由于封闭式的开发模式,也阻碍了软件业的进一步 深化和提高。由此,人们为商业软件的bug付出了巨大的代价。 1983年,RichardStalman面对程序开发的封闭模式,发起了一项国际性的源代码开放 的所谓“牛羚”(GNU)计划,力图重返20世纪70年代的基于源代码开放来从事创作的美好 时光。他为保护源代码开放的程序库不会再度受到商业性的封闭式利用,制定了一项GPL 条款,称为Copyleft版权模式。Copyleft带有标准的Copyright声明,确认作者的所有权和 标志,但它放弃了标准Copyright中的某些限制。它声明:任何人不但可以自由分发该成 果,还可以自由地修改它,但你不能声明你做了原始的工作,或声明是由他人做的。最终,所 有派生的成果必须遵循这一条款(相当于继承关系)。GPL有一个法定的版权声明,但附带 (在技术上去除了某些限制)在该条款中,允许对某项成果以及由它派生的其余成果的重用, 修改和复制对所有人都是自由的。 注意:GNU计划是由RichardStalman在1983年9月27日公开发起的,由自由软件 基金(n,FSF)支持,目标是创建一套完全自由的操作系统。GPL fresoftwarefoundatio (generalpubliclicense,GPU)是指GNU通用公共许可证。大家常说的Linux准确来讲应 该称为GNU/Linux,Linux这个词本身只表示Linux内核,但实际上人们已经习惯用Linux 来表示整个基于GNU/Linux内核且使用GPL软件的操作系统。 1987年6月,RichardStalman完成了11万行源代码开放的“编译器”(GNUgc),获 得了一项重大突破,做出了极大的贡献。 1989年11月,M.Tiemann以6000美元开始创业,创造了专注于经营开放源代码的 CygnusSupport(天鹅座支持公司)计划(注意,Cygnus中隐含着gnu三个字母)。Cygnus是 世界上第一家也是最终获得成功的一家专营源代码程序的商业公司。Cygnus的“编译器” 是十分优秀的,它的客户有许多是一流的IT企业,包括世界上很大的微处理器公司。 ura0.u 1991年9月,LinsTovlds公布了Linux0.1版内核,该版本的Linx内核被芬兰 2 第1章Linux简介与安装 赫尔辛基大学FTP服务器管理员AriLemmke发布在Internet上。最初Torvalds将其命 名为Fra是自由(r和奇异(ra的结合, 以配合所谓的类UNIX系 ex, fe) fek) 并且附上X字母, 统。FTP服务器管理员觉得Freax不好听,因此将其命名为Linux。这完全是一个偶然事 件。但是,Linux刚一出现在互联网上,便受到广大的“牛羚”计划追随者们的喜欢,他们将 Linux加工成了一个功能完备的操作系统,叫作GNULinux。 1995年1月,BobYoung创办了RedHat公司,以GNULinux为核心,集成了400多 个源代码开放的程序模块,开发出了一种冠以品牌的Linux,即RedHatLinux,称为Linux 发行版,在市场上出售。这在经营模式上是一种创举。BobYoung称:我们从不想拥有自 己的“版权专有”技术,我们卖的是“方便”(给用户提供支持和服务),而不是自己的“专有技 术”。源代码开放程序促进了各种品牌发行版的出现,极大地推动了Linux的普及和应用。 1998年2月,以EricRaymond为首的一批年轻的“老牛羚骨干分子”终于认识到: GNULinux体系的产业化道路的本质并非是什么自由哲学,而是在市场竞争的驱动下创办 了opensourceintiative(开放源代码促进会),在互联网世界里展开了一场历史性的Linux 产业化运动。在以IBM和Intel为首的一大批国际重量级IT企业对Linux产品及其经营 模式的投资并提供全球性技术支持的大力推动下,催生了一个正在兴起的基于源代码开放 模式的Linux产业,也有人称为开放源代码(opensource)现象。 nx2. 2001年1月,Liu4版内核发布,进一步地提升了SMP系统的扩展性,同时它也集 成了很多用于支持桌面系统的特性:USB 、PC卡(PCMCIA),以及内置的即插即用等功能。 2003年12月,6版内核发布。相对于2.6版内核在对系统的支持 Linux2.4版内核,2. 上有很大的变化,这些变化包括: (1)更好地支持大型多处理器服务器,特别是采用NUMA设计的服务器。 (2)更好地支持嵌入式设备,如手机、网络路由器或者视频录像机等。 (3)对鼠标和键盘指令等用户行为的反应更加迅速。 (4)对块设备驱动程序做了彻底更新,如与硬盘和CD光驱通信的软件模块 。 Linux发展的重要阶段如下 。 1991年9月:LisTovls公布了Linx0.1版内核 。 nuradu0. 1994年3月:Linx1.Liu u0版内核发行,nx转向GPL版权协议 。 1996年6月:Linx2. u0版内核发布 。 1999年1月:Li2版内核发布;x的简体中文发行版相继问世 。 nux2.Linu 2001年1月:Li4版内核发布 。 nux2. 2003年12月:Linx2. u6版内核发布 。 2009年12月:Linx2.32版内核发布, 20092014) 该内核。 u6.为长期(—支持版。RHEL6使用 2011年5月:Lix2.39版内核发布。 nu6.2011年7月:Linx3.为长期(72013.支持版(nsTovls u0版内核发布, 2011.—10) Liuradnux3.nu6. 坦言:Li0版内核并没有巨大变化,只是在Lix诞生20周年之际将2.40提升为 3.0而已)。 u2版内核发布。 2012年1月:Linx3.2013年6月:Linx3.为长期(62015.支持版。RHEL7使用 u10版内核发布, 2013.—9) 3 Linux操作系统实用教程(Fedora) 该内核。 u16版内核发布, 2014.—4) 2014年8月:Linx3.为长期(82020.支持版 。 nu2016.2022. 2016年1月:Li4版内核发布,为长期(—2)支持版。 2018年8月:Li18版内核发布。RHEL8使用该版本内核。 x4.1 nux4. 2021年8月:Linx5.eoa35使用该版本内核。 u14版内核发布。Fdr Linx内核下载网址:htp//www.enlog/ 。 us:kre.r 1.2 Lnx的特点 1.iu Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与Linux具有的良好特 性是分不开的。Linux包含了UNIX的全部功能和特性。简单地说,Linux具有以下主要特 性:开放性、多用户、多任务、良好的用户界面、设备独立性、可靠的系统安全、良好的可移植 性,且遵循GNU/GPL,提供了丰富的网络功能。 Linux可以运行在多种硬件平台上,如x86 、x64 、ARM 、SPARC和Alpha等处理器的平 台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年 nux2.ntenu 1月发布的Li4版内核,已经能够完全支持Il64位芯片架构。同时Lix也支持 多处理器技术。多个处理器同时工作,使系统性能大大提高。 1.1.3 Linux的版本 Linux的版本号分为两部分:内核版本和发行版本。 1.Linux的内核版本 对于Linux的初学者来说,最初会经常分不清内核版本与发行版本之间的关系。实际 上,操作系统的内核版本指的是在LinusTorvalds领导下的开发小组开发出的系统内核的 版本号,通常由x.z3个数字组成。 y. x:目前发布的内核主版本。 y:偶数表示是稳定的版本,如2.39;奇数表示是开发中的版本,有一些新的东西加入, 是不稳定的测试版本,如2.5.6。 6. z:错误修补的次数 。 注意:2.x已经不适用了,1版内核是稳定版本 。 x规则在3.比如3. Linux操作系统的核心就是它的内核,LinusTorvalds和他的小组在不断地开发和推出 新内核。内核的主要作用包括进程调度,内存管理,配置管理虚拟文件系统,提供网络接口 以及支持进程间通信。像其他所有软件一样,Linux的内核也在不断升级。 另外,在发行版中常见的内核版本号表示方式为majo.io.ac-uldsc,如 -2.e6。 rmnrpthbid.e 2.6.32220.1.lmajor:主版本号,有结构性变化时才变更。 产版 m 。 inor:次版本号,新增功能时才发生变化。一般用奇数表示测试版,用偶数表示生 patch:表示对次版本的修订次数或补丁包数。 build:表示编译的次数,每次编译可能对少量程序做优化或修改,但一般没有大的功能 变化。 4 第1章Linux简介与安装 desc:用来描述当前的版本特殊信息;其信息由编译时指定,具有较大的随意性,但也有 一些描述标识是常用的,说明如下。 (1)rc(有时也用一个字母r):表示候选版本(releasecandidate),rc后的数字表示该正 式版本的第几个候选版本,多数情况下,候选版本数字越大越接近正式版。 (2)smp:表示对称多处理(symmetricmultiprocesing)。 (3)pp:在RedHatLinux中常用来表示测试版本(pre-patch)。 (4)EL:在RedHatLinux中用来表示企业版Linux(enterpriseLinux)。 (5)mm:表示专门用来测试新的技术或新功能的版本。 (6)fc:在RedHatLinux中表示FedoraCore。 2.Linux的发行版本 一个完整的操作系统不仅只有内核,还包括一系列为用户提供各种服务的外围程序。 所以,许多个人、组织和企业,开发了基于GNU/Linux的Linux发行版,他们将Linux系统 的内核与外围应用软件和文档包装起来,并提供一些系统安装界面和系统设置与管理工具, 这样就构成了一个发行版本。实际上,Linux的发行版本就是Linux内核再加上外围实用 程序组成的一个大软件包而已。相对于操作系统内核版本,发行版本的版本号是随发布者 的不同而不同,与Linux系统内核的版本号是相对独立的。例如:Fedora的内核是 vmlnz4.032.lx64, nl4.ln iu-18.-e8.86_采用的内核版本是Kere18,该版本是长期支持版(ogtermsupport,LTS),支持5级分页能力,处理器转换线性地址从48位提升到57位,从而使 物理内存限制从64TB提升到4PB,可管理的虚拟地址高达128PB 。 Linux的发行版本大体可以分为两类:一类是商业公司维护的发行版本;另一类是社区 组织维护的发行版本。前者以著名的RedHatLinux为代表,后者以Debian为代表。 注意:RedHat是全球最大的开源技术厂家,其产品RedHatLinux也是全世界应用非 常广泛的Linux。红帽公司总部位于美国北卡罗来纳州。RedHat的培训及认证被认为是 Linux认证的标准。RHCE(RedHatcertifiedenginer,红帽认证工程师)认证被公认为总 体质量极高的国际IT认证。 2018年10月,IBM以340亿美元收购RedHat,RedHat成为IBM混合云分部的一个部门。 下面简要介绍一些目前比较知名的Linux发行版本。 1)RedHat系列 RedHatLinux是非常成熟的一种Linux发行版,无论是在销售还是在装机数量上都是 市场上的第一。中国老一辈Linux爱好者中大多数是RedHatLinux的使用者。 目前RedHat系列的Linux操作系统包括RHEL 、Fedora、CentOS 、RockyLinux、OEL 和SL ( 。 x,Rt的企业版)。R0是 1)RHEL(RedHatEnterpriseLinuedHaedHatLinux9. RedHat公司于2003年发布的最后一个稳定版桌面Linux,以后RedHat公司就不再开发 和发布桌面版Linux了,而是将桌面Linux项目和Fedora开源社区合作,改名叫Fedora Project。FedoraProject将会由RedHat公司赞助,新发行的桌面Linux改名为Fedora Core。以后RedHat公司专门开发和维护RedHatenterpriseLinux。RedHat公司对Red HatenterpriseLinux提供收费技术支持和更新。RedHat公司于2019年5月7日发布了 RHEL8 。 5 Linux操作系统实用教程(Fedora) (a。Fa的前身是Rx。Fa以R0为范本加 2)FedoredoredHatLinuedoredHatLinux9. 以改进,原来的桌面版Linux开发团队将继续参与Fedora的开发计划,由Fedora社区开发 和维护。Fedora使用最新的内核,提供最新的软件包,是一个开放的、创新的、前瞻性的操作 系统和平台。 Linux之父LinusTorvalds(图1-1)选择Fedora作为他的日常操作系统。 (3)CentOS(communityenterpriseoperatingsystem,社区 企业版)和CentOSStream 。Fedora是RHEL的上游,经过 Fedora验证的特性才会加入RHEL 。RHEL发布后,其源代码被 重新构建形成CentOS 。CentOS是RHEL的社区克隆版,国内外 许多企业或网络公司选择CentOS作为服务器。CentOS社区于 2019年9月25日发布了CentOS8 。2020年12月7日,CentOS8 系列最后一个发行版CtOS8.2011发布。 en3. 2020年12月8日,CentOS发布公告称CentOSLinux系列 将不再更新维护,CentOS8生命周期将于2021年12月31日终图1-1Linux之父Linus 止。CentOS项目今后将只专注于CentOSStream,作为RHEL Torvalds 的上游/开发分支。CentOSStream位于Fedora和RHEL之间, 会滚动添加新的实验特性、更新的软件包等。 (4)RockyLinux。CentOS的创始人之一GregoryKurtzer在2020年12月10日宣布 RockyLinux计划,旨在与RHEL完全兼容,创建一个社区驱动的可供企业运用的操作系 统。RockyLinux的纲领就是像CentOS以前所做的那样,充当RHEL的下游架构。RockyLinux发行版是在RHEL之后而不是RHEL之前。 注意:名字Rocky是为了纪念CentOS的联合发起人RockyMcGaugh,他是首位 CentOS技术负责人。 (5)OEL(OracleenterpriseLinux)。OEL基于RHEL并与之完全兼容。 (6)SL(scientificLinux)。SL是重新编译的RedHatenterpriseLinux,由费米国家加 速器实验室、欧洲核研究组织以及世界各地的大学和实验室共同开发。 2)SUSE SUSE是德国非常著名的Linux发行版,在全世界范围中享有较高的声誉。SUSE自主 开发的软件包管理系统YaST也大受好评。SUSE于2003年的年末被Novel 收购。 3)Debian Debian系列包括Debian和Ubuntu。Debian由IanMurdock于1993年创建,是迄今为 止非常遵循GNU规范的Linux系统,是100%非商业化的社区类Linux发行版,由部分黑 客自愿进行开发和维护。很多用户喜欢Debian的一个原因在于apt-get/dpkg包管理方式。 dpkg是Debian系列特有的软件包管理工具,它功能非常强大,配合apt-get,在Debian上安 装、升级、删除和管理软件变得很容易。 4)Ubuntu Ubuntu(乌班图)由开源厂商Canonical公司开发和维护。Ubuntu严格来说不能算一 个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,拥有Debian所有的 优点。 6 第1章Linux简介与安装 5)RedFlag/Depin/中标麒麟 RedFlag由中科红旗开发,该公司于2014年8月被五甲万京信息产业集团收购,收购后 的中科红旗保持原有的业务和发展模式。Depin、中标麒麟也是由我国公司研制的Linux 发行版。 6)Slackware Slackware由PatrickVolkerding创建于1992年,是历史非常悠久的Linux发行版。 7)Gentoo Gentoo最初由DanielRobbins创建。2002年发布首个稳定的版本,是Linux世界中非 常年轻的发行版本。Gentoo的出名在于它高度的自定制性,Gentoo适合比较有Linux使用 经验的老手使用。 8)Mandriva Mandriva的原名是Mandrake,最早由GalDuval创建并在1998年7月发布。早期的 Mandrake是基于RedHat进行开发的。 9)Android Android是一种基于Linux的自由及开源的操作系统,主要用于移动设备,如智能手机 和平板电脑,由Google公司和开放手机联盟(openhandsetaliance)领导开发。 1.硬盘分区 2 Linux的安装是一个比较复杂的过程,它和Windows操作系统的不同之处在于,它们的 文件组织形式不同。安装Linux的重点和难点在于怎样给硬盘分区。 在安装Fedora的过程中可以对硬盘进行分区操作,不过笔者建议读者在安装Fedora 之前使用专门的分区工具(比如,在Linux中可以使用gparted、gdisk、fdisk,在Windows中 可以使用DiskGenius、AOMEI分区助手等)对硬盘分区。 硬盘有两种分区格式:MBR(masterbootrecord,主引导记录)和GPT(globalyunique identifierpartitiontable,全局唯一标识磁盘分区表)。 2TB大小的硬盘空间, MBR和GPT的区别:①MBR分区表最多只能识别2.大于 2.2TB以上的硬盘空间。②MBR分区表最 2TB的硬盘空间将无法识别;GPT能够识别2. 多支持4个主分区或3个主分区+1个扩展分区(扩展分区中的逻辑分区个数不限);默认情 况GPT最多支持128个主分区。③MBR分区表的大小是固定的;在GPT的表头中可自定 义分区数量的最大值,也就是说GPT的大小不是固定的。 1.1 MBR 分区 2. MBR早在1983年IBMPCDOS2.包含已 0中就已经提出。MBR是硬盘的第一扇区, 安装操作系统的启动加载器和驱动器的逻辑分区信息。它由三部分组成:启动加载器、 DPT(diskpartitiontable,硬盘分区表)和硬盘有效标志。在总共512字节的MBR里启动 加载器占446个字节,偏移地址为0000H~0088H,负责从活动分区中装载并运行系统引导 程序;DPT占64个字节;硬盘有效标志占2个字节(55AA )。采用MBR的硬盘分区如图1-2 所示。 7 Linux操作系统实用教程(Fedora) 图1-2 硬盘分区(MBR) 启动加载器是一小段代码,用于加载驱动器上其他分区上更大的加载器。如果安装了 Windows,则Windows启动加载器的初始信息就放在这个区域里———如果MBR 的信息被 覆盖导致Windows不能启动,需要使用Windows的MBR 修复功能来使其恢复正常;如果 安装了Linux,则位于MBR 里的通常会是GRUB 加载器。 DPT 偏移地址为01BEH~01FDH,每个分区表项占16 个字节,共64 字节,为分区项1、分 区项2、分区项3、分区项4,分别对应MBR 的4个主分区。 硬盘有效标志的偏移地址为01FE~01FF,占2个字节,固定为55AA 。如果该标志错 误,系统就不能启动。 1. 硬盘设备 在Linux系统中,所有的一切都是以文件的方式存放于系统中,包括硬盘,这是与其他 操作系统的本质区别之一。按硬盘的接口技术不同,硬盘种类有以下3种。 1)并口硬盘( IDE) 在Linux系统中,它将接入IDE 接口的硬盘文件命名为以hd 开头的设备文件。 例如,第一块IDE 硬盘被命名为hda,第二块IDE 硬盘被命名为hdb,以此类推。 系统将这些设备文件放在/dev目录当中,如/dev/hda、/dev/hdb 、/dev/hdc。 2)微型计算机系统接口硬盘(SCSI) 连接到SCSI 的设备使用ID 号进行区别,SCSI 设备ID 号为0~15,Linux对连接到 SCSI 的硬盘使用/dev/sdx的方式命名,x的值可以是a、b、c、d等,即ID 号为0的SCSI 硬 盘名为/de/dID 号为1的SCSI 硬盘名为/dvs以此类推。 vsa,e/db, 3)串口硬盘(SATA) 在Linux系统中,串口硬盘的命名方式与SCSI 硬盘的命名方式相同,都是以sd开头。 例如,第一块串口硬盘被命名为/dev/sda,第二块被命名为/dev/sdb 。 注意:分区是一个难点,在分区之前,建议读者备份重要的数据。 2. 硬盘分区 硬盘可以划分为3种分区:主分区(primarypartition)、扩展分区(extensionpartition) 和逻辑分区(logicalpartition)。 一个硬盘最多有4个主分区,如果有扩展分区,那么扩展分区也算是一个主分区,只可 以将一个主分区变成扩展分区,在扩展分区上,可以以链表方式建立逻辑分区。RedHat Linux对一块IDE 硬盘最多支持到63 个分区,对SCSI 硬盘支持到15 个。 8 第1章Linux简介与安装 1)Linux硬盘分区的命名 Linux通过字母和数字的组合对硬盘分区命名,如hda2、hdb6 、sda1等。 第1~2个字母表明设备类型,如hd指IDE硬盘,sd指SCSI硬盘或串口硬盘。 第3个字母表明分区属于哪个设备,如hda是指第1个IDE硬盘,db是指第2个SCSI s 硬盘 。 第4个数字表示分区,前4个分区(主分区或扩展分区)用1~4表示。逻辑分区从5开 始。如hda2是指第1个IDE硬盘上的第2个主分区或扩展分区,hdb6是指第2个IDE硬 盘上的第2个逻辑分区。 2)Linux硬盘分区方案 安装Fedora时,需要在硬盘建立Linux使用的分区。在大多数情况下,建议至少需要 为Linux建立以下3个分区。 (1)/boot分区:该分区用于引导系统,占用的硬盘空间很少,包含Linux内核以及 grub的相关文件。建议分区大小为500MB左右。 (2)/(根)分区:Linux将大部分的系统文件和用户文件保存在/(根)分区上,所以该分 区一定要足够大。建议分区大小要大于20GB 。 swa5~ (3)p分区:该分区的作用是充当虚拟内存,原则上是物理内存的1.2倍(当物理 内存大于1GB时,p分区为1GB即可)。 swa 提示:如果架设服务器,建议采用如下分区方案。 /boot:用来存放与Linux系统启动有关的程序,比如启动引导装载程序等。建议大小 为500MB 。 /:Linux系统的根目录,所有的目录都挂在这个目录下面。建议大小为20GB 。 /usr:用来存放Linux系统中的应用程序,其相关数据较多。建议大于15GB 。 /var:用来存放Linux系统中经常变化的数据以及日志文件。建议大于10GB 。 /home:存放普通用户的数据,是普通用户的宿主目录。建议大小为剩下的磁盘空间。 swap:实现虚拟内存。建议大小是物理内存的1~2倍。 1.2 GPT分区 2. GPT是统一可扩展固件接口(UEFI)标准的一部分,用来替代BIOS所对应的MBR分 区表。采用GPT的硬盘分区如图1-lgicalocrs, 3所示。每个逻辑块地址(olbkaddeLBA) 占512字节(一个扇区),每个分区的记录占128字节。负数的LBA地址表示从最后的块开 始倒数,-1表示最后一个块。 在MBR硬盘中,分区信息直接存储在MBR中。在GPT硬盘中,分区表的位置信息存 储在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头。 传统MBR信息存储在LBA0,GPT头存储在LBA1,GPT本身占用32个扇区,接下来的 LBA34是硬盘上第一个分区的开始。GPT会为每一个分区分配一个全局唯一标识符。理 论上GPT支持无限个磁盘分区,默认情况下,最多支持128个磁盘分区,基本可以满足所有 用户的存储需求。在每一个分区上,这个标识符是一个随机生成的字符串,可以保证为地球 上的每一个GPT分配完全唯一的标识符。 LBA0:为了解决兼容问题,GPT在磁盘的最开始部分,仍然存储了一份传统的MBR, 9 Linux操作系统实用教程(Fedora) 图1-3 硬盘分区(GPT) 叫作保护性MBR(protectiveMBR), 可以防止设备不支持UEFI,并且可以防止不支持GPT 的硬盘管理工具错误识别并破坏硬盘中的数据。在使用MBR/GPT 混合分区表的硬盘中, 这部分存储了GPT 的一部分分区(通常是前4个分区), 可以使不支持从GPT 启动的操作 系统从这个MBR 启动,启动后只能操作MBR 分区表中的分区。 LBA1:分区表头定义了硬盘的可用空间以及组成分区表的项的大小和数量。默认情况 下,最多可以创建128 个分区,即分区表中保留了128 个项,其中每个都是128 字节(EFI 标准 要求分区表最小要有16384 字节,即128 个分区项的大小)。主分区表头(primaryGPTheader) 还记录了这块硬盘的GUID,记录了分区表头本身的位置和大小(位置总是在LBA1)以及备份 分区表头(eodredr) 在硬盘的最后)。它还储存着它本身 scnayGPThae和分区表的位置和大小( 和分区表的CRC32 校验。固件、引导程序和操作系统在启动时可以根据这个校验值来判断分 区表是否出错,如果出错了,可以使用软件从硬盘最后的备份GPT 中恢复整个分区表;如果备 份GPT 也校验错误,硬盘将不可使用。所以GPT 硬盘的分区表不可以直接使用16 进制编辑 器修改。主分区表和备份分区表的头分别位于硬盘的第二个扇区(LBA1)以及硬盘的最后一 个扇区(LBA-1)中。备份分区表头中的信息是关于备份分区表的。 LBA2~LBA33:GPT 分区表使用简单而直接的方式表示分区。一个分区表项的前 16 字节是分区类型GUID 。接下来的16 字节是该分区唯一的GUID(这个GUID 指的是该 分区本身,而之前的GUID 指的是该分区的类型)。再接下来是分区起始和末尾的64 位 LBA 编号,以及分区的名字和属性。 注意:如果将一块硬盘从MBR 分区转换成GPT,会丢失硬盘内的所有数据。所以在 更改硬盘分区格式之前需要先备份重要数据,然后使用磁盘管理软件将硬盘转换成GPT 格式。 10