linux中fstab文件的作用,如何在Linux上写入fstab文件 | MOS86

在Linux计算机上添加新的硬盘驱动器或固态驱动器? 您需要编辑fstab文件。 很多人觉得这个主意很吓人。 是的,至关重要的是您要正确,但掌握了正确的知识,这确实并不困难。 我们将引导您完成编辑fstab文件的过程,以将新驱动器集成到文件系统中。

尽管在Linux计算机上添加新的硬盘驱动器并不太复杂,但是第一次尝试时可能会有些混乱。 您已连接硬件,打开计算机电源并登录到操作系统。 但是您无法在任何地方看到新驱动器。 为什么不显示? 您如何让Linux查看驱动器,以便可以开始对其进行配置?

实际上,Linux已经看到了您的硬件,但并没有立即宣布。 甚至提示您它已找到新硬件。 您必须询问Linux以获得需要放入fstab文件中的信息。

以下是设置新硬盘驱动器的方法,以便Linux和您可以看到并使用它。 该过程分为两个部分。 第一部分是进行一些侦查,以识别硬盘驱动器并收集有关它的一些信息。 第二部分是使用侦察阶段收集到的信息来编辑fstab文件。

正在向该系统添加两个新驱动器。 一个是32 GB的机械硬盘驱动器(HD),另一个是16 GB的固态硬盘(SSD)。

我们需要知道Linux可以看到它们,以及Linux用于它们的块设备。 在Linux和类似Unix的操作系统中,块设备是一个特殊文件,充当与设备之间的接口,可以从中读取和写入数据(除非它是只读的)。 块设备通常代表某种大容量存储单元(例如,硬盘上的分区或CD-ROM。它们在/ dev目录中创建。

我们可以使用lsblk命令列出连接到Linux计算机的块设备。

我们可以使用lsblk命令列出连接到Linux计算机的块设备。

lsblk的输出以列为单位。

这些列是:

在上面的屏幕截图中,您可以看到环路设备的主要编号均为7(表示环回或环路设备),次编号仅每次递增1。 循环设备与squashfs文件系统一起使用。 每次使用snappy软件包管理系统安装应用程序时,都会创建一个squashfs文件系统。

SCSI硬盘驱动器具有sda,sdb和sdc之类的名称,并且全部具有8个主要编号(SCSI硬盘驱动器)。 次要数字以16s分组。 第一个驱动器的次要编号sda从0到15。0代表物理驱动器,次要编号1代表该驱动器上的第一个分区。 对于第二个驱动器sdb,次编号从16到31。16表示物理驱动器,而17表示该驱动器上的第一个分区。 接下来的16个数字(32到47)用于sdc的次要数字,依此类推。

其他常见的主要数字是3(对于IDE硬盘驱动器)和11(对于CD-ROMS)。

实际上,不建议使用SDCSI CD-ROM驱动器的/ dev / sr0样式。 批准的格式为/ dev / scd0。 尽管如此,/ dev / sr0格式仍在用于研究本文的所有机器上使用。

内核文档包含一长串,列出了主要和次要数字可以采用的所有值。 它的列表很长。

为了使lsblk的输出杂乱无章,我们可以使用grep仅选择我们感兴趣的项。 我们知道我们还没有添加环路设备,因此让我们选择所有SCSI硬盘驱动器。 我们知道这些将在其名称中包含sd。

为了使lsblk的输出杂乱无章,我们可以使用grep仅选择我们感兴趣的项。 我们知道我们还没有添加环路设备,因此让我们选择所有SCSI硬盘驱动器。 我们知道这些将在其名称中包含sd。

此命令将导致grep只打印sd中的行。 在我们的测试机上,我们看到:

因此,我们有三个SCSI驱动器。 第一个/ dev / sda安装在文件系统/的根目录下。 其余两个根本没有安装,这是全新驱动器所期望的。 我们可以看到驱动器/ dev / sdb的大小为32 GB,这意味着它是我们的传统机械驱动器。 驱动器/ dev / sdc的大小为16 GB,这是我们的SSD驱动器。

实际上,由于这是虚拟计算机,所以它们也是虚拟磁盘。 因此,SSD就像SCSI机械驱动器一样出现。 在我的常规桌面上,我的NVMe SSD显示为/ dev / nvme0n1,它的第一个分区是/ dev / nvme0n1p1。 它的主要数字是259。这些差异不会改变我们在fstab文件中要做的事情,但是请注意,如果您有SSD,它就不会显示为物理驱动器。

另外,如果驱动器是全新的,则驱动器上可能没有分区。 如果需要,可以使用fdisk创建分区。

相关文章如何在Linux上使用Fdisk来管理分区

如果我们将-o(输出)选项与lsblk一起使用,并在显示中添加ROTA(旋转)列,则lsblk将使用1指示旋转存储设备(机械驱动器),使用0指示非旋转存储设备 设备(固态驱动器)。

如果我们将-o(输出)选项与lsblk一起使用,并在显示中添加ROTA(旋转)列,则lsblk将使用1指示旋转存储设备(机械驱动器),使用0指示非旋转存储设备 设备(固态驱动器)。

在显示的右侧,我们还有一个额外的列,即ROTA(旋转)列。 如您所见,SSD的设备和分区为0。 这是有道理的,因为SSD是不可旋转的存储设备。

在开始考虑fstab文件之前,请检查我们是否可以手动安装驱动器。 这样,如果在使用fstab文件时某些操作不起作用,则众所周知问题一定是我们的语法,而不是驱动器本身的问题。

在/ mnt目录中创建一些临时挂载点。 您将需要使用sudo,并且将提示您输入密码。

须藤mkdir / mnt / scsi

须藤mkdir / mnt / ssd

现在,将SCSI驱动器安装在新的安装点上。 最好以最简单的形式使用mount命令。 告诉它我们要挂载的分区的名称,以及我们要挂载其的挂载点。 mount将在我们指定的安装点将文件系统安装在该分区上。

指定的是用于保存文件系统的分区,而不是驱动器,因此请确保包括该分区的数字,在这种情况下为1。

须藤挂载/ dev / sdb1 / mnt / scsi

如果一切顺利,安装将不会有任何响应。 您默默地返回到命令提示符。

安装SSD非常简单。 我们告诉mount在哪个设备上要挂载哪个分区,以及要在其上挂载的挂载点。

须藤挂载/ dev / sdc1 / mnt / ssd

同样,沉默是金色的。

相关文章:如何从Linux终端挂载和卸载存储设备

要验证是否已进行安装,请再次使用lsblk。 通过grep很好地输出其输出,并选择sda1,sdb2和sdc1条目。

要验证是否已进行安装,请再次使用lsblk。 通过grep很好地输出其输出,并选择sda1,sdb2和sdc1条目。

mount向我们显示了三个已安装的分区。 那就是我们刚刚挂载的两个,而原始分区挂载在/上。

分区/ dev / sdb1安装在/ mnt / scsi上,并且在旋转的存储设备上。 分区/ dev / sdc1安装在/ mnt / ssd上,并且位于非旋转存储设备上。 一切似乎都很好。

现在,我们需要配置fstab文件,以便在每次启动计算机时都安装这些设备。

fstab文件包含重新启动计算机时安装的每个文件系统的条目。 每个条目由六个字段组成。这些字段是:

必须按此顺序指定这些字段,并且它们之间必须有空格或制表符。 寻找这些字段的值可能会令人生畏,尤其是选项字段的值。 options字段选项必须在逗号分隔的列表中,并且之间不能有空格。

每个文件系统的手册页将列出可以使用的选项。 ext4大约有40个选项。以下是一些较常见的选项:

默认选项是一个很好的开场白。 如果需要进行一些微调,则可以添加或删除其他选项。如果只有一种巧妙的方法来获取所需的设置,则需要按顺序将其输入fstab文件中。

输入mtab文件。

mtab文件是当前已挂载的文件系统的列表。这与fstab文件相反,后者列出了在引导时应挂载的文件系统。mtab文件包括手动挂载的文件系统。 我们已经安装了新驱动器,因此它们应该显示在mtab文件中。

我们可以使用cat查看mtab文件的内容。 通过将输出通过grep传递并仅查看/ dev / sdb1和/ dev / sdc1来限制输出。

猫/ etc / mtab | grep sd [b-c] 1

输出显示了这两个分区的mtab条目。

我们可以提升这些值并将其直接放入fstab文件中,确保每个字段之间都有空格或制表符。 那就是那样。 重新启动时,驱动器将被安装。

有两个警告。 一个是挂载点。 我们创建临时挂载点只是为了证明我们可以在新驱动器上挂载新分区。 如果周三需要更改,则需要输入实际的挂载点而不是我们的临时挂载点。

第二个警告是,如果我们使用mtab文件中的设置,那么最好将块设备文件用作每个分区的标识符。 那可以工作,但是如果将新的大容量存储硬件添加到计算机中,则/ dev / sda和/ dev / sdb等值可能会发生更改。 这意味着fstab文件中的设置不正确。

每个分区都有一个通用唯一标识符(UUID),我们可以使用它来标识分区。 这将永远不会改变。 如果我们使用UUID来标识fstab文件中的分区,则设置将始终保持准确和真实。

如果您将新分区用作廉价磁盘冗余阵列(RAID)系统的一部分,请查阅该系统的文档。 它可能指定您必须使用块设备标识符而不是UUID。

要查找分区的UUID,我们可以使用blkid打印块设备的属性。 将输出限制为新驱动器上的两个新分区:

要查找分区的UUID,我们可以使用blkid打印块设备的属性。 将输出限制为新驱动器上的两个新分区:

输出包括每个分区的UUID。

PARTUUID是UUID的一种形式,可以与GUID分区表(GPT)分区方法一起使用(如果您不使用主引导记录(MBR)分区方法)。

在编辑器中打开fstab文件。 使用的是gedit,这是大多数Linux发行版中都易于使用的编辑器。

须藤gedit / etc / fstab

随即出现编辑器,其中已加载了fstab文件。

该fstab文件中已经有两个条目。 它们是现有硬盘驱动器/ dev / sda1上的分区以及交换文件系统。 注意不要更改这些条目。

我们需要向fstab文件添加两个新条目。 一个用于SCSI驱动器上的分区,另一个用于SSD驱动器上的分区。 好吧,首先添加SCSI分区。 请注意,以井号#开头的行是注释。

现在,将fstab条目分区添加到SSD驱动器的单独一行中。

保存文件并关闭编辑器。

相关:如何使用gedit在Linux上以图形方式编辑文本文件

我们可以卸载新驱动器,然后在fstab文件上强制刷新。 成功安装新分区将验证我们输入的设置和参数在语法上是否正确。 这意味着我们的fstab文件应在重新引导或加电顺序期间正确处理。

要卸载SCSI驱动器,请使用此命令。 请注意,umount中只有一个n:

须藤umount / dev / sdb1

要卸载SSD驱动器,请使用以下命令:

须藤umount / dev / sdc1

现在,使用lsblk来检查是否已安装这些块设备。

现在,使用lsblk来检查是否已安装这些块设备。

并且我们看到了块设备存在于计算机中,但是没有安装在任何地方。

我们可以使用带有-a(all)选项的mount命令来重新挂载fstab中的所有文件系统。

须藤挂载-a

我们可以再次使用lsblk进行检查,以查看是否已安装新分区:

我们可以再次使用lsblk进行检查,以查看是否已安装新分区:

一切都将安装在应该安装的位置。现在,我们要做的就是更改安装点的所有权,否则root将是唯一可以访问新存储设备的人。

我们可以使用chown轻松地做到这一点。 这是用于SCSI挂载点的命令:

sudo chown dave:用户/ mnt / scsi

这是SSD挂载点的命令:

sudo chown dave:用户/ mnt / ssd

现在,我们知道已经添加的分区将为我们装载,因此我们可以放心地重新启动计算机,并且我们可以访问它们。

所有艰苦的工作都在侦察阶段,这也不难。 一旦收集了所需的信息,就可以轻松编辑fstab文件。 准备就是一切。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值