Linux 文件系统解释:引导加载、磁盘分区、BIOS、UEFI 和文件系统类型
我们大多数人对引导加载、磁盘分区、分区表、BIOS、UEFI、文件系统类型等概念知之甚少。我们经常遇到这些术语,但很少花时间去了解这些术语及其详细含义。本文旨在以最简单的方式弥补这一差距。
分区表
我们在安装 Linux 发行版时遇到的第一个决定之一是对其磁盘进行分区、要使用的文件系统、实施安全加密,这随着架构和平台的变化而变化。作为使用最广泛的架构之一,INTEL 正在经历一些变化,理解这些变化非常重要,另一方面需要了解启动过程。
许多开发人员在同一台计算机上运行 Windows 和 Linux,这可能是偏好或需要的问题。当今的大多数引导加载程序都足够智能,可以识别同一盒子上的任意数量的操作系统,并提供菜单以引导到首选操作系统。实现相同目标的另一种方法是使用 Xen、QEMU、KVM 或任何其他首选可视化工具进行虚拟化。
BIOS 与 UEFI
如果我没记错的话,直到90晚期,代表基本输入/输出系统的BIOS是启动Intel系统的唯一方法。 BIOS 将分区信息保存在称为主引导记录 (MBR) 的特殊区域中,以便将附加代码存储在每个可引导分区的第一个扇区中。
在 90 年代末,微软与英特尔的合作产生了通用可扩展固件接口 (UEFI),其最初的目的是安全启动。事实证明,这种引导机制对于 Rootkit 来说是一个挑战,特别是它与引导扇区相连,并且很难用 BIOS 检测到。
使用 BIOS 启动
使用 BIOS 启动需要将启动代码或启动序列放入 MBR 中,该启动磁盘位于启动磁盘的第一个扇区中。如果安装了多个操作系统,则安装的引导加载程序将被一个通用引导加载程序取代,该引导加载程序在安装和更新过程中自动将引导代码放置在每个可引导磁盘上,这意味着用户可以选择引导到任何已安装的操作系统。
然而,可以看出,特别是在 Windows 上,非 Windows 引导加载程序不会更新系统,特别是某些程序,即 IE,但同样没有硬性规定,也没有记录在任何地方。
使用 UEFI 启动
UEFI是微软与英特尔密切合作开发的最新启动技术。 UEFI 要求加载的固件经过数字签名,这是一种阻止 Rootkit 附加到启动分区的方法。然而,使用 UEFI 启动 Linux 的问题很复杂。在 UEFI 中启动 Linux 需要使用 GPL 下公开的密钥,这违反了 Linux 协议。
不过,仍然可以通过禁用“安全启动”并启用“传统启动”来按照 UEFI 规范安装 Linux。 UEFI中的引导代码位于磁盘第一个扇区的特殊分区/EFI的子目录下。
Linux 文件系统的类型
标准 Linux 发行版提供了对磁盘分区的选择,其文件格式如下所列,每种文件格式都有与其相关的特殊含义。
- 外部2
- 外部3
- 外部4
- 杰夫斯
- 雷瑟FS
- XFS
- Btrfs
外部2、外部3、外部4
这些是扩展文件系统 (ext) 的渐进版本,主要是为MINIX 开发的。第二个扩展版本(ext2)是一个改进版本。 Ext3 添加了性能改进。 Ext4 除了提供额外的功能之外,还提高了性能。
另请阅读:什么是 Ext2、Ext3 和 Ext4 以及如何创建和转换 Linux 文件系统
JFS
日志文件系统 (JFS) 是由 IBM 为 AIX UNIX 开发的,用作系统 ext 的替代方案。 JFS 目前是 ext4 的替代方案,用于需要稳定且使用很少资源的情况。当 CPU 能力有限时,JFS 就派上用场了。
雷瑟FS
它是作为 ext3 的替代品推出的,具有改进的性能和高级功能。曾经有一段时间,SuSE Linux 的默认文件格式是 ReiserFS,但后来 Reiser 停业了,SuSe 除了返回到 ext3 之外别无选择。 ReiserFS支持动态文件系统扩展,这是一个相对高级的功能,但文件系统缺乏某些性能。
XFS
XFS 是一种高速JFS,旨在并行I/O 处理。 NASA 仍在其 300+ TB 存储服务器上使用此文件系统。
Btrfs
B-Tree文件系统(Btrfs)专注于容错、有趣的管理、修复系统、大存储配置并且仍在开发中。不建议在生产系统中使用 Btrfs。
簇文件格式
集群文件系统不是启动所必需的,但从存储的角度来看,它最适合共享环境。
非 Linux 文件格式
有许多文件格式在 Linux 下不可用,但可以被其他操作系统使用。即,Microsoft 的 NTFS、Apple/Mac os 的 HFS 等。其中大多数可以在 Linux 下使用,通过使用某些工具(如 ntfs-3g 来挂载 NTFS 文件系统)来挂载它们,但在 Linux 下不推荐使用Linux。
Unix 文件格式
有一些文件格式在 Linux 中广泛使用,但在 Linux 下并不是首选,专门用于安装 Linux 根系统。例如,BSD 的 UFS。
Ext4 是首选且使用最广泛的 Linux 文件系统。在某些特殊情况下使用XFS和ReiserFS。实验环境仍然使用Btrfs。
磁盘分区
第一阶段是磁盘分区。在分区时我们应该记住以下几点。
- 分区时要考虑备份和恢复。
- 分区中的空间限制标记。
- 磁盘管理 – 管理功能。
逻辑卷管理
LVM 是大型存储安装中使用的复杂分区。 LVM 结构覆盖实际的物理磁盘分区。
交换
Swap 用于 Linux 中的内存分页,特别是在系统休眠期间。当系统在某个时间点暂停(休眠)时,系统的当前阶段会写入交换区。
永远不会进入休眠状态的系统需要与其 RAM 大小相同的交换空间。
加密
最后一个阶段是加密,确保数据安全。加密可以在磁盘级别也可以在目录级别。在磁盘加密中,整个磁盘都被加密,需要某种特殊的代码才能解密。
然而,这是一个复杂的问题。解密代码不能保留在正在加密的同一磁盘上,因此我们需要某些特殊的硬件或让主板来完成。
光盘加密相对容易实现并且不太复杂。在这种情况下,解密代码保留在同一磁盘上的不同目录中的某个位置。
磁盘加密在服务器构建中是必要的,并且根据您实施它的地理位置可能是一个法律问题。
在本文中,我们尝试以更深入的方式阐述文件系统管理以及磁盘管理。目前为止就这样了。我将再次在这里发表另一篇值得了解的有趣文章。在此之前,请继续关注并联系 Tecmint,不要忘记在下面的评论部分向我们提供您的宝贵反馈。
另请阅读:Linux 目录结构和重要文件路径解释