超详细!Linux 磁盘挂载到指定路径全攻略

在互联网软件开发领域,Linux 系统以其强大的性能、高度的稳定性以及丰富的开源资源,成为了众多开发人员的首选。而在使用 Linux 系统的过程中,磁盘挂载是一项极为重要的基础操作。无论是为了扩展存储空间、优化数据管理,还是进行系统性能调优,准确无误地将磁盘挂载到指定路径,都是开发人员必须掌握的关键技能。今天,咱们就来深入探讨一下在 Linux 中挂载磁盘到指定路径的详细步骤与相关要点。

准备工作

(一)确认磁盘信息

在着手挂载磁盘之前,首要任务是明确系统中磁盘的具体情况。这就需要借助一些实用的命令工具。比如,使用 “sudo fdisk -l” 命令,它能够详细列出系统中所有磁盘及其分区的信息,包括磁盘的设备名称(像 /dev/sda、/dev/sdb 等)、分区的大小、类型以及分区的起始和结束扇区等关键数据。另外,“lsblk” 命令也非常实用,它以一种直观的树状结构展示磁盘和分区的信息,让你能迅速看清各个磁盘和分区之间的层级关系,同时还能显示出已挂载分区的挂载点。通过这两个命令,你可以轻松确认要挂载的目标磁盘设备,比如常见的 /dev/vdb 或者 /dev/sdc 等。

(二)数据备份

这里一定要特别提醒大家,对磁盘进行分区或者格式化操作,都会无情地清除磁盘上原有的所有数据。所以,在执行这些操作之前,务必对磁盘中的重要数据进行全面备份。可以将数据备份到外部存储设备,比如大容量的移动硬盘,也可以备份到可靠的云存储平台。数据就是我们的 “命根子”,做好备份,才能让我们在后续操作中没有后顾之忧。

判断是否需要创建分区

(一)检查磁盘分区状态

使用 “sudo fdisk -l” 命令仔细查看输出结果,如果在其中没有找到目标磁盘对应的分区信息,比如预期的 /dev/vdb1 没有显示,或者通过 “lsblk” 命令发现目标磁盘没有子节点,那就表明该磁盘尚未进行分区,此时就需要进行分区操作。相反,如果磁盘已经存在分区,那么可以直接跳过分区步骤,进入格式化环节。

(二)创建分区(针对未分区磁盘)

以常见的 /dev/vdb 磁盘为例,我们使用 “fdisk” 工具对其进行分区。在终端中输入 “sudo fdisk /dev/vdb”,即可进入 “fdisk” 的交互模式。接下来,按照以下具体步骤操作:

  1. 输入 “n” 并回车,这一步是新建分区的指令。
  2. 选择分区类型为 “主分区(Primary partition)”,直接按默认输入 “p” 并回车。主分区在系统中有着重要的地位,通常用于安装操作系统等关键数据存储,并且一个磁盘最多可以创建 4 个主分区。
  3. 分区号方面,一般按默认值直接回车就行。默认值会根据磁盘当前的分区情况自动分配一个合理的分区号。
  4. 起始扇区同样按默认值回车,默认值会从磁盘的最佳起始位置开始划分分区。
  5. 结束扇区这里,如果希望使用全部磁盘空间来创建这个分区,那就直接回车;要是你想指定分区的大小,比如只想划分出 10GB 的空间作为一个分区,那就输入 “+(大小)(单位)” 的格式,像 “+10G” 就表示创建一个 10GB 大小的分区。
  6. 分区类型修改属于可选步骤,若有需求,输入 “t” 并回车,然后输入对应分区类型的代码。对于 Linux 系统常用的 ext4 文件系统,默认代码通常是 “83”。不同的文件系统类型适用于不同的应用场景,ext4 在一般的 Linux 系统数据存储中表现出色,具有较好的性能和稳定性。
  7. 当所有设置都完成后,输入 “w” 并回车,这是保存分区表并退出 “fdisk” 交互模式的指令。

在创建完分区后,为了让内核能够识别新创建的分区,还需要执行 “sudo partprobe /dev/vdb” 命令,通知内核重新读取分区表。

格式化分区

当确定分区已有数据,并且该分区的文件系统与当前系统兼容时,是可以不进行格式化操作的。但如果是新创建的分区,或者需要更换分区的文件系统类型,那就必须进行格式化。不过要再次强调,格式化操作会将分区内的所有数据彻底清除,所以在操作之前一定要确保数据已妥善备份。

以将 /dev/vdb1 格式化为 ext4 文件系统为例,在终端中输入 “sudo mkfs.ext4 /dev/vdb1” 即可开始格式化。如果需要格式化为其他文件系统类型,可参考以下命令:

  • XFS 文件系统:“sudo mkfs.xfs/dev/vdb1”。XFS 文件系统在处理大文件和高并发 I/O 方面具有优势,适合一些对性能要求较高的应用场景,比如大型数据库存储。
  • FAT32 文件系统:“sudo mkfs.vfat/dev/vdb1”。FAT32 文件系统兼容性非常好,在 Windows 和 Linux 系统之间进行数据交换时经常会用到,像一些移动存储设备通常会采用 FAT32 格式。
  • NTFS 文件系统:“sudo mkfs.ntfs/dev/vdb1”。在 Linux 系统中使用 NTFS 文件系统,需要先安装 “ntfs - 3g” 工具。在 Ubuntu/Debian 系统中,可通过 “sudo apt install ntfs - 3g” 命令进行安装;在 Fedora/CentOS 系统中,则使用 “sudo dnf install ntfs - 3g” 命令安装。NTFS 文件系统是 Windows 系统常用的文件系统格式,当需要在 Linux 系统中读写 Windows 格式的磁盘时,就会用到它。

如果想要查看某个分区当前的文件系统类型,可以使用 “file - s /dev/vdb1” 命令。

创建挂载点

挂载点,简单来说,就是磁盘分区在文件系统中的挂载位置,它实际上是一个普通的目录。通常,我们会选择在 “/mnt” 目录下创建挂载点,当然,也可以根据自己的实际需求在其他位置创建。比如,我们要创建一个名为 “/mnt/data_disk1” 的挂载点,在终端中输入 “sudo mkdir -p /mnt/data_disk1” 即可。这里的 “-p” 参数非常有用,它的作用是确保如果父目录不存在,会自动创建。也就是说,如果 “/mnt” 目录不存在,执行这个命令后,系统会先创建 “/mnt” 目录,然后再在其下创建 “data_disk1” 目录。

挂载分区

现在,终于到了将格式化好的分区挂载到我们刚刚创建的挂载点这一步。使用 “mount” 命令来完成这个关键操作,假设我们要将 /dev/vdb1 分区挂载到 “/mnt/data_disk1” 挂载点,在终端中输入 “sudo mount /dev/vdb1 /mnt/data_disk1” 即可。执行完这个命令后,该分区的内容就可以通过 “/mnt/data_disk1” 这个目录进行访问了。

六、验证挂载

为了确保分区已经成功挂载,我们可以使用以下两个命令进行验证。

(一)df - h

“df - h” 命令会以一种人类可读的格式显示系统中已挂载分区的详细信息,包括文件系统、分区的总容量、已使用的空间、剩余可用空间、使用百分比以及挂载点等。通过查看输出结果,确认目标分区已经正确挂载到对应的挂载点,并且各项空间使用数据也符合预期。

(二)lsblk

“lsblk” 命令除了能展示磁盘和分区的树状结构信息外,在验证挂载时,它可以清晰地显示出各个分区的挂载情况,帮助我们直观地确认挂载是否成功。

设置开机自动挂载(可选)

如果希望系统在每次开机时都能自动挂载该分区,而不需要我们手动再次执行挂载命令,那就需要编辑 “/etc/fstab” 文件。在终端中输入 “sudo nano /etc/fstab”,即可打开这个文件进行编辑。在文件中添加相应的挂载信息,推荐使用 UUID 来指定设备,这样可以有效避免因设备名称变化导致的挂载失败问题。例如:

UUID=12345678 - 1234 - 5678 - 1234 - 567812345678 /mnt/data_disk1 ext4 defaults 0 0

这里的 “UUID” 可以通过 “sudo blkid /dev/vdb1” 命令获取,它是每个磁盘分区独一无二的标识符。“/mnt/data_disk1” 是我们之前创建的挂载点,“ext4” 是文件系统类型,要根据实际情况填写,“defaults” 是挂载选项,包含了读写权限、设备文件支持等一系列默认设置,“0 0” 中第一个 “0” 表示是否需要备份,“0” 表示不备份;第二个 “0” 表示文件系统检查的顺序,“0” 表示不检查。

添加完成后,保存并退出文件。为了验证配置是否正确并且使其生效,可以执行 “sudo mount -a” 命令,该命令会尝试重新挂载 “/etc/fstab” 文件中列出的所有文件系统。

卸载分区

在某些情况下,比如需要更换磁盘设备、对挂载点目录进行特殊操作等,我们可能需要卸载已挂载的分区。在 Linux 系统中,使用 “umount” 命令来完成卸载操作。例如,要卸载 “/mnt/data_disk1” 这个挂载点对应的分区,在终端中输入 “sudo umount /mnt/data_disk1” 即可。不过要注意,在卸载之前,必须确保没有任何程序正在使用该分区,否则卸载操作会提示失败。可以通过 “lsof” 命令来查看哪些程序正在使用该分区,比如 “sudo lsof /mnt/data_disk1”,然后关闭相关程序后再进行卸载。

至此,关于在 Linux 系统中挂载磁盘到指定路径的全流程就为大家详细介绍完了。各位互联网软件开发的小伙伴们,赶紧动手实践一下吧,熟练掌握这项技能,一定会让你在 Linux 系统的使用中更加得心应手,为你的开发工作提供有力支持!

原文链接:,转发请注明来源!