【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 进行灵活管理
相关推荐
maosheng11465 小时前
RHCSA的第一次作业
linux·运维·服务器
wifi chicken6 小时前
Linux 端口扫描及拓展
linux·端口扫描·网络攻击
旺仔.2916 小时前
Linux 信号详解
linux·运维·网络
放飞梦想C6 小时前
CPU Cache
linux·cache
Hoshino.417 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
恒创科技HK7 小时前
通用型云服务器与计算型云服务器:您真正需要哪些配置?
运维·服务器
吴佳浩 Alben8 小时前
GPU 生产环境实践:硬件拓扑、显存管理与完整运维体系
运维·人工智能·pytorch·语言模型·transformer·vllm
播播资源9 小时前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos
源远流长jerry9 小时前
在 Ubuntu 22.04 上配置 Soft-RoCE 并运行 RDMA 测试程序
linux·服务器·网络·tcp/ip·ubuntu·架构·ip
学不完的9 小时前
Docker数据卷管理及优化
运维·docker·容器·eureka