曼

曼波的神秘网址

A text-focused Halo theme

  • 首页
  • Gitee
  • 服务器
  • 关于
主页 在 Linux 系统中挂载新硬盘
文章

在 Linux 系统中挂载新硬盘

发表于 2025-08-28 更新于 2025-08- 28
作者 Administrator 已删除用户
18~23 分钟 阅读

本文记录了在 Ubuntu 系统中,从识别新硬盘到完成初始化、挂载,并配置开机自动挂载的完整流程。同时,文中也包含了在实际操作中遇到的问题及其解决方案,希望能为遇到类似情况的读者提供参考。

一、 完整初始化与挂载流程

第 1 步:识别已连接的硬盘

在开始任何操作前,首先需要确认系统识别了哪些存储设备。

​​命令:​​

sudo fdisk -l

或

sudo parted -l

​​关键信息解读:​​

  • ​​设备名​​:标识了磁盘类型

    • /dev/nvme0n1:NVMe 固态硬盘(高性能)

    • /dev/sda, /dev/sdb:SATA 接口硬盘(SSD 或 HDD)

  • ​​磁盘模型 (Disk model)​​:显示硬盘的具体型号。

  • ​​分区信息​​:列出该磁盘上已有的所有分区。如果磁盘是新盘或未初始化,可能没有分区,或者分区表异常。

第 2 步:销毁旧分区并创建新分区表

如果磁盘包含无用的旧数据或分区表错误,我们需要重新初始化它。​​此操作会清除磁盘上所有数据!​​

​​使用 parted工具创建 GPT 分区表:​​

sudo parted /dev/sdX --script mklabel gpt

将 sdX替换为目标磁盘,如 sda, sdb。

第 3 步:创建新分区

在新的空白磁盘上创建一个占用所有空间的主分区。

sudo parted /dev/sdX --script mkpart primary ext4 0% 100%

此命令会创建一个新的分区,例如 /dev/sda1。

第 4 步:格式化分区

为新创建的分区创建文件系统,这里选择 Linux 最常用的 ext4 格式。

sudo mkfs.ext4 /dev/sdX1

将 sdX1替换为您实际创建的分区名。

第 5 步:创建挂载点并临时挂载

挂载点是一个目录,用于访问硬盘中的数据。

  1. ​​创建挂载目录​​(例如,挂载到用户家目录下):

    mkdir ~/MyStorage
  2. ​​临时挂载分区​​(重启后失效):

    sudo mount /dev/sdX1 ~/MyStorage

第 6 步:更改挂载点所有权(解决权限问题)

​​关键步骤!​​ 默认挂载的分区所有者是 root,需更改为您的普通用户,否则无法读写。

sudo chown -R $USER:$USER ~/MyStorage

第 7 步:配置开机自动挂载

使用分区唯一的 UUID 而非设备名编辑 /etc/fstab,这样更稳定。

  1. ​​查询分区的 UUID​​:

    sudo blkid /dev/sdX1

    复制输出中 UUID=后的字符串。

  2. ​​编辑 fstab 文件​​:

    sudo nano /etc/fstab
  3. ​​在文件末尾添加一行​​:

    UUID=你的-UUID-here /home/你的用户名/MyStorage ext4 defaults,nofail 0 2
    • nofail:确保即使磁盘临时不存在,系统也能正常启动。

  4. ​​测试配置​​:

    sudo mount -a

    无报错即表示配置成功。

二、 遇到的问题与解决方案实录

问题 1:目标磁盘分区表异常或包含无用数据

​​现象:​​

使用 sudo fdisk -l查看磁盘时,发现分区信息混乱。

​​实际操作与输出:​​

mrdio@mrdio-YAO-9000II:~$ sudo fdisk -l /dev/sda
Disk /dev/sda:931.53 GiB,1000204886016 字节,1953525168 个扇区
Disk model: WDC WD10SPZX-21Z
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符:0x6e697373

设备       启动       起点       末尾       扇区   大小 Id 类型
/dev/sda1       1936269394 3772285809 1836016416 875.5G 4f QNX4.x 第3部分
/dev/sda2       1917848077 2462285169  544437093 259.6G 73 未知
/dev/sda3       1818575915 2362751050  544175136 259.5G 2b 未知
/dev/sda4       2844524554 2844579527      54974  26.9M 61 SpeedStor

分区 1 未起始于物理扇区边界。
分区 2 未起始于物理扇区边界。
分区 3 未起始于物理扇区边界。
分区 4 未起始于物理扇区边界。
分区表记录没有按磁盘顺序。

​​原因:​​

该磁盘可能被特殊软件或系统处理过,导致分区表损坏或包含陈旧无效的信息。

​​解决方案:​​

​​完全重新初始化磁盘​​,即执行上述流程中的​​第 2 步​​:

sudo parted /dev/sda --script mklabel gpt

问题 2:挂载后无法在图形界面或普通用户下读写文件

​​现象:​​

挂载成功后,尝试在挂载目录中创建文件或文件夹时,系统提示“权限不足”。

​​实际操作:​​

mrdio@mrdio-YAO-9000II:~$ sudo mount /dev/sda1 /home/mrdio/Storage_DATA/
mrdio@mrdio-YAO-9000II:~$ touch /home/mrdio/Storage_DATA/test.txt
touch: 无法创建 '/home/mrdio/Storage_DATA/test.txt': 权限不够

​​原因:​​

使用 sudo mount命令挂载的分区,其默认所有者是 root用户,而不是您的普通用户。

​​解决方案:​​

执行上述流程中的​​第 6 步​​:

sudo chown -R $USER:$USER /home/mrdio/Storage_DATA

问题 3:使用 mkfs格式化时出现警告

​​现象:​​

执行格式化命令时,提示分区上已存在文件系统。

​​实际操作与输出:​​

mrdio@mrdio-YAO-9000II:~/APP$ sudo mkfs.ext4 /dev/sdb1                    
mke2fs 1.45.5 (07-Jan-2020)
/dev/sdb1 有一个 ntfs 文件系统
无论如何也要继续?(y,N)

​​原因:​​

目标分区上已存在一个文件系统,mkfs工具为防止数据丢失而发出警告。

​​解决方案:​​

  • 如果确认该分区数据可清除,输入 y并回车继续。

  • 如果不想覆盖该分区,请检查设备名是否正确,确保你操作的是正确的分区。

问题 4:设备名变化导致自动挂载失败

​​现象:​​

配置好 /etc/fstab后,某次重启系统发现磁盘未能自动挂载。

​​错误示例:​​

在 /etc/fstab中使用了:

/dev/sda1 /home/mrdio/Storage_DATA ext4 defaults 0 2

​​原因:​​

在 /etc/fstab中使用了不稳定的设备名(如 /dev/sda1),当系统检测磁盘的顺序发生变化时,设备名可能会改变(例如 sda变成了 sdb)。

​​解决方案:​​

​​始终使用 UUID 来配置 /etc/fstab​​:

mrdio@mrdio-YAO-9000II:~$ sudo blkid /dev/sda1
/dev/sda1: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4" PARTUUID="xxxx-xx"

然后将 /etc/fstab中的条目改为:

UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 /home/mrdio/Storage_DATA ext4 defaults,nofail 0 2

总结

通过以上步骤,你可以成功地将一块新硬盘(或需要重新初始化的旧硬盘)集成到你的 Linux 系统中,并实现稳定、便捷的访问。关键在于:

  1. ​​正确识别目标磁盘​​。

  2. ​​彻底初始化​​,从创建新分区表开始。

  3. ​​挂载后务必修改权限​​,以便普通用户使用。

  4. ​​使用 UUID 配置自动挂载​​,保证长期稳定性。

希望这篇指南能帮助你更好地管理你的存储设备。

服务器
linux 网络 VPN 服务器
许可协议:  CC BY 4.0
分享

相关文章

9月 9, 2025

Nginx 反向代理

本文详细记录如何通过 Nginx 反向代理将 Halo 博客服务部署到自定义域名,并成功配置 HTTPS 访问的完整过程。文中包含实际操作中遇到的问题及其解决方案,希望对有类似需求的用户有所帮助。 系统架构概述 本项目采用的部署架构为: 1. Halo 服务:运行在 Docker 容器中,监听 80

9月 9, 2025

Halo 博客系统部署教程:从安装到 HTTPS 配置(网络剪切)

📌 原文链接:https://zhuanlan.zhihu.com/... 🕘 收藏时间:2025年08月22日 📂 文档目录:我的云文档/1.学习笔记/服务器搭建 📑 本文档由【金山收藏助手】一键生成 我们在百度上搜索工作或学习上遇到的问题时,或多或少得会在别人的博客上找到答案或帮

8月 28, 2025

Linux 上安装和配置 Transmission

本文详细记录了在 Ubuntu Linux 系统上安装、配置 Transmission BitTorrent 客户端,更换中文 Web 控制面板,以及通过 FRP 实现内网穿透的全过程。内容包括基础安装、目录配置、权限设置、网络穿透和界面美化,并针对过程中遇到的各种问题提供了解决方案。 完整安装与配

下一篇

利用frp工具实现内网穿透

上一篇

Linux 上安装和配置 Transmission

最近更新

  • Nginx 反向代理
  • Halo 博客系统部署教程:从安装到 HTTPS 配置(网络剪切)
  • Linux 上安装和配置 Transmission
  • 在 Linux 系统中挂载新硬盘
  • 利用frp工具实现内网穿透

热门标签

Halo linux VPN 网络 服务器

目录

©2025 曼波的神秘网址. 保留部分权利。

使用 Halo 主题 Chirpy