Por que o “Disk Utility.app” não reconhece meu disco copiado 'dd'?

2

Versão resumida da pergunta Por que, quando tento copiar uma imagem de CD ISO em um dispositivo flash USB, obtenho um monte de comportamentos estranhos?

Versão original da pergunta, com todos os detalhes - O seguinte está pedindo problemas: com uma unidade flash USB em / dev / disk1 e um CD-ROM em / dev / disk2 da seguinte forma (em Mac Os 10.4):

cas cas$ diskutil list
# deleting irrelevant output
/dev/disk1
   #:                   type name               size      identifier
   0: FDisk_partition_scheme                    *3.7 GB   disk1
   1:              Apple_HFS usr-kodp           614.4 MB  disk1s1
   2:              Apple_UFS glowline           1.8 GB    disk1s2
   3:             DOS_FAT_32 VAR-KODP           1.2 GB    disk1s3
/dev/disk2
   #:                   type name               size      identifier
   0:    CD_partition_scheme                    *557.1 MB disk2
   1: Apple_partition_scheme                    485.1 MB  disk2s1
   2:    Apple_partition_map                    1024.0 B  disk2s1s1
   3:              Apple_HFS KoDP               479.5 MB  disk2s1s2

Tente danificar a partição do disco flash disk1s1 com as três partições do CDROM disk2s1:

cas cas$ dd if=/dev/disk2s1 of=/dev/disk1s1 bs=1024 count=496742

A partição resultante não será montada e o Utilitário de Disco não poderá repará-la:

Verify and Repair disk “disk1s1”
Checking HFS volume.
Invalid B-tree node size
Volume check failed.

Agora o diskutil me diz:

/dev/disk1
   #:                   type name               size      identifier
   0: FDisk_partition_scheme                    *3.7 GB   disk1
   1:              Apple_HFS usr-kodp           614.4 MB  disk1s1
   2:              Apple_UFS glowline           1.8 GB    disk1s2
   3:             DOS_FAT_32 VAR-KODP           1.2 GB    disk1s3

O que isso significa? É quase certo que porque minha estroboscopia significa que o mapa de partições raiz do disk1 informa que disk1s1 ainda é um Apple_HFS, mesmo que seu conteúdo seja um sistema de arquivos Apple_partition_scheme, mas o Disk Utility não deve inferir o tipo de disk1s1 se esse é o problema? E por que o diskutil me diz:

cas cas$ diskutil mount /dev/disk1s1
Volume /dev/disk1s1 mounted

... quando na verdade nenhum sistema de arquivos é montado?

    
por Charles Stewart 26.02.2010 / 10:34

1 resposta

3

Isto é adivinhação educada; Eu não sei bem o OSX ou diskutil , mas eu sei sistemas de arquivos gerais e dispositivos de bloco, então eu acho que sei o que está acontecendo. Muito disso pode ser impreciso; é feito CW para que os especialistas em sistemas de arquivos OSX possam corrigir isso conforme necessário.

Eu não acho que o CD tenha 3 partições para você copiar. O que lista de diskutil está mostrando você é / dev / disk2, é um dispositivo filho único e os 2 dispositivos filho da criança:

  • / dev / disk2 "CD_partition_scheme" - este é o CD "físico"

    1. / dev / disk2s1 "Apple_partition_scheme" - primeira faixa do CD, se eu entendi a nomenclatura do dispositivo do OSX corretamente. A partir da diferença de tamanho com o dispositivo pai e isso, eu acho que este é o CD menos correção de erro de dados.

      1. / dev / disk2s1s1 "Apple_partition_map" - do tamanho, isso parece uma tabela de partição ou uma tabela de arquivos

      2. / dev / disk2s1s2 "Apple_HFS" - este é o sistema de arquivos real

Então o que você copiou na sua partição USB não foi de três partições; foi o conteúdo em ordem do CD, menos os dados de correção de erros. Sua partição USB deve agora conter o equivalente a uma imagem ISO do CD.

É provavelmente por isso que não vai montar. Não estou familiarizado com as opções avançadas diskutil , mas se tivesse feito algo semelhante em um sistema Linux com um CD de dados padrão ISO9660, usaria isso para tentar montar a partição USB:

mount -t iso9660 /dev/myusbdevice /mnt/path

... e talvez funcionaria. Mas com base na sua pergunta, você parece estar tentando acessar a partição USB como um sistema de arquivos , e dado o seu comando dd e acima, não é um sistema de arquivos - é uma imagem de CD.

Para responder à sua pergunta, então:

O que significa "Tamanho de nó inválido da árvore B"? Significa que Utilitário de Disco não reconhece um sistema de arquivos válido em / dev / disk1s1 . Seu comando dd copiou o que você disse para copiar, mas o que você disse para copiar não é um sistema de arquivos. Quando você executa uma operação "Verificar e reparar", a verificação falha, porque está esperando um sistema de arquivos e está obtendo um mapa de partição do CD.

Se você está tentando copiar o sistema de arquivos com o dd , provavelmente quer copiar / dev / disk2s1s2 e não / dev / disk2s1 .

    
por 26.02.2010 / 14:42