需用rsync命令直写外接硬盘:先lsblk -f确认/dev/sdb1为ext4/ntfs,再sudo mount -o rw,uid=1000,gid=1000 /dev/sdb1 /mnt/extdisk;然后rsync -avh --progress --inplace --omit-dir-times --no-i-r源目录/目标目录/,配合ionice -c 3降低io优先级,最后md5sum校验并sudo umount卸载。

统信UOS系统中需将几十GB的视频、镜像或项目包快速迁移到外接机械硬盘,避免卡顿、中断或权限丢失,必须绕过图形界面拖拽的底层限制,直接调用高效同步工具并规避缓存与挂载策略陷阱。
确认外接硬盘已正确挂载且可写
插入机械硬盘后,打开终端执行 lsblk -f,找到对应设备(如 /dev/sdb1),检查其 FSTYPE 列是否为 ext4 或 ntfs;若显示 iso9660 或为空,说明未被识别为可读写分区——此时需先用 sudo fdisk -l 确认分区表存在,再手动挂载:sudo mkdir -p /mnt/extdisk && sudo mount -o rw,uid=1000,gid=1000 /dev/sdb1 /mnt/extdisk。
这一步漏掉会导致后续所有复制操作静默失败,因为文件管理器默认只显示已挂载且权限匹配的卷。
用rsync跳过缓存直写硬盘
在终端中执行:
rsync -avh --progress --no-i-r --inplace --omit-dir-times /home/用户名/大文件夹/ /mnt/extdisk/目标文件夹/
其中 --inplace 强制数据直接写入目标文件而非先建临时文件,省去一倍磁盘IO;--omit-dir-times 跳过目录时间戳校验,避免机械硬盘因响应延迟触发重试;--no-i-r 关闭交互式提示,防止大文件中途弹出确认框中断流程。
【务必确保源路径末尾有斜杠 /,否则会把整个文件夹名作为子目录嵌套进去】
用ionice降低对系统响应的影响
第一步:查出当前用户UID:id -u(通常为1000);
第二步:以空闲IO优先级启动迁移:sudo ionice -c 3 rsync -avh --progress --inplace /home/1000/Downloads/*.zip /mnt/extdisk/backup/;
第三步:保持终端前台运行,观察 iotop -u 1000 输出,确认进程IO状态列为 idle ——这意味着它只在硬盘空闲时写入,不会卡死桌面或终端。
不加 ionice 时,单个50GB文件拷贝可能让UOS文件管理器卡住10秒以上,鼠标点击无响应。
验证迁移完整性并安全卸载
执行 md5sum /home/用户名/大文件夹/文件名.zip 和 md5sum /mnt/extdisk/目标文件夹/文件名.zip,两行输出必须完全一致;
确认无误后,不要直接拔线,运行 sudo umount /mnt/extdisk;
终端返回空白即完成卸载,此时方可物理断开硬盘。











