Linux 挂载磁盘操作指南

Linux 挂载磁盘操作指南

一、操作前准备

在进行磁盘挂载操作之前,你需要做好以下准备工作:

  1. 确认磁盘信息 :使用 sudo fdisk -l 或者 lsblk 命令查看系统中磁盘的相关信息,明确要挂载的目标磁盘,例如 /dev/vdb
  2. 数据备份:分区和格式化操作会清除磁盘上的所有数据,所以一定要提前对磁盘中的重要数据进行备份。

二、判断是否需要创建分区

(一)检查磁盘分区状态

通过以下命令查看磁盘是否已经存在分区:

bash 复制代码
sudo fdisk -l
lsblk
  • fdisk -l 的输出中没有目标磁盘对应的分区信息(如 /dev/vdb1),或者 lsblk 里目标磁盘没有子节点,说明该磁盘未分区,需要进行分区操作。
  • 若磁盘已有分区,则可跳过分区步骤,直接进行格式化。

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

使用 fdisk 工具对磁盘进行分区,以 /dev/vdb 为例:

bash 复制代码
sudo fdisk /dev/vdb

进入 fdisk 的交互模式后,按照以下步骤操作:

  1. 新建分区 :输入 n 并回车。
    • 分区类型选择"主分区(Primary partition)",按默认输入 p 并回车。
    • 分区号按默认值,直接回车。
    • 起始扇区按默认值,回车。
    • 结束扇区若要使用全部磁盘空间,直接回车;若要指定分区大小,输入 +[大小][单位] ,例如 +10G 表示 10GB 大小。
  2. 修改分区类型(可选) :输入 t 并回车,然后输入分区类型对应的代码。对于 Linux 系统常用的 ext4 文件系统,一般使用默认的 83
  3. 保存分区表 :输入 w 并回车,保存分区表并退出 fdisk 交互模式。

创建分区后,让内核重新读取分区表以识别新分区:

bash 复制代码
sudo partprobe /dev/vdb

三、格式化分区(如果分区已有数据,且分区的文件系统与当前系统兼容,可以不格式化)

格式化分区会清除分区内的所有数据,请确保已备份重要数据。以将 /dev/vdb1 格式化为 ext4 文件系统为例:

bash 复制代码
sudo mkfs.ext4 /dev/vdb1

若需要其他文件系统类型,可参考以下命令:

  • XFS 文件系统sudo mkfs.xfs /dev/vdb1
  • FAT32 文件系统sudo mkfs.vfat /dev/vdb1
  • NTFS 文件系统sudo mkfs.ntfs /dev/vdb1 ,使用 NTFS 文件系统需要安装 ntfs-3g ,在 Ubuntu/Debian 系统中可使用 sudo apt install ntfs-3g 进行安装,在 Fedora/CentOS 系统中可使用 sudo dnf install ntfs-3g 安装。

查看文件系统类型:

bash 复制代码
file -s /dev/vdb1

四、创建挂载点

挂载点是磁盘分区在文件系统中的挂载位置,一般选择 /mnt 目录下创建,例如:

bash 复制代码
sudo mkdir -p /mnt/data_disk1

五、挂载分区

将格式化好的分区挂载到创建的挂载点上:

bash 复制代码
sudo mount /dev/vdb1 /mnt/data_disk1

六、验证挂载

使用以下命令验证分区是否成功挂载:

bash 复制代码
df -h
lsblk

df -h 命令会显示已挂载分区的信息,lsblk 命令可确认分区的挂载情况。

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

若希望系统在开机时自动挂载该分区,需要编辑 /etc/fstab 文件:

bash 复制代码
sudo nano /etc/fstab

在文件中添加以下内容(推荐使用 UUID 进行挂载,以避免设备名称变化导致挂载失败):

plaintext 复制代码
UUID=12345678-1234-5678-1234-567812345678 /mnt/data_disk1 ext4 defaults 0 0

其中,UUID 可通过以下命令获取:

bash 复制代码
sudo blkid /dev/vdb1

添加完成后,保存并退出文件。验证配置并且使其生效:

bash 复制代码
sudo mount -a

八、卸载分区

若需要卸载已挂载的分区,可使用以下命令:

bash 复制代码
sudo umount /mnt/data_disk1

注意,卸载前要确保没有程序正在使用该分区,否则会提示卸载失败。

通过以上步骤,你就可以安全、高效地在 Linux 系统中完成磁盘的挂载操作。

相关推荐
wengqidaifeng11 分钟前
1.从“会敲命令”到理解 Linux:15 个基础指令、文件树与命令执行的本质
linux·运维·服务器·ubuntu
tedcloud12325 分钟前
book-to-skill 怎么部署?把技术书和文档转换成可复用的 AI Skill
运维·服务器·人工智能·开源·ai编程
xiaoxiangsiyan42 分钟前
企业日常运维高频应用服务全解
运维·网络·云原生·容器·dns
AR_xsy44 分钟前
docker--资源配额 配置
运维·docker·容器
YH行业报告分析1 小时前
销售拨号软件升级:智能销售场景下云端自动化如何提升企业获客效率?
运维·自动化
那年窗外下的雪.1 小时前
AIDC 学习日志 Day 3:OSPF Underlay 实验、故障排查与深入解析
服务器·网络·php
深圳恒讯1 小时前
CN2 GIA和CN2 GT的区别
运维·服务器·网络
橙-极纪元2 小时前
把docker的镜像文件从一台服务器中,迁移至另一台服务器
服务器·docker·容器
奔跑的架构师2 小时前
[A-49]ARMv9/v8-PSCI接口规范与工作流程简介
android·linux·arm开发·arm