Como posso saber que tamanho de bloco um dispositivo semelhante a disco usa quando não tem volumes montados?

1

Isso parece absurdamente fácil, e eu tenho a ideia de usar para saber como descobrir, mas ...

No Mac OS 10.4, eu quero fazer uma cópia bruta entre dois dispositivos usando dd if=inputdev of=outputdev ibs=?? obs=?? . Como posso saber quais são os melhores tamanhos de bloco para passar para ibs e obs ?

Informações relacionadas - Houve uma pergunta sobre SO, Propósito de ibs / obs / bs em dd , com uma resposta muito legal de Jonathan Leffler.

Postscript: Parece difícil, receio. De uma mensagem na lista de condutores de motorista :

The problem is that the Size, and Preferred Block Size information in the IORegistry is unreliable for open session CD-R discs, and in order to provide compatibility with the widest range of devices, I need to issue a sequence of SCSI commands to the device in order to determine where the actual last written block on the disc is, and what the actual block size of the media is.

Assim, o conteúdo do Tamanho do Bloco Preferido no Registro IO, mesmo que possa ser acessado, pode estar errado ...

Mas um método confiável de obter essas informações ainda seria valorizado.

    
por Charles Stewart 25.02.2010 / 22:13

1 resposta

1

Se os drivers forem carregados para esses dispositivos, seus tamanhos de bloco deverão ser registrados no IORegistry. Como encontrar as entradas que você quer no dito registro não é algo que qualquer um pode adivinhar sem saber mais sobre os dispositivos em questão. As probabilidades são boas, você pode usar apenas 512 de qualquer maneira.

Se o driver que carregar não for confiável o suficiente para você, você basicamente terá que escrever o seu próprio. Não há como enviar comandos ATA ou SCSI brutos para um dispositivo da linha de comando que conheço, mas outra pessoa pode saber algo que não sei.

    
por 27.02.2010 / 08:04

Tags