cygwin - Linux - dd 命令失败并出现错误 [设备上没有剩余空间]
问题描述
我目前正在尝试创建 USB 密钥的映像以创建备份。USB 密钥为 128G,目标外置硬盘大约有 300G 可用。
我正在使用 Cygwin,这是我所做的,您可以理解:
我通过键入将自己放在外部硬盘驱动器上: cd E: 我最终在 /cygdrive/e 这是我的硬盘驱动器下。usb密钥在/cygdrive/d下
这是 cat /proc/partitions 给出的内容:
$ cat /proc/partitions major minor #blocks name win-mounts
8 0 250059096 sda
8 1 266240 sda1
8 2 16384 sda2
8 3 248955904 sda3 C:\
8 4 819200 sda4
8 16 125091840 sdb
8 17 125091584 sdb1 D:\
8 32 312571224 sdc
8 33 312568641 sdc1 E:\
所以这是我启动的 DD 命令:
dd if=/dev/sdb1 | pv -s 128G | dd of=backup.usb.img bs=1M
它每次都开始并进展顺利,直到失败并出现错误:
dd: error writing ‘backup.usb.img’: No space left on device
我试了好几次,每次读到4,2G左右都失败了。我的硬盘有300G可用所以我不明白...
为什么 dd 命令失败,没有剩余空间,而目标有足够的可用空间?
非常感谢
解决方案
确实,“那个人”的回复解决了我的问题。
我将我的 DD 格式化为 exFat,以便它也可以在 MacOS 上使用,并且 DD 命令运行良好。
还要感谢“Matzeri”,因为我还删除了中间的 pv。我们可以使用 : status=progress 它只需要 sys-apps/coreutils >= 8.24
谢谢 !
推荐阅读
- flutter - Flutter:滚动时的图像缩放动画
- javascript - 将 JSON 数组中的对象添加到 JavaScript 数组中,并重新映射键
- reactjs - 如何通过 React Context API 使用到达路由器?
- c# - 使用 U-Net 在场景之间传输数据
- jasperserver - 将 Jasperreports 服务器从 7.2 升级到 7.5 时出错(密钥库问题)
- java - 为什么 Firebase 身份验证使用这么多存储空间?
- passwords - 密码保护应用程序,因此只有特定用户才能创建帐户
- html - Word html 格式:通过域代码插入自定义目录
- postgresql - Sequelize upsert 为具有可为空的唯一列的架构引发唯一违规
- javascript - 异步函数作为 socketio 侦听器的处理程序