【Linux】外接硬盘管理

查看外接硬盘信息

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

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

    bash 复制代码
    lsblk

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

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

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

    bash 复制代码
    sudo fdisk -l

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

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

    bash 复制代码
    sudo blkid

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


硬盘分区

若需分区,使用 fdisk 工具:

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

注意事项:

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

格式化硬盘

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

  • 格式化命令

    bash 复制代码
    sudo mkfs.ext4 /dev/sdb1  # 假设分区为 /dev/sdb1

    常用选项:

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

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

    bash 复制代码
    sudo mkfs.ntfs /dev/sdb1

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

    bash 复制代码
    sudo mkfs.exfat /dev/sdb1

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


挂载硬盘

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

  1. 创建挂载点
bash 复制代码
sudo mkdir /mnt/external

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

  1. 挂载分区
bash 复制代码
sudo mount /dev/sdb1 /mnt/external

高级挂载选项示例:

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

附加检查命令:

bash 复制代码
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

卸载硬盘

断开前安全卸载:

  • 卸载命令

    bash 复制代码
    sudo umount /mnt/external

    或:

    bash 复制代码
    sudo umount /dev/sdb1

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

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

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


设置开机自动挂载

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

  1. 获取 UUID
bash 复制代码
sudo blkid /dev/sdb1

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

  1. 编辑 fstab
bash 复制代码
sudo vi /etc/fstab

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

bash 复制代码
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. 测试配置

bash 复制代码
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 进行灵活管理
相关推荐
小稻穗3 分钟前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析
栩栩云生12 分钟前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
AOwhisky24 分钟前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko
AOwhisky1 小时前
Python 学习笔记(第十四期)——运维自动化(下·中篇):远程文件传输——paramiko进阶篇
运维·python·学习·云原生·自动化·文件传输·paramiko
imc.111 小时前
linux基础IO
linux·运维·服务器
躺不平的理查德1 小时前
让Ubuntu 的第二块网卡 ens37 永久固定为 192.168.30.111
运维·服务器
bitbrowser2 小时前
Facebook 验证反复回到原页面,应该从哪里排查
运维·服务器·facebook
Land03292 小时前
AI网页元素变化无法自动修复?自带元素自愈的自动化解决方案
运维·人工智能·ai·自动化·rpa
fengyehongWorld2 小时前
Jenkins 安装与简单配置
运维·jenkins
云智慧AIOps社区2 小时前
2026 国产化 ITSM 替代指南:横向测评 ServiceNow、轻帆云、Jira等五款主流IT服务管理平台
运维·人工智能·运维开发·it服务管理·itsm平台