一文读懂 Linux 硬盘挂载:从问题到解决方案
gudong366 2025-06-07 15:44 13 浏览
各位互联网大厂的后端开发伙伴们!在咱们日常工作中,操作 Linux 系统是常有的事儿吧。你们有没有遇到过这样的场景:新添加了一块硬盘,满心欢喜准备用来存储重要数据或者部署新的应用服务,却突然发现不知道该怎么把这块硬盘挂载到系统中,让它能被顺利使用?是不是瞬间有点懵圈,感觉无从下手了呢?
在互联网大厂的后端开发环境里,服务器存储资源的合理利用至关重要。随着业务数据量的不断攀升,时常需要添加新的硬盘来满足存储需求。而 Linux 系统作为服务器领域的 “扛把子”,掌握其硬盘挂载操作,就如同掌握了一把开启高效运维大门的钥匙。如果因为不熟悉硬盘挂载,导致新硬盘无法及时投入使用,可能会延误项目进度,影响业务正常运转。所以,今天咱就来好好聊聊 Linux 系统中硬盘挂载这一关键操作。
确认硬盘设备文件
这是挂载的第一步,就好比你要找到家门钥匙才能进屋一样,得先明确新硬盘在系统中的 “身份标识”,也就是设备文件。
使用lsblk命令
lsblk命令堪称一位贴心小助手,它能将系统中所有可用磁盘和分区以及它们当前的挂载点,以一种清晰直观的树形结构展示出来。你只需在终端中直接输入lsblk,然后回车,系统就会迅速响应。比如,当你执行该命令后,可能会看到类似这样的输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 100G 0 part /
└─sda2 8:2 0 100G 0 part /home
sdb 8:16 0 500G 0 disk
在这里,sda和sdb就是磁盘设备,sda1、sda2是sda磁盘的分区。如果新添加的硬盘是sdb,那后续操作就围绕它展开。
借助fdisk -l命令
fdisk -l命令是管理 MBR(主引导记录)分区表的交互式工具,虽然它的输出格式相对没那么直观,但能提供更为详细的分区信息。以查看/dev/sda的分区信息为例,你需要在终端中输入sudo fdisk -l /dev/sda。注意,这里使用了sudo,因为该操作需要管理员权限,否则可能会因权限不足而无法查看。执行命令后,你会看到类似下面这样的详细信息:
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 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: dos
Disk identifier: 0x12345678
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 20973567 20971520 10G 83 Linux
/dev/sda2 20973568 419430399 398456832 190G 83 Linux
这些信息包括磁盘的总容量、扇区大小、分区的起始和结束扇区等,对于深入了解磁盘结构非常有帮助。
运用parted命令
parted命令同样能派上大用场,它功能强大,支持多种文件系统类型,并且可以对 GPT(全局唯一标识分区表)和 MBR 分区表进行操作。比如,若要查看/dev/sda的详细分区信息,可在终端中输入sudo parted /dev/sda print。该命令的输出会以表格形式呈现,包含分区编号、文件系统类型、分区起始和结束位置等关键信息,能让你对磁盘分区情况一目了然。
创建挂载点
挂载点相当于给新硬盘在系统文件树中找一个 “落脚之处”,它是文件系统中的一个目录,作为访问挂载硬盘的入口。
通常情况下,咱们习惯在/mnt或/media目录下创建挂载点。这两个目录就像是专门为临时挂载设备准备的 “接待室”,符合 Linux 系统的文件管理规范。
创建普通挂载点
假设你想创建/mnt/mydisk作为挂载点,操作十分简单。在终端中输入sudo mkdir /mnt/mydisk并回车即可。这里使用sudo是因为创建目录可能涉及到系统目录的操作,需要管理员权限。执行完该命令后,系统会在/mnt目录下创建一个名为mydisk的空目录,等待硬盘的挂载。
创建多级挂载点
如果你的需求更复杂,比如要创建一个包含多级子目录的挂载点,像
/mnt/mydisk/subdir1/subdir2这种形式,也没问题。你只需在终端中输入sudo mkdir -p
/mnt/mydisk/subdir1/subdir2。其中,-p参数的作用就是当父目录不存在时,自动创建所需的各级目录。这样,系统就会按照你的要求,依次创建mydisk、subdir1以及subdir2目录,构建出完整的挂载点路径。
格式化分区
当你拿到一块新硬盘,或者想更改已有硬盘分区的文件系统类型时,就需要进行格式化操作。格式化就像是给硬盘分区 “定制装修风格”,让它能适应系统的存储需求。
使用mkfs工具格式化为ext4文件系统
mkfs是 Linux 系统中用于创建文件系统的工具集合,其中最常用的就是将分区格式化为ext4文件系统,这在 Linux 环境中广泛应用。以把/dev/sda1格式化为ext4文件系统为例,你需要在终端中输入sudo mkfs.ext4 /dev/sda1。执行该命令时要格外小心,因为格式化操作会清除分区上的所有数据。命令执行过程中,系统会显示格式化进度,完成后,该分区就具备了ext4文件系统格式,能够高效存储和管理数据。
格式化为xfs文件系统
在某些场景下,比如处理大容量文件或者需要高性能存储时,xfs文件系统可能更具优势。若要将/dev/sda1格式化为xfs,你可以在终端中输入sudo mkfs.xfs /dev/sda1。同样,执行此操作前务必确认数据已备份,因为格式化会清空分区数据。格式化完成后,分区就被 “装修” 成了xfs风格,能更好地满足特定业务对存储性能的要求。
挂载硬盘到挂载点
在某些场景下,比如处理大容量文件或者需要高性能存储时,xfs文件系统可能更具优势。若要将/dev/sda1格式化为xfs,你可以在终端中输入sudo mkfs.xfs /dev/sda1。同样,执行此操作前务必确认数据已备份,因为格式化会清空分区数据。格式化完成后,分区就被 “装修” 成了xfs风格,能更好地满足特定业务对存储性能的要求。
挂载硬盘到挂载点
这一步就是把格式化好的硬盘分区与之前创建的挂载点 “连接” 起来,让系统能够识别并访问硬盘中的数据。
使用mount命令进行挂载,它的基本格式为sudo mount [设备文件] [挂载点]。例如,你要把前面确认好的/dev/sda1分区挂载到刚刚创建的/mnt/mydisk挂载点上,只需在终端中输入sudo mount /dev/sda1 /mnt/mydisk。执行该命令后,如果没有报错信息,就表示挂载操作初步成功。此时,你可以通过访问/mnt/mydisk目录,来查看和操作/dev/sda1分区中的数据,就像访问系统其他目录一样方便。
检查挂载结果
挂载完成后,得确认一下硬盘是否真的成功挂载,就像安装完家具后要检查是否稳固一样。
使用df命令检查
df命令用于显示文件系统的磁盘使用情况,通过它可以直观判断硬盘是否挂载成功。在终端中输入df,系统会输出所有已挂载文件系统的相关信息,包括设备文件、总容量、已使用空间、可用空间、挂载点等。例如输出可能如下:
Filesystem 1K-blocks Used Available Use% Mounted on
udev 3937720 0 3937720 0% /dev
tmpfs 794644 4420 790224 1% /run
/dev/sda1 10485760 1526360 8959400 15% /
/dev/sdb1 41943040 2097152 39845888 5% /mnt/mydisk
从这里可以清晰看到/dev/sdb1已经成功挂载到/mnt/mydisk,并且相关的磁盘使用信息也一目了然。
使用df -h命令以人类可读格式查看
df -h命令中的-h参数,能让输出结果以人类更容易理解的格式展示,比如将容量单位转换为 GB、MB 等。执行df -h后,输出可能类似这样:
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 777M 4.3M 773M 1% /run
/dev/sda1 10G 1.5G 8.6G 15% /
/dev/sdb1 40G 2.0G 38G 5% /mnt/mydisk
这种格式更便于直观了解磁盘的使用情况,快速确认硬盘挂载是否成功以及磁盘空间的大致占用情况。
设置自动挂载
如果希望每次系统启动时,硬盘都能自动挂载,而无需手动执行挂载命令,那就需要编辑/etc/fstab文件。这个文件就像是系统启动时的 “挂载任务清单”,记录了需要自动挂载的设备信息。
用nano编辑器打开文件
你可以在终端中输入sudo nano /etc/fstab,使用nano文本编辑器打开/etc/fstab文件。nano编辑器操作简单,适合初学者。打开文件后,你会看到一系列类似下面这样的行:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 / ext4 errors=remount-ro 0 1
这些行分别定义了不同文件系统的挂载信息。
用vim编辑器打开文件
若你更习惯使用vim编辑器,也可以在终端中输入sudo vim /etc/fstab来打开文件。vim功能强大,但操作相对复杂一些,需要掌握一些基本的命令。打开文件后,界面与nano有所不同,但同样能对文件内容进行编辑。
添加挂载信息
在打开的/etc/fstab文件中,添加一行挂载信息。其格式为 “设备文件名 挂载点 文件系统类型 defaults 0 0”。例如,要让/dev/sda1在每次系统启动时自动挂载到/mnt/mydisk,且文件系统类型为ext4,你就在文件末尾添加/dev/sda1 /mnt/mydisk ext4 defaults 0 0这一行。这里的defaults表示使用默认挂载选项,两个0分别表示是否进行备份(0 表示不备份)和文件系统检查顺序(0 表示不检查,根分区一般设为 1,其他分区设为 2)。添加完成后,保存并关闭文件(nano中按Ctrl+X,然后按Y确认保存,最后按Enter;vim中按Esc进入命令模式,输入:wq并回车)。这样,下次系统启动时,/dev/sda1就会自动挂载到/mnt/mydisk。
卸载硬盘
当需要移除硬盘,或者对挂载点进行维护、更改挂载设置等操作时,首先要做的就是卸载硬盘,确保数据安全和系统稳定。
使用umount命令通过设备文件卸载
umount命令用于卸载已挂载的文件系统。如果你想通过设备文件来卸载,比如要卸载/dev/sda1,在终端中输入sudo umount /dev/sda1即可。执行该命令前,务必确保没有任何进程正在访问该设备上的数据,否则卸载可能会失败,并提示设备忙的错误信息。
使用umount命令通过挂载点卸载
你也可以通过挂载点来卸载硬盘。例如,要卸载挂载在/mnt/mydisk上的硬盘,在终端中输入sudo umount /mnt/mydisk。同样,在执行卸载操作前,要确认没有进程在访问该挂载点及其关联的文件系统,以免出现数据丢失或损坏的风险。
总结
好啦,各位小伙伴们!关于 Linux 系统中硬盘挂载的操作步骤及具体实现方式,都已经详细给大家介绍完了。以后再遇到硬盘挂载的问题,可别再愁眉苦脸啦。赶紧动手实践起来,把这些知识运用到实际工作中。要是在操作过程中有任何疑问或者新的发现,都欢迎在评论区留言分享。让咱们一起在 Linux 系统运维的道路上,越走越顺,不断提升工作效率!
- 上一篇:CentOS如何挂载硬盘
- 下一篇:Linux下挂载磁盘详细步骤
相关推荐
- 梦幻诛仙12职业1亿元宝版本架设教程(包含资源下载)
-
架设教程:1;上传脚本zx到bin文件夹,给权限chmod-R777/bin2;输入zx安装宝塔面板输入对应序号,中途输入Y继续3;安装好之后,会给个宝塔地址及账号密码,复制地址...
- Java零基础入门,科普Java你应该了解什么
-
最近很多人问我想学Java但是一点基础没有,网上看了一堆学习线路图还是无从下手。今天耗时3小时整理了一套保姆级的Java入门教程,建议收藏按照线路图一点点学习。一、Java的概况Java是1995年6...
- 01.Java发展历史(java发展历史简要)
-
1.Java发展历史Java由SunMicrosystems公司(现为Oracle公司)的JamesGosling及其团队在1991年开发,最初命名为"Oak",后改名为"...
- Ubuntu16.04.1安装Java8(ubuntu终端安装java)
-
上篇文章讲解了怎么在Windows下安装Java8《Windows10安装Java8》,这里讲解下怎么在Linux下安装Java。由于之前已经安装了Ubuntu16.04.1《VmwareWorkst...
- 性能测试能力提升-JVM GC监控和优化
-
一、背景接着上一篇的知识:性能测试能力提升-JVMGC原理,本篇文章,我们将主要介绍JVMGC监控和优化相关的知识:命令行方式监控GC图形化方式监控GC什么时候需要开始GC优化?GC优化的目的GC...
- Spring Boot Jar 包秒变 Docker 镜像实现多环境部署
-
你是否在互联网大厂后端开发工作中,遇到过这样的困扰?当完成一个SpringBoot项目开发,准备将Jar包部署到不同环境时,却发现各个环境依赖不同、配置复杂,部署过程繁琐又容易出错,不仅耗费...
- 「JDK 11」关于 Java 模块系统,看这一篇就够了
-
继2014年3月Java8发布之后,时隔4年,2018年9月,Java11如期发布,其间间隔了Java9和Java10两个非LTS(LongTermSupp...
- 对Java学习的10条建议(对java的认识和理解)
-
不少Java的初学者一开始都是信心满满准备迎接挑战,但是经过一段时间的学习之后,多少都会碰到各种挫败,以下北风网就总结一些对于初学者非常有用的建议,希望能够给他们解决现实中的问题。Java编程的准备:...
- JAVA入门教程-第1章 概述(java入门指南)
-
大道至简-JAVA入门教程在本教程中,你将学习Java语言的基础知识。Java基础内容涵盖:Java基础概念、Java词法结构、Java数组、Java流程控制、Java字符串、Java...
- 推荐一款Java音频视频编码器,很赞
-
Jave2是什么JAVE2(Java音频视频编码器)库是ffmpeg项目上的Java包装器。开发人员可以利用JAVE2将音频和视频文件从一种格式转码为另一种格式。在示例中,您可以将AVI文件转换为MP...
- 【JAVA教程】JAVA入门及开发环境安装
-
一、Java开发环境概述Java开发需要三个核心组件:JDK(JavaDevelopmentKit)-Java开发工具包,开发、编译、调试Java程序JRE(JavaRuntimeE...
- Windows和Linux环境下的JDK安装教程
-
JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...
- 记Tomcat优化方案(tomcat优化的几种方法)
-
Tomcat服务吞吐量评估方案问题:评估方案在一台8核16G的linux服务器上,使用tomcat容器部署服务。在正常情况下如何评估这个tomcat服务可处理的连接数,即服务的吞吐量,请在正常情况下考...
- JVM GC诡异问题排查,k8s差点害死我……
-
前言本文将通过一个真实的生产环境案例,详细展示如何系统性地排查和解决JVM垃圾收集问题。这个案例涵盖了从问题发现、分析诊断到最终解决的完整过程,对于理解JVM调优实战具有重要的参考价值。系统背景我们的...
- Thorium Reader - 功能强大的跨平台免费电子书阅读器
-
在日常阅读日益普及的今天,选择一款合适的电子书阅读器至关重要。ThoriumReader作为一款独具特色的阅读应用,正逐渐在众多同类产品中崭露头角,为用户带来了卓越的阅读体验。 跨平台的便捷性...
- 一周热门
- 最近发表
- 标签列表
-
- linux一键安装 (31)
- linux运行java (33)
- ln linux (27)
- linux 磁盘管理 (31)
- linux 内核升级 (30)
- linux 运行python (28)
- linux 备份文件 (30)
- linux 网络测试 (30)
- linux 网关配置 (31)
- linux jre (32)
- linux 杀毒软件 (32)
- linux语法 (33)
- linux博客 (33)
- linux 压缩目录 (37)
- linux 查看任务 (32)
- 制作linux启动u盘 (35)
- linux 查看存储 (29)
- linux乌班图 (31)
- linux挂载镜像 (31)
- linux 软件源 (28)
- linux题目 (30)
- linux 定时脚本 (30)
- linux 网站搭建 (28)
- linux 远程控制 (34)
- linux bind (31)