当前位置:首页 > 每日看点

如何在 Linux 系统上进行磁盘挂载?

卡卷网1年前 (2025-03-26)每日看点312
近期对工作站主机新增了硬盘,网上搜罗了一些教程,整合了一下,感谢相关博主的知识分享,本篇只是整合

参考:

  1. zhuanlan.zhihu.com/p/11
  2. cn.linux-console.net/?

新增硬盘处理

新增硬盘后,在linux系统下输入 fdisk -l 命令查看当前磁盘信息


如何在 Linux 系统上进行磁盘挂载?  第1张



可以看到除了当前的第一块硬盘(sda)外还有一块sdb的第二块硬盘(sdb),然后用命令: fdisk /dev/sdb 给第二块硬盘进行分区


如何在 Linux 系统上进行磁盘挂载?  第2张



进入 fdisk 命令,输入 h 可以看到该命令的帮助,输入 n 进行分区


如何在 Linux 系统上进行磁盘挂载?  第3张



这里输入 e 即分为逻辑分区,按 p 即分为主分区,我们要将这块盘分为主分区即输入 p


如何在 Linux 系统上进行磁盘挂载?  第4张



到这里需要你选择该主分区为第几个主分区,由于是新盘我们输入1来分第一个主分区


如何在 Linux 系统上进行磁盘挂载?  第5张



First Cylinder是选择该分区的起始磁盘数,这里可自定义也可不做选择,默认是1,如无特殊需求强烈建议选择默认,也就是1来分区(直接按回车)


如何在 Linux 系统上进行磁盘挂载?  第6张



接下来是定义该分区的大小,如果按默认(按回车)即是使用全部可用存储额,也可以是用M或m单位结尾的数字(大写M是大B的意思,如果输入1M实际上是X8也就是8m的空间),这里我们先分一个1G的空间,所以输入+1024m


如何在 Linux 系统上进行磁盘挂载?  第7张



之后输入w写入分区,等待结束皆可


如何在 Linux 系统上进行磁盘挂载?  第8张



再输入fdisk -l 可以看到我们刚才分的一个分区,之后用 mkfs -t ext3 -c /dev/sdb1 进行格式化,如有多个分区可把sdb1改成sdb2 sdb3...以此类推,具体可用 fdisk -l 看到每个分区的名字


如何在 Linux 系统上进行磁盘挂载?  第9张



现在分区好了我们用mount 挂载一下该分区即可使用了,这里我把它挂载到mnt目录下,也可以自建一个目录挂载


如何在 Linux 系统上进行磁盘挂载?  第10张



来看一下分区大小是否和预定的一样,使用 df -TH 命令看一下当前挂载的分区和大小,看到我们刚分的分区了吧


如何在 Linux 系统上进行磁盘挂载?  第11张



如果想每次系统重启都能自动挂载该分区可修改/etc/fstab文件,在最后加一段 /dev/sdb1 /www ext3 defaults 1 2 (格式说明:/dev/sdb1 代表哪个分区 ext3是该分区的格式 defaults 是挂载时所要设定的参数(只读,读写,启用quota等),输入defaults包括的参数有(rw、dev、exec、auto、nouser、async) ,1是使用dump是否要记录,0是不要。 2是开机时检查的顺序,是boot系统文件就为1,其他文件系统都为2,如不要检查就为0)


如何在 Linux 系统上进行磁盘挂载?  第12张


将 ext3 文件系统升级为 ext4 文件系统

与前身 ext3 相比,ext4 文件系统在性能方面进行了多项改进。 Ext4 不仅比 ext3 更快,而且还可以处理更大的文件系统和文件,以及许多其他底层改进。如果您尚未在 Linux 上升级到 ext4,那么现在绝对是时候升级了。

在本教程中,我们将逐步介绍将 ext3 文件系统转换为 ext4,从而启用一些 ext4 性能增强功能。按照以下步骤将 ext3 转换为 ext4,而不会丢失数据。

在本教程中您将学习:

  • 如何从 ext3 升级到 ext4 文件系统


如何在 Linux 系统上进行磁盘挂载?  第13张


将 ext3 转换为 ext4

警告
在继续之前,请注意,将 ext3 分区转换为 ext4 文件系统后,您将无法再将该分区挂载为 ext3。此外,如果您要转换为 ext4 的 ext3 分区在引导加载过程中被 Grub 使用,请确保 Grub 加载程序能够使用 ext4 文件系统进行引导。
  1. 第一步是……备份!在转换过程中不应该出现任何问题,但是如果在修改文件系统之前避免进行备份,那就太疏忽了。
  2. 在我们的示例场景中,我们将使用现有的 <font style="color:rgb(232, 62, 140);">/dev/sdb1</font> 分区,该分区使用 ext3 文件系统进行格式化。这是我们的 ext3 安装分区:

# mount | grep sdb1 /dev/sdb1 on /mnt/temp type ext3 (rw,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered)

  1. 确保在继续之前卸载 ext3 分区:

# umount /mnt/temp/

  1. 修改 ext3 文件系统以包含 ext4 功能:

# tune2fs -O extents,uninit_bg,dir_index /dev/sdb1

  1. 如果成功,您不会从上面的命令收到太多输出。该命令完成后,优化和修复文件系统目录并使用以下命令强制进行文件系统检查:

# e2fsck -fD /dev/sdb1 e2fsck 1.45.5 (07-Jan-2020) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 3A: Optimizing directories Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sdb1: ***** FILE SYSTEM WAS MODIFIED ***** /dev/sdb1: 12/54216 files (0.0% non-contiguous), 12765/216060 blocks

  1. 现在,我们可以测试挂载新的 ext4 文件系统:

# mount /dev/sdb1 /mnt/temp/ # mount | grep sdb1 /dev/sdb1 on /mnt/temp type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)

全做完了。我们已成功将 ext3 文件系统转换为 ext4。

结束语

在本教程中,我们了解了如何使用 Linux 命令将 ext3 文件系统转换为 ext4。安装新文件系统后,您将能够享受 ext4 的所有功能,这些功能主要归结为性能的急剧提高。享受!

开机自动挂载

摘要

本文探讨如何在 Linux 开机的时候自动挂载分区。

引言

在上一篇文章中,我们讲述了如何在 Linux 中使用 mount 命令手动挂载分区,但这样的挂载不是永久的,只要重启系统,原先手动挂载好的分区就没了,你还得重新挂载,十分麻烦。

好在 Linux 提供了开机自动挂载分区的功能,我们可以通过一个名为 /etc/fstab 的配置文件,来指定需要在开机时挂载的分区。

使用 cat 命令查看 /etc/fstab 文件。其中以 # 打头的是注释行,基本是就是对文件的一些说明,可以忽略。

root@centos:~# cat /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sdb2 during installation UUID=e804b980-479c-41e3-95dd-2772bf4422fc / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/sdb1 during installation UUID=173C-5F1B /boot/efi vfat umask=0077 0 1 /swapfile none swap sw 0 0 UUID=11fc041c-5574-4fcc-85f8-c50da2f24d1a /data ext4 defauts 0 0

其它未被注释的行分别对应于在开机时会被自动挂载的分区,每行都有六个字段:

  • 第一字段:指定了要挂载的设备,可以是一个 /dev 目录下的设备文件,例如 /dev/sdd1,也可以通过设备标签或者所谓的 UUID 来指定要挂载的设备,如 LABEL=某个设备标签UUID=某个设备UUID。用设备标签或 UUID 更加安全和稳定。
  • 第二字段:挂载点。指定了挂载设备的目录。对于 swap 是没有挂载点,该处就显示 swap。
  • 第三字段:挂载分区文件系统类型。定义了该设备上的文件系统。一般常用的文件系统类型为 ext4,swap 或者 iso9600。
  • 第四字段:挂载参数。指定文件系统挂载后的一些行为属性。多个参数用逗号分隔。defauts 表示默认挂载参数。
  • 第五字段:dump 参数。被 dump 命令使用,来检查一个文件系统是否应该进行 dump 备份。不需要就设置为 0,如果需要每天备份,设置为 1,不定期备份,设置为 2。
  • 第六字段:开机检查分区的次序。该字段被 fsck 命令来确定系统开机时进行文件系统检查的顺序。对于根分区,这个值为 1,表示优先。其它文件系统可以设置为 2,表示次优,如果为 0 或没有设置,开机跳过此文件系统的检查。

例如,将 sdd1 设置开机自动挂载到 /project/finshed,仅需要打开 /etc/fstab 文件,在末尾添加一行:/dev/sdd1 /project/finshed ext4 defaults 0 0

root@centos:~# vi /etc/fstab # 添加一行 /dev/sdd1 /project/finshed ext4 defaults 0 0

最后,我们检查一下 /etc/fatab 中的配置是否正确。无需重启,只要用 mount -a,它会依据 /etc/fatab 文件将所有未挂载的分区都挂载好;还有 swapon -a,它会依据 /etc/fatab 文件将所有未启用的交换分区都开启。此时,我们文件系统开机自动挂载就配置好了。

但是,按照上述做法挂载分区,在某些情况下可能遇到问题。假设主机上有若干块可以热插拔的硬盘,在主机运行的过程中,这些硬盘会被经常插拔,因此硬盘次序,包括硬盘的设备名会经常改变,如 sdb 在下次会变成 sdc。显然,如果遇到这样的问题,自动挂载就会出问题。

如何保证 /etc/fstab 文件中的设备能够正确的挂载到挂载点上呢?这时候就要用到前面提到的标签或 UUID 了。标签就是给分区起的有意义的别名。对于有多个硬盘的系统,并且硬盘次序可能发生改变的情况,标签可能会很有帮助。

为分区加上标签的命令十分简单,使用 e2label 分区设备名 标签名 命令即可。

root@centos:~# e2label /dev/sdd1 part1 root@centos:~# vi /etc/fstab # 添加一行 LABEL=part1 /project/finshed ext4 defaults 0 0

但标签挂载分区也是有缺点的,因为标签不具有唯一性,因此有时会碰到两个分区的标签重名的情况。如用标签来挂载,系统就无法确定要挂载哪个分区了。

事实上,最保险的方法就是通过分区设备的 UUID 来挂载文件系统。每个分区都有一个唯一的 UUID,准确地来说,UUID 是一个标识系统中存储设备的字符串。

不管它们是什么类型的,它都可以用来表示光盘驱动器,USB 存储设备以及系统硬盘分区。与设备名或设备标签相比,其优点如下:

  • 真正的唯一标识符(设置名会变,标签可能重名)
  • 不变性(无论如何插拔或调换顺序它总是不变的)

UUID 根据分区的不同,长度和格式都可能会不相同。使用 blkid 命令可以获取设备的 UUID:

root@centos:~# blkid ... /dev/sdd1: UUID="05a1eb34-fc9d-4f90-adaf-7d15a4624563" TYPE="ext4" PARTUUID="052c9058-01" /dev/sdd5: UUID="4b1ff6f0-63e1-46ee-a39d-f3f85eef5344" TYPE="ext4" PARTUUID="052c9058-05" /dev/sdd6: UUID="5037-D97B" TYPE="vfat" PARTUUID="052c9058-06" /dev/sdd7: UUID="5f85dd52-fdb6-42ed-920a-7c45b4a90d04" TYPE="ext4" PARTUUID="052c9058-07" /dev/sdd8: UUID="a9a5244d-d063-4a8e-96e7-8e2157a3be32" TYPE="ext4" PARTUUID="052c9058-08"

接下来,我们尝试使用 UUID 来挂载 sdd1:

root@centos:~# vi /etc/fstab # 添加一行 UUID=05a1eb34-fc9d-4f90-adaf-7d15a4624563 /project/finshed ext4 defaults 0 0

参考

中国大学 MOOC | Linux 系统管理 | 主题 07 管好硬盘 | 小节 4 自动挂载分区
来自: 【Linux】自动挂载分区(/etc/fstab | UUID)_linux fstab uuid-CSDN博客

更改权限

挂载后仅 root 用户可访问,需要修改权限:

sudo chmod 777 /home/xxx/xxxx

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/03/12013.html

分享给朋友:

相关文章

手机买16+256的还是12+512的好?

手机买16+256的还是12+512的好?

到底选大内存还是大存储,一直以来是很多朋友的纠结点,大内存意味着可以应用多开不卡顿,大存储则是可以存入更多文件、应用,如果两个配置价格差距不大(如0-200元),确实有点难选。 不过从实际体验出发,大存储的手机显然更应该优先选择才是。首先,…

我觉得华为Mate60Pro明明配置不高,为什么还是有那么多人买呢?

我也好奇啊,所以闲聊时,我问了我们公司的副总,我说Mate60pro配置这么拉胯你怎么还买啊? 他一脸疑惑的看着我,配置?什么配置?我这手机信号挺好的啊? 我们总经理用的是去年华为出的折叠手机,花了一万多,我也想问问他同样的问题,但奈何一直…

为什么这次 Mac mini 的 M4 版本价格这么低?

为什么这次 Mac mini 的 M4 版本价格这么低?

扫了一眼这里的回答,目测没几个人真买过 Macbook、Mac mini且真正当主力工作机用过。 这个初始(丐版)版本的机器实际谈不上多便宜,备受热捧有几个原因。 它这代产品整体做了重新设计,大幅缩减了尺寸,真正称得上 Mini 了。…

什么样的网站能快速捕获你的心?

什么样的网站能快速捕获你的心?

大家好,我是程序员鱼皮。 大家如果平时使用网站或产品时出现了问题,一般都会去寻找 “联系客服” 的位置,从而获得人工的帮助。我们团队的面试刷题产品 - 面试鸭最近就遇到了这样一个难题:明明我们网站右下角就有联系客服按钮、而且我们每道面试题目…

为什么闲鱼越做越差?

理想的闲鱼:卖家视角:4000块钱买的手机,用了半年不想用了,挂一个3000块,和买家一顿交流,最后2500块成交,我得到了回血,买家得到了便宜; 买家视角:想用一台4000块的手机,但是手里只有2500块,来到闲鱼和卖家一顿交流,最后25…

在 Kubernetes 中,Service 的实现原理是什么,它是如何实现服务发现的?

行,问的这个问题挺有意思,Kubernetes 里 Service 是怎么实现的,服务发现是怎么回事,咱就直说了。这事儿看起来挺玄乎,但掰开揉碎了讲,也就那么回事。你得把这事儿想得简单点,别一上来就被啥术语吓住了——其实全是些搬砖的套路。…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。