Ubuntu/Jetson 通用:NVMe 硬盘分区、挂载及开机自动挂载完整教程

本文分享的 NVMe 硬盘分区、挂载及开机自动挂载操作,不仅适用于 Jetson AGX Orin 开发板,也适用于绝大多数 Ubuntu 发行版(如 Ubuntu 20.04/22.04 等),步骤拆解到每一个按键操作,确保能跟着完成从 "找到硬盘" 到 "永久使用" 的全流程。

一、准备工作

1.1 软硬件要求

  • 硬件:已物理安装好的 NVMe 固态硬盘(台式机 / 笔记本 / Jetson 开发板均可)
  • 系统:Ubuntu 类 Linux 系统(Debian 系通用,如 Ubuntu 20.04/22.04、Jetson Linux)
  • 工具:fdisk(分区工具,系统自带)、mkfs.ext4(格式化工具,系统自带)、nano/vim(文本编辑器,按需安装)

1.2 核心注意事项

⚠️ 操作前务必确认硬盘无重要数据 :格式化会清空硬盘所有内容,建议只操作全新未使用的 NVMe 硬盘!⚠️ 所有操作建议以 root 用户或 sudo 权限执行,避免权限不足导致操作失败。

二、详细操作步骤

步骤 1:前置必做 ------ 用 lsblk 找到你的 NVMe 硬盘

最容易踩的坑是 "找不到自己的硬盘设备名",先用 lsblk 命令查看所有磁盘,精准定位 NVMe 硬盘。

操作命令:
复制代码
lsblk
输出示例及解读:
复制代码
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 465.8G  0 disk 
└─sda1        8:1    0 465.8G  0 part /mnt/hdd
nvme0n1     259:0    0 931.5G  0 disk  # 这就是你的NVMe硬盘(核心标识:nvme开头)
└─nvme0n1p1 259:1    0 931.5G  0 part 
mmcblk0     179:0    0 116.9G  0 disk 
├─mmcblk0p1 179:1    0   256M  0 part /boot/efi
└─mmcblk0p2 179:2    0 116.7G  0 part /
  • 关键标识 :NVMe 硬盘设备名通常以 nvme 开头(如 nvme0n1),区别于普通机械硬盘的 sd 开头(如 sda)、eMMC 的 mmcblk 开头。
  • 记好设备名 :后续所有操作都基于这个设备名(示例中为 nvme0n1),务必确认无误!

步骤 2:使用 fdisk 对 NVMe 硬盘分区

fdisk 是 Linux 系统自带的分区工具,操作简单且兼容性强。

操作步骤:
  1. 执行 fdisk 命令进入分区界面(替换 nvme0n1 为你找到的设备名):

    复制代码
    sudo fdisk /dev/nvme0n1

    执行后会进入 fdisk 交互界面,提示 Command (m for help):

  2. 输入 n 创建新分区:

    复制代码
    Command (m for help): n  # 新建分区
  3. 选择分区类型(直接默认):

    plaintext

    复制代码
    Partition type
       p   primary (0 primary, 0 extended, 4 free)  # 主分区(推荐)
       e   extended (container for logical partitions)
    Select (default p): p  # 直接回车默认选p即可
  4. 设置分区编号(默认 1 即可):

    复制代码
    Partition number (1-4, default 1):  # 直接回车默认1
  5. 设置扇区起始位置(默认即可):

    复制代码
    First sector (2048-1953525134, default 2048):  # 直接回车
  6. 设置扇区结束位置(默认占用全部空间):

    复制代码
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1953525134, default 1953525134):  # 直接回车

    (若想分多个分区,可输入 +500G 这类数值指定分区大小,如 +500G 表示该分区占用 500GB)

  7. 输入 w 保存分区设置并退出:

    复制代码
    Command (m for help): w  # 保存并退出,若想放弃修改输入q

    执行后会提示分区表已更新,硬盘会出现新的分区名(如 nvme0n1p1,p1 表示第 1 个分区)。

验证分区是否创建成功:

再次执行 lsblk,能看到 nvme0n1 下出现 nvme0n1p1 分区即表示成功。

步骤 3:格式化分区(ext4 文件系统)

分区创建后需要格式化才能使用,推荐使用 ext4 文件系统(Linux 最常用、稳定性高)。

操作命令:
复制代码
# 替换 nvme0n1p1 为你的分区名
sudo mkfs.ext4 /dev/nvme0n1p1
格式化过程说明:

执行后会看到格式化进度输出,最后提示 done 即完成。⚠️ 此步骤会清空分区所有数据,确认无误后再执行!

步骤 4:创建挂载点并手动挂载分区

"挂载" 就是给分区分配一个访问目录,让系统能识别并使用该分区。

操作步骤:
  1. 创建挂载点目录(自定义名称,示例为 /mnt/nvme):

    复制代码
    sudo mkdir -p /mnt/nvme

    -p 参数确保目录不存在时创建,存在时不报错。

  2. 手动挂载分区到挂载点:

    复制代码
    # 替换分区名和挂载点为自己的
    sudo mount /dev/nvme0n1p1 /mnt/nvme
  3. 验证挂载是否成功:

    复制代码
    # 查看挂载状态
    df -h

    输出中能看到 /dev/nvme0n1p1 对应挂载点 /mnt/nvme 即表示成功。

权限设置(可选):

默认挂载后普通用户可能无写入权限,可修改挂载点权限:

复制代码
sudo chmod 777 /mnt/nvme  # 所有用户可读写执行(测试用)
# 或更安全的设置:仅当前用户可读写
sudo chown -R $USER:$USER /mnt/nvme

步骤 5:设置开机自动挂载(永久挂载)

手动挂载重启后会失效,需修改 /etc/fstab 文件实现开机自动挂载,这是最关键的一步!

操作步骤:
  1. 先获取分区的 UUID(唯一标识,比设备名更稳定):

    复制代码
    blkid /dev/nvme0n1p1

    输出示例:

    复制代码
    /dev/nvme0n1p1: UUID="12345678-1234-1234-1234-1234567890ab" TYPE="ext4"

    复制 UUID= 后的字符串(示例中为 12345678-1234-1234-1234-1234567890ab)。

  2. 编辑 /etc/fstab 文件(提供两种编辑器方案,按需选择):

    • 方案 1:使用 nano 编辑器(部分系统需先安装)

      复制代码
      # 先检查是否安装nano,未安装则执行以下命令安装
      sudo apt update && sudo apt install -y nano
      # 编辑fstab文件
      sudo nano /etc/fstab
    • 方案 2:使用 vim 编辑器(系统一般自带,适合熟悉 vim 的用户)

      复制代码
      # 若未安装vim,先执行安装命令
      sudo apt update && sudo apt install -y vim
      # 编辑fstab文件
      sudo vim /etc/fstab
  3. 在文件末尾添加以下内容(替换 UUID 和挂载点为自己的):

    复制代码
    # NVMe 硬盘自动挂载
    UUID=12345678-1234-1234-1234-1234567890ab /mnt/nvme ext4 defaults 0 2

    参数解读:

    • UUID=xxx:分区的唯一标识,避免设备名变动导致挂载失败;
    • /mnt/nvme:挂载点目录;
    • ext4:文件系统类型;
    • defaults:默认挂载参数(包含 rw、suid、dev 等,满足日常使用);
    • 0:是否备份(0 = 不备份,1 = 备份,默认 0 即可);
    • 2:是否开机检查(0 = 不检查,1 = 根分区检查,2 = 非根分区检查)。
  4. 保存并退出编辑器:

    • 若用 nano 编辑器:
      • Ctrl+O 保存;
      • Enter 确认文件名;
      • Ctrl+X 退出。
    • 若用 vim 编辑器:
      • i 进入编辑模式;
      • 编辑完成后按 Esc 退出编辑模式;
      • 输入 :wq 回车(保存并退出);若想放弃修改输入 :q! 回车。
  5. 验证 fstab 配置是否正确(关键!避免开机挂载失败):

    复制代码
    sudo mount -a

    若执行后无任何报错,说明配置正确;若有报错,立即重新编辑 /etc/fstab 检查内容。

步骤 6:最终验证(可选)

重启系统后,执行 df -hlsblk,确认 /dev/nvme0n1p1 仍挂载在 /mnt/nvme 下,即表示开机自动挂载设置成功。

三、常见问题及解决

问题 1:执行 mount 命令提示 "permission denied"

  • 原因:权限不足;
  • 解决:所有操作前加 sudo,或以 sudo -i 切换到 root 用户。

问题 2:重启后挂载失效

  • 原因 1:/etc/fstab 中 UUID 或挂载点写错;
  • 原因 2:mount -a 未验证配置;
  • 解决:重新执行 blkid 核对 UUID,检查 /etc/fstab 格式,确保 mount -a 无报错。

问题 3:fdisk 操作后分区未显示

  • 原因:系统未刷新分区表;
  • 解决:执行 sudo partprobe /dev/nvme0n1 刷新分区表,再执行 lsblk 查看。

问题 4:nano/vim 编辑器未找到

  • 原因:系统未预装对应编辑器;
  • 解决:执行 sudo apt update && sudo apt install -y nano(nano)或 sudo apt install -y vim(vim)安装。

四、总结

  1. 核心流程:lsblk 找硬盘 → fdisk 分区 → mkfs.ext4 格式化 → mount 手动挂载 → fstab 自动挂载;
  2. 关键避坑点:操作前备份数据、用 UUID 而非设备名配置自动挂载、执行 mount -a 验证 fstab、编辑器未安装时先执行安装命令;
  3. 通用性:本教程适用于所有 Ubuntu/Debian 系系统(包括 Jetson 开发板),步骤无差异。

按照以上步骤操作,即使是 Linux 新手也能轻松完成 NVMe 硬盘的分区和永久挂载,让硬盘资源得到充分利用。如果操作中遇到问题,欢迎在评论区留言交流!

相关推荐
田地和代码2 小时前
linux应用用户安装jdk以后 如果root安装hbase客户端需要jdk还需要再次安装吗
java·linux·hbase
乔碧萝成都分萝2 小时前
二十四、Linux如何处理中断
linux·驱动开发·嵌入式
真的想上岸啊2 小时前
2、刷机+mobaxterm登录
linux
运维小欣2 小时前
可观测平台选型指南:如何在复杂数字环境中构建业务保障的制胜之道
运维
物理与数学2 小时前
Linux 内核 address_space与页缓存
linux·linux内核
yuanmenghao2 小时前
Linux 配置Samba,Windows登录,开机自动映射登录
linux·运维·windows·操作系统·samba
秋天枫叶352 小时前
【k8s集群Docker + cri-dockerd】服务器重启或关机后 apiserver/controller/scheduler 无法自动恢复
linux·运维·服务器·容器·kubernetes·bug
赋创小助手2 小时前
超微2U高密度服务器AS-2126HS-TN评测(双AMD EPYC 9005 Turin)
运维·服务器·人工智能·深度学习·神经网络·自然语言处理·架构
松涛和鸣2 小时前
59、 IMX6ULL按键驱动开发:轮询到中断的实现
linux·服务器·c语言·arm开发·数据库·驱动开发