Boot loading,磁盘分区,分区表,BIOS,UEFI,文件系统类型等概念对我们来说所知甚少。我们经常遇到这些术语,但很少花费力气详细地了解这些术语和它们的含义。本文努力用最简单的方式填补这一差距。

1、分区表

在安装一个Linux发行版时我们遇到的第一个决定之一是其磁盘分区,要使用的文件系统,为安全实现加密,这根据架构和平台变化而变化。最广泛使用的架构之一,Intel正在经历一些变化并且理解这些变化是重要的,其在另一方面需要了解启动过程。

很多开发者在相同机器上运行Windows和Linux,这可能是喜好或需求的问题。今天的大部分boot-loaders足够智能得识别在相同机器上任何数目的操作系统并且提供菜单来引导到首选操作系统。另一种实现相同目标的方式是使用Xen, QEMU, KVM或者任何其它选取的虚拟化工具使用虚拟化。

BIOS VS UEFI

到90年代末期,代表基本输入/输出系统的BIOS是引导Intel系统的唯一方式。BIOS在一个称作主启动记录(MBR)的特殊区域中保存分区信息,因而在每个可启动分区的第一个扇区中存储了其它代码。

在90年代末,微软介入Intel产生了通用可扩展固件接口(UEFI),其初始目的是安全地引导。这种引导机制经证明对根工具包是一个挑战,尤其那个连接了引导扇区并且用BIOS难于探测。

用BIOS引导

用BIOS引导要求在位于引导磁盘第一个扇区中的MBR中放置引导代码或者引导过程。在安装了多个操作系统时,已安装的boot loader在安装和更新过程中自动地被一个通用boot loader替代,这个通用boot loader在每个可引导磁盘上放置引导代码,这意味着用户能够选择引导到任何已经安装的OS。

用UEFI引导BIOS

UEFI是微软和Intel紧密合作开发的最新启动技术。UEFI需要被装载的固件是数字签名的,一种阻止根工具包连接引导分区的方法。但在使用UEFI引导Linux的问题是复杂的。在UEFI中引导Linux要求使用的密钥对在GPL下公开,这违反了Linux协议。

通过禁止'Secure boot'并且启用'Legacy Boot'在UEFI规范上安装Linux仍然是可能的。在UEFI中的引导代码被放置在/EFI子目录,磁盘第一个扇区中的特殊分区。

Linux系统系统类型

一个标准Linux发行版用以下列出的文件格式提供分区磁盘的选择,其中每一个有与他相关联的含义。

  1. ext2
  2. ext3
  3. ext4
  4. jfs
  5. ReiserFS
  6. XFS
  7. Btrfs

Ext2,ext3,ext4

这些是可扩展文件系统(ext)渐进版本,其主要为MINX开发。第二个可扩展版本(ext2)是一个改进版。Ext3增加了性能增强。Ext4一个性能增强而且补充提供的其它特性。

JFS

日志文件系统(JFSS)由IBM为AIX UNIT开发,其用于替代ext。JFS当前是ext之外另一种选择并且在使用很少资源需要稳定性的地方使用。当CPU能力受限时,JFS很方便。

ReiserFS

作为ext3之外另一种选择被引入,其增强了性能和高级特性。曾经有一段时间SuSE Linux的默认文件格式是ReiserFS,但之后Reiser不使用了并且SuSe除了重新使用ext3外没有选择。ReiserFS支持文件系统动态扩展,这是一个很高级的特性但这个文件系统缺少某些性能领域。

XFS

XFS是高速JFS,其目标在于并行I/O处理。NASA仍然在它们300+TB存储服务器上使用这个文件系统。

Btrfs

B-树文件系统(Btrfs)专注于容错,功能管理,修复系统,大型存储配置并且仍然在开发中。不推荐生产系统使用Btrfs。

集群文件格式

引导不需要集群文件系统,但从存储视角,非常适合在共享环境中。

非Linux文件格式

有很多文件格式在Linux不可用但被其它OS使用,即:NTFS用于微软,HFS用于Apple/Mac os等。通过在Linux下使用像挂载NFTS的nfts-3g文件系统的某种工具挂载这些文件系统,可以使用它们,但在Linux下不是首选。

如何在RHEL/CentOS/Fedora中访问或挂载Windows/USB NTFS分区

首先需要使能EPEL仓库。要哦挂载任何基于NTFS的文件系统,你需要安装称作NTF3G的工具。在继续安装前,了解一下NTF3G:NTF3G是什么?NTF3G是一个在Linux中开源跨平台,稳定的,GPL授权,POSIX,NTFS R/W驱动。它提供Windows NTFS文件系统的安全处理,即:创建,重命名,移动文件,目录,硬链接等。

一旦安装和启用了EPEL,以root用户使用一下命令安装ntfs-3g包。

[root@areadetector blctrl]# dnf install ntfs-3g

Fuse安装:接着用以下命令安装和装载FUSE驱动来挂载探测到的设备。在2.6.18-164或更新内核中包括了FUSE模块。

[root@areadetector blctrl]# dnf install fuse
[root@areadetector blctrl]# modprobe fuse

识别NTFS分区:一旦装载了fuse模块,输入以下命令在Linux中查找NTFS分区。

[root@areadetector blctrl]# fdisk -l
Disk /dev/sdc: 931.5 GiB, 1000170586112 bytes, 1953458176 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 56F073CF-A62E-44CC-B306-9C17AE3FDC43Device     Start        End    Sectors   Size Type
/dev/sdc1   2048 1953456127 1953454080 931.5G Microsoft basic data

挂载NTFS分区:首先创建一个挂载点来挂载NTFS分区:

[root@areadetector blctrl]# mkdir /mnt/ntfs

只要运行以下命令来挂载这个分区。用你找到的实际分区替代/dev/sdc1:

[root@areadetector blctrl]# mount -t ntfs-3g /dev/sdc1 /mnt/ntfs

一旦在/mnt/ntfs上挂载了它,使用正常的Linux ls命令列出挂载文件系统的内容:

[root@areadetector blctrl]# ls /mnt/ntfs/
'$RECYCLE.BIN'2020-08-20-raspios-buster-armhf-full.imgBLC.tarCAENGECO2020-1.9.1-build20190708.zipCentOS-7-x86_64-Minimal-2009.iso
'EPICS software'hadoop-3.2.2.tar.gzhello.shjdk-8u311-linux-x64.tar.gzmysql-workbench-community-8.0.25-winx64.msiprod_software_v3.8.0.14.zipPython
'System Volume Information'tifubuntu-mate-20.04.1-beta2-desktop-arm64+raspi.img信号发生器示波器

如果你想要在启动时就进行挂载,只要在/etc/fstab文件末尾添加以下一行:

/dev/sdc1 /mnt/ntfs ntfs-3g defaults 0 0

卸载NTFS分区:使用以下命令来卸载挂载的分区

[root@areadetector blctrl]# umount /dev/sdc1
[root@areadetector blctrl]# ls /mnt/ntfs/

Unix文件系统

有某些文件格式在Linux中广泛使用但在Linux下不是首选,尤其对于安装Linux根系统,例如BSD的UFS。

Ext4是首选并且在Linux文件系统中使用最广泛。在某些特殊情况中,使用XFS和ResierFS。Btrfs仍然在实验环境中使用。

磁盘分区

第一阶段是磁盘分区。在分区时,我们应该记住以下点。

  • 分区维护备份和恢复
  • 在分区中空间限制标记
  • 磁盘管理--管理功能

逻辑卷管理

LVM时一个在大型存储安装中使用的复杂的分区。LVM结构是在位于实际物理磁盘分区之上。

Swap

Swap是在Linux中系统休眠过程中用于内存分页。当系统在一个时间点被暂停(休眠)时,系统当前阶段被写到Swap。

一个从不进入休眠的系统需要一个大小等于其RAM的swap空间。

加密

最后阶段是加密,其确保数据安全。加密可以在磁盘级别和目录级别。在磁盘加密中,整个磁盘被加密需要某类特殊代码来解密它。

但这是一个复杂问题。解密代码不能仍然位于经过加密的相同磁盘,因而我们需要某种特殊硬件或者让主板做这件事。

目录加密相对简单实现并且复杂度低。在这种情况中,解密代码仍然位于相同磁盘不同目录中某处。

解释Linux文件系统:Boot Loading, 磁盘分区,BIOS,UEFI和文件系统类型相关推荐

  1. 浅谈Linux下傻瓜式磁盘分区工具cfdisk的使用

    对于新手来说,Linux环境下的磁盘分区可能还会存在一些困难.对于熟悉Linux的朋友来说,我们还有fdisk.parted(2TB以上的磁盘分区使用)等磁盘分区工具可以使用.在我们新增磁盘或者在原来 ...

  2. Linux 第七章-磁盘分区和格式化

    Linux 第七章 磁盘与文件系统管理 1.磁盘分区与格式化 ​ 在Linux中,当现有的硬盘分区不能满足要求时,就需要对硬盘中的分区进行重新的规划与调整,有时候还需要添加新的硬盘来扩展存储空间. 1 ...

  3. 【Linux】设备和磁盘分区|磁盘管理|/dev/sda|/dev/sdb

    目录 查看命令 df 查看磁盘分区 显示块设备信息 lsblk 查看是否是固态硬盘SSD /dev/hda, /dev/hdb, /dev/sda, /dev/sdb是什么? 磁盘 分区 HDD,SS ...

  4. linux系统安装细节及磁盘分区划分

    本文主要讲述linux系统安装的细节以及磁盘分区怎么划分,以CentOS-6.9为例 1.进入系统安装向导.选择第一个Install or upgrade an existing system 2.是 ...

  5. 3章.Linux主机规划和磁盘分区

    选择linux硬件时应该选择经过linux测试的硬件比较好. 安装linux,需要先了解下linux要达成什么任务目的,这样选购硬件时才会知道选择哪个组件是最重要的. 例子:桌面用户,应该显卡比较重要 ...

  6. linux中怎么格式化磁盘分区,Linux 磁盘分区及格式化

    先使用fdisk -l 列出设备的分区.我这里的/dev/sdb 磁盘是我向运行在virtualbox中的虚拟机 添加的虚拟磁盘.顺便来说下往运行在virtualbox 中的系统添加虚拟磁盘的方法.首 ...

  7. linux分区par,linux基础篇(磁盘分区)

    linux磁盘分区到文件系统创建 首先了解磁盘的基本构造 需要用到的分区命令: fdisk:对于一块硬盘来讲,最多只能管理15分区 语法:fdisk  [OPTION][DEVICE] p: prin ...

  8. 【Linux】设备和磁盘分区|/dev/sda

    /dev/sda3表示的是硬盘分区. /dev/sda是指接在SATA.SCSI第一个接口上的硬盘. /dev/sda是指整个硬盘,实际使用中一般都会有分区,也就是/dev/sda1, /dev/sd ...

  9. Linux基础笔记18 | 磁盘分区管理

    fdisk 分区工具 fdisk 这个古老的软件并不认识 GPT ,所以 fdisk 只支持 MBR 的分区模式,且磁盘小于2T,大于了就不能使用 fdisk 进行分区了 新磁盘的分区 一块新加的磁盘 ...

最新文章

  1. 求助大神!怎样除去XML节点反复的值的数据
  2. 线程间操作无效:从不是创建控件的线程访问它的三种方法
  3. Linux的解决vmware的Linux系统IP自动变化
  4. 面试题分享【不断更新】
  5. Android自己主动化測试之Monkeyrunner用法及实例
  6. 系统架构师学习笔记_第十一章(上)_连载
  7. t3s java_关于JAVA的this关键字
  8. Grunt 之通配符
  9. java中doloop语句_Java中的do-while循环——通过示例学习Java编程(11)
  10. PHP-CGI进程占用过多CPU
  11. linux 常用分区有哪些,Linux常用分区及目录
  12. [转载] html转word table样式_[Python02] Python-docx包的使用,快速处理 Word 文件!
  13. Oracle EBS: ASCP 学习
  14. 【转】LiveWriter插入高亮代码插件介绍 基于SyntaxHighighter
  15. 音视频编解码技术(二):AAC 音频编码技术
  16. 计算机接口cad图,(有全套CAD图纸)USB接口插件弯曲模具设计.rar
  17. php检测是否存在敏感词,用于检测敏感词的 PHP 扩展
  18. 行业大数据技术发展趋势
  19. ps2019布尔运算快捷键_ps你必须要知道的布尔运算
  20. Clouderamanager详解

热门文章

  1. mac mini无法休眠
  2. 宝箱十连抽保底设计思路
  3. 大数据创新在广告营销中的应用(中)
  4. mysql 基本语句 (烂笔头)
  5. DataPipeline与TiDB推出异构数据实时同步解决方案,共筑安全可信基础设施
  6. 闰年计算方法以及三数中的最大值
  7. 使用ajax后lazyload.js失败怎么办?
  8. 安装SQL Server
  9. openmv V版本芯片刷固件视频教程
  10. 将刷了Android的Lumia恢复为WP系统