DD: Não há espaço à esquerda no dispositivo

2

Eu tenho mexido com um velho irmão WP-2200 e eu acertei um pouco. Eu estava esperando que eu fosse capaz de fazer imagens dos disquetes que eu digitei usando o dd no Linux. Infelizmente isso não funcionou. Eu tentei dd em cerca de seis computadores diferentes e todos eles produziram algo semelhante ao seguinte:

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

Isso também produz o mesmo resultado quando feito ao contrário. Eu não entendo porque isso está acontecendo porque eu sei de fato que o disquete que eu usei no dispositivo estava funcionando perfeitamente no dd antes do formatado pelo WP-2200. Eu sei que essas máquinas usam um sistema de arquivos proprietário não reconhecido pelos computadores, se isso ajuda alguém. Eu não acho que isso importava, porque DD trabalha no nível binário. Qualquer ajuda para consertar isso seria muito apreciada.

Atualização:

Eu não falei muito bem sobre este post, então eu gostaria de tentar deixar um pouco mais claro. O disco não foi protegido contra gravação quando eu estava trabalhando com ele. Abaixo estão três dos comandos que tentei e a saída que recebo:

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

Esse é o meu problema. Eu estou supondo que ele está tentando anexar ao disquete. Isso não é o que eu quero. Eu quero que ele comece no começo do disquete e escreva os zeros. Como faço isso?

    
por Petrusd987 16.07.2013 / 18:55

2 respostas

3

O comando que você postou acima escreverá 1440k de 0 s no seu disquete, não copiará nada dele. Como o disco está cheio, no entanto, dd não pode gravar no dispositivo e o comando falha. Sorte sua ...

Se você quiser tirar uma foto dos dados no disquete, faça isso:

dd if=/dev/sdd of=floppy.img 

Isso criará um arquivo de imagem do seu disquete chamado floppy.img . dd é um comando perigoso, recomendo que você leia man dd cuidadosamente antes de tentar usá-lo.

Outro possível problema (supondo que você execute o dd corretamente e não a maneira que você mostrou na sua resposta) é que o disquete está protegido contra gravação. Disquetes de 3 1/2 polegadas tinham um pequeno comutador que permitia alternar a proteção contra gravação (imagem de aqui ):

Certifique-se de que esteja na posição correta para permitir a gravação. Normalmente, se uma unidade for montada somente para leitura, você receberá um permission denied ou um erro semelhante. Não me lembro do erro que você teve ao tentar gravar em um disquete protegido contra gravação.

    
por 16.07.2013 / 19:04
2

I do know that these machines use a proprietary file system not recognized by computers if that helps anyone. I didn't think that mattered though because DD works at the binary level.

Você está certo, dd não se preocupa com sistemas de arquivos ou o que nunca. Esse não é o problema. Tenho certeza de que agora as unidades de disquetes de 3.5 "são o problema.

Lembre-se, mesmo se você usar um meio de 1,44MB (ou seja, um HD), que está dizendo nada sobre a estrutura lógica que é gerada na formatação. Quero dizer, quantos bytes por setor, quantos setores por faixa e quantas faixas por mídia são escritas.

Hoje (ok, na última década) um disquete de 1.44MB usa 512 bytes por setor, 18 setores por trilha, 80 trilhas por lado e dois lados, totalizando 1.474.560 bytes por disco [1] [2]

Se o seu irmão WP-2200 usar algo diferente daquele (ou dos outros formatos usados pelas unidades de PC, o KB da Microsoft tem um boa visão geral [3] ou novamente um link para Wikipedia [4] ), seu O comando dd está condenado a não funcionar, apenas porque a unidade de disquete não consegue ler a geometria bytes-sec-tracks do disco formatado WP-2200 . Normalmente, nesse caso, você ouve um som estranho de seu drive de disquete, tentando encontrar as faixas e varrendo para frente e para trás algumas vezes.

Este tópico do fórum confirma minha suposição.

    
por 17.07.2013 / 21:09

Tags