type
Post
status
Published
date
Dec 26, 2025
slug
summary
tags
category
icon
password
Property
Dec 26, 2025 07:23 AM
Language

Debian 13 挂载一块新硬盘的通用教程(分区 / 格式化 / 挂载 / 开机自动挂载)

这篇教程从 “拿到一块未使用/未挂载的硬盘” 开始,覆盖两种常见情况:
  • 情况 A:硬盘已分区并有文件系统(最常见:云盘扩容后、或你已提前格式化过)→ 直接挂载 + 写入 fstab
  • 情况 B:硬盘是新盘/空盘(没有分区/文件系统)→ 分区 → 格式化 → 挂载 + 写入 fstab
⚠️ 安全提醒 分区、格式化会清空数据。如果你不确定盘里有没有数据,请先只做“识别与查看”(第 1 部分),确认 FSTYPE、MOUNTPOINTS 和分区情况再继续。

0. 前置:以 root 或 sudo 执行

本文所有命令假设你有 root 权限(或命令前加 sudo)。

1. 识别硬盘与分区(通用第一步)

1.1 查看磁盘、分区、文件系统、挂载点

lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,UUID,MOUNTPOINTS

1.2 查看更详细的分区表(可选)

fdisk -l

1.3 查看 UUID(可选)

blkid

2. 示例:你机器上的实际输出(已分区且 ext4,但未挂载)

你提供的命令输出如下(原样保留):
root@HKG-A4-4CFLDE2KL45J:~# lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,UUID,MOUNTPOINTS NAME SIZE TYPE FSTYPE LABEL UUID MOUNTPOINTS sr0 378K rom iso9660 cidata 2025-12-26-11-24-34-00 vda 120G disk └─vda1 120G part ext4 fd416697-938b-42f2-b243-a3398dd7869f / vdb 2T disk └─vdb1 2T part ext4 8a22dfdd-8e26-435d-a3a9-06d35629b210

2.1 结论解读

  • 系统盘:/dev/vda1(ext4)已挂载在 /
  • 数据盘:/dev/vdb1(ext4)没有挂载点MOUNTPOINTS 为空)
  • 说明:这块 2T 的盘 已经分好区(vdb1)并且已经是 ext4 格式,所以不需要再分区/格式化,直接挂载即可。

3. 情况 A:已有文件系统(你当前就是这种情况)

下面以把 /dev/vdb1 挂载到 /mnt/data 为例(你也可以换成 /data/srv/data 等更符合你习惯的路径)。

3.1 创建挂载目录

mkdir -p /mnt/data

3.2 临时挂载(重启后会失效,用于验证)

mount /dev/vdb1 /mnt/data df -hT /mnt/data
看到类型 ext4、容量约 2T,说明挂载成功。

3.3 写入 /etc/fstab(开机自动挂载)

推荐用 UUID(避免设备名变化导致挂载失败)。
你这块盘的 UUID 是: 8a22dfdd-8e26-435d-a3a9-06d35629b210
编辑 fstab:
nano /etc/fstab
添加一行(通用写法):
UUID=8a22dfdd-8e26-435d-a3a9-06d35629b210 /mnt/data ext4 defaults,nofail 0 2
  • defaults:常规默认参数
  • nofail:即使挂载失败也不阻止系统启动(云服务器很实用)

3.4 验证 fstab 配置是否正确(非常关键)

umount /mnt/data mount -a df -hT /mnt/data
mount -a 不报错,并且 /mnt/data 能正常显示,说明 OK。

3.5(可选)设置目录权限(让普通用户可写)

如果你希望某个用户可写,例如用户 jojo
chown -R jojo:jojo /mnt/data

4. 情况 B:新盘/空盘(从 0 开始:分区 + 格式化 + 挂载)

⚠️ 注意:以下操作会清空目标盘。 请确认目标是整盘设备(例如 /dev/vdb 或 /dev/sdb),且盘内没有你需要的数据。
假设“新盘”是 /dev/vdb,你要创建一个占满全盘的 ext4 分区。

4.1 安装分区工具(parted)

apt update apt install -y parted

4.2 创建 GPT 分区表 + 一个主分区(占满全盘)

parted /dev/vdb --script mklabel gpt parted /dev/vdb --script mkpart primary ext4 0% 100% partprobe /dev/vdb lsblk
此时通常会出现 /dev/vdb1

4.3 格式化为 ext4(会清空分区数据)

(可选加标签 -L data,方便识别)
mkfs.ext4 -L data /dev/vdb1

4.4 挂载并写入 fstab(同“情况 A”)

mkdir -p /mnt/data mount /dev/vdb1 /mnt/data blkid /dev/vdb1
复制显示的 UUID,写入 /etc/fstab
UUID=你的新UUID /mnt/data ext4 defaults,nofail 0 2
验证:
umount /mnt/data mount -a df -hT /mnt/data

5. 常见问题排查

5.1 mount -a 报错导致开机风险?

  • 先用 nofail(本文已加)
  • 错误时先回滚:注释掉那行 fstab(行首加 #),再 mount -a 重新验证

5.2 挂载了但没权限写

  • ext4 常用:
    • chown -R 用户:用户 /mnt/data
  • 如果你是做服务目录(如 nginx、docker),可能需要给对应服务用户(如 www-data)权限或用 ACL(更安全)。

5.3 设备名变了(vdb 变 sdb)

  • 永远用 UUID 写 fstab,别用 /dev/vdb1 这种硬编码路径(本文已按 UUID 给方案)。

6. 你的场景一条命令版(按你提供的 UUID 直接落地)

如果你就想把这块 2T 盘挂到 /mnt/data 并永久生效:
mkdir -p /mnt/data mount /dev/vdb1 /mnt/data echo 'UUID=8a22dfdd-8e26-435d-a3a9-06d35629b210 /mnt/data ext4 defaults,nofail 0 2' >> /etc/fstab umount /mnt/data mount -a df -hT /mnt/data

如果你想把挂载点改成你更适合做教程/生产的路径(比如 /data/srv/data),把目标路径告诉我,我可以把上面整篇教程里的挂载点统一替换成你想要的规范版本。
Debian13 certbot安装Debian 上 Nginx 的文件下载典型配置

Qi
记录程序猿的各种疑难杂症