![DD:设备上没有剩余空间](https://linux22.com/image/1370855/DD%EF%BC%9A%E8%AE%BE%E5%A4%87%E4%B8%8A%E6%B2%A1%E6%9C%89%E5%89%A9%E4%BD%99%E7%A9%BA%E9%97%B4.png)
我一直在摆弄一台旧的 Brother WP-2200,遇到了一点小麻烦。我希望能够使用 Linux 下的 dd 从我输入的软盘中制作出图像。不幸的是,这没有奏效。我在大约六台不同的计算机上尝试过 dd,它们都产生了类似以下内容:
petrusd987@Peters-Gaming-Ubuntu:/tmp$ sudo dd if=/dev/zero of=/dev/sdd bs=1440k count=1
dd: writing to ‘/dev/sdd’: No space left on device
1+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000530324 s, 0.0 kB/s
反过来也会产生相同的结果。我不明白为什么会发生这种情况,因为我知道在 WP-2200 格式化之前,我在设备中使用的软盘在 dd 下工作正常。我知道这些机器使用计算机无法识别的专有文件系统,如果这对任何人有帮助的话。不过我认为这并不重要,因为 DD 在二进制级别工作。任何帮助修复此问题的帮助都将不胜感激。
更新:
我并没有很好地表达这篇文章,所以我想尝试让它更清楚一点。当我使用磁盘时,它没有写保护。下面是我尝试过的三个命令以及给出的输出:
I would like to point out that the floppy has changed to sdb when I rebooted because I have removed my external hard drive and flash drive.
**Copying: Writable**
sudo dd if=/dev/sdb of=/tmp/flp.img
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000530151 s, 0.0 kB/s
**Erasing: Read-only**
petrusd987@Peters-Gaming-Ubuntu:/tmp$ sudo dd if=/dev/zero of=/dev/sdb
[sudo] password for petrusd987:
dd: opening ‘/dev/sdb’: Read-only file system
**Erasing: Writable**
petrusd987@Peters-Gaming-Ubuntu:/tmp$ sudo dd if=/dev/zero of=/dev/sdb
dd: writing to ‘/dev/sdb’: No space left on device
1+0 records in
0+0 records out
0 bytes (0 B) copied, 0.00111174 s, 0.0 kB/s
这是我的问题。我假设它试图附加到软盘。这不是我想要的。我希望它从软盘的开头开始并写入零。我该怎么做?
答案1
您上面发布的命令将把 1440k 写入0
软盘,但不会从中复制任何内容。但是由于磁盘已满,dd
无法写入设备,命令失败。您真幸运……
如果您想要获取软盘上的数据映像,请执行以下操作:
dd if=/dev/sdd of=floppy.img
这将创建一个名为的软盘映像文件floppy.img
。这是一个危险的命令,我建议您在尝试使用它之前仔细dd
阅读。man dd
另一个可能的问题(假设你运行dd
正确,而不是像你在答案中显示的那样)是软盘被写保护了。3 1/2英寸软盘有一个小开关,可以让你切换写保护(图片来自这里):
确保它处于正确的位置以允许写入。通常,如果驱动器以只读方式安装,您会收到permission denied
或类似的错误。我不记得您在尝试写入写保护软盘时遇到的错误。
答案2
我确实知道这些机器使用计算机无法识别的专有文件系统,如果这对任何人有帮助的话。不过我认为这并不重要,因为 DD 在二进制级别工作。
您说得对,dd
不必担心文件系统或其他问题。这不是问题所在。我现在非常确定,今天的 3.5 英寸软盘驱动器就是问题所在。
请记住,即使你使用 1.44MB(即 HD)介质,这也意味着没有什么关于格式化时产生的逻辑结构。我的意思是,每个扇区写入多少字节,每个磁道写入多少扇区,每个介质写入多少磁道。
如今(好吧,在过去十年里)1.44MB 软盘每个扇区使用 512 字节,每个磁道使用 18 个扇区,每面使用 80 个磁道,每张磁盘有两面,总共 1,474,560 字节 [1][2]
如果你的 Brother WP-2200 使用与此不同的格式(或 PC 驱动器使用的其他格式;Microsoft 的 KB 有一个很好的概述 [3]或者再次链接到维基百科 [4]), 你的dd
命令注定无法工作,因为软盘驱动器无法读取 WP-2200 格式磁盘的字节-秒-轨道几何结构。通常在这种情况下,您会听到软盘驱动器发出奇怪的声音,试图找到磁道并来回扫描几次。
这论坛主题支持我的假设。