【Linux】外接硬盘管理

news/2025/3/10 4:50:18/

查看外接硬盘信息

连接外接硬盘后,使用以下命令识别设备:

  • lsblk:列出块设备及其挂载点

    lsblk
    

    示例输出可能显示设备名称如 /dev/sdb

    通过 lsblk -f 可同时显示文件系统类型和 UUID。

  • fdisk -l:列出所有磁盘的分区信息(需要 root 权限)

    sudo fdisk -l
    

    输出中需关注 Disk model、容量和分区表类型(DOS/GPT)。

  • blkid:显示设备的 UUID 和文件系统类型

    sudo blkid
    

    也可通过 ls -l /dev/disk/by-uuid 查看 UUID 与设备的对应关系。


硬盘分区

若需分区,使用 fdisk 工具:

  1. 启动 fdisk
sudo fdisk /dev/sdb  # 假设设备为 /dev/sdb
  1. 在交互界面中:
  • 输入 n 创建新分区
  • 选择 p(主分区),输入分区号和大小(如 +10G
  • 输入 t 可修改分区类型(例如改为 Linux LVM 的 8e 类型)
  • 输入 p 预览分区表
  • 输入 w 保存并退出

注意事项:

  • 操作前请反复确认设备路径,误操作可能导致数据丢失
  • 对于 2TB 以上硬盘建议使用 parted 工具(支持 GPT 分区表)

格式化硬盘

分区后,格式化分区为所需文件系统(如 ext4):

  • 格式化命令

    sudo mkfs.ext4 /dev/sdb1  # 假设分区为 /dev/sdb1
    

    常用选项:

    • -L 设置卷标:sudo mkfs.ext4 -L DataDisk /dev/sdb1
    • -q 静默模式减少输出

    若需兼容 Windows,可用 NTFS 格式:

    sudo mkfs.ntfs /dev/sdb1
    

    或使用 exFAT 格式(需安装 exfat-utils):

    sudo mkfs.exfat /dev/sdb1
    

警告:格式化会永久删除数据!操作前请确认分区号正确。


挂载硬盘

挂载前需创建挂载点并执行挂载:

  1. 创建挂载点
sudo mkdir /mnt/external

建议使用有意义的挂载路径,例如 /mnt/data_disk

  1. 挂载分区
sudo mount /dev/sdb1 /mnt/external

高级挂载选项示例:

sudo mount -t ntfs -o ro,uid=1000 /dev/sdb1 /mnt/external
# 挂载为 NTFS 只读模式并指定用户权限
  1. 验证挂载
df -h

附加检查命令:

lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

卸载硬盘

断开前安全卸载:

  • 卸载命令

    sudo umount /mnt/external
    

    或:

    sudo umount /dev/sdb1
    

若提示设备忙,可使用以下命令排查:

lsof /mnt/external        # 查看占用进程
fuser -vm /dev/sdb1       # 显示使用该设备的进程

建议卸载后等待 5 秒再断开物理连接。


设置开机自动挂载

编辑 /etc/fstab 实现自动挂载:

  1. 获取 UUID
sudo blkid /dev/sdb1

建议直接复制 UUID 避免手动输入错误。

  1. 编辑 fstab
sudo vi /etc/fstab

重要:编辑前需备份配置文件:

sudo cp /etc/fstab /etc/fstab.bak
  1. 添加配置行
UUID=your-uuid-here /mnt/external ext4 defaults 0 2

字段详解:

  1. UUID:设备唯一标识

  2. 挂载点:目标目录路径

  3. 文件系统类型:如 ext4、ntfs 等

  4. 挂载选项defaults 包含 rw,suid,dev,exec,auto,nouser,async

  5. dump 备份标志0 表示禁用

  6. fsck 检查顺序0 不检查,1 为根目录,2 为其他分区

  7. 测试配置

sudo mount -a

若命令无输出则表示成功,否则需立即修正错误。


总结

通过这些命令,您可以快速掌握 Linux 外接硬盘操作!

扩展技巧:

  • 使用 udisksctl 进行无 root 挂载(适用于桌面环境)

  • 在 fstab 中添加 nofail 选项避免系统启动失败:

    UUID=... /mnt/external ext4 defaults,nofail 0 0
    
  • 快速检查挂载状态:mount | grep sdb1

  • 定期检查硬盘健康状态:sudo smartctl -a /dev/sdb

注意事项:

  • 避免直接编辑已挂载磁盘的分区表
  • NTFS 文件系统在 Linux 下的写入性能可能较低
  • 大容量存储建议使用 LVM 进行灵活管理

http://www.ppmy.cn/news/1577982.html

相关文章

鸿蒙全栈开发 D1

鸿蒙全栈开发 第一天 第一部分:鸿蒙操作系统基础 1.1 鸿蒙发展史(深度解析) #mermaid-svg-QW2y2PboFUhVWGlV {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-QW2y2PboFUhVWGlV .…

大模型应用:多轮对话(prompt工程)

概述 在与大型语言模型(如ChatGPT)交互的过程中,我们常常体验到与智能助手进行连贯多轮对话的便利性。那么,当我们开启一个新的聊天时,系统是如何管理聊天上下文的呢? 一、初始上下文的建立 1. 创建新会…

RocketMQ提供了哪些过滤机制?

前言 本篇文章比较简单,分别介绍RocketMQ支持几种过滤机制,其原理和使用。 RocketMQ 提供了多种消息过滤机制,帮根据业务需求高效筛选消息,可以减少不必要的消息传输和处理。以下是其核心过滤机制及使用场景: 1. Tag…

【2025】Electron + React 架构筑基——从零到一的跨平台开发

引言 源代码仓库: Github仓库【electron_git】 你是否厌倦了在命令行中反复输入git status,却依然无法直观看到文件变化? 是否羡慕VS Code的丝滑Git集成,却苦恼于无法定制自己的专属工具? 本专栏将为你打开一扇新的…

《AI大模型专家之路》No.2:用三个模型洞察大模型NLP的基础能力

用三个模型洞察大模型NLP的基础能力 一、项目概述 在这个基于AI构建AI的思维探索项目中,我们实现了一个基于BERT的中文AI助手系统。该系统集成了文本分类、命名实体识别和知识库管理等功能,深入了解本项目可以让读者充分了解AI大模型训练和推理的基本原…

极狐GitLab 17.9 正式发布,40+ DevSecOps 重点功能解读【四】

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…

低空经济中,软件服务业 和 物联网(IoT) 的融合尝试

在低空经济中,软件服务业 和 物联网(IoT) 的融合是推动行业智能化、高效化和可持续发展的关键。通过将软件服务与物联网技术结合,可以实现飞行器(如无人机、eVTOL)的智能化管理、数据驱动的决策支持以及全产业链的协同优化。以下是两者融合的具体方式及应用场景: 一、软…

计算机毕业设计Python+DeepSeek-R1大模型微博舆情分析系统 微博舆情预测 微博爬虫 微博大数 据(源码+LW文档+PPT+详细讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…