Por que o dd altera o sistema de arquivos no disco externo?

3

Eu tirei um disco SATA de 250 GB do meu netbook, preenchai com zeros com dd e conectei ao meu laptop através do adaptador usb. É corretamente detectado pelo fdisk:

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x475fa272

   Device Boot      Start         End      Blocks   Id  System

Eu criei uma partição primária e usei o seguinte comando para criar um sistema de arquivos ext4:

mkfs.ext4 /dev/sdb1

Agora fidsk mostra:

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
81 heads, 63 sectors/track, 95707 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x475fa272

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   488397167   244197560   83  Linux

Ok, não é surpresa até agora. Em seguida, eu queria extrair a imagem ISO do Ubuntu com o seguinte comando:

dd if=~/ubuntu-12.10-desktop-i386.iso of=/dev/sdb

Para minha surpresa, o sistema de arquivos mudou para 'HFS HPFS / NTFS':

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
19 heads, 24 sectors/track, 1071046 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x475fa272

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          64     1542743      771340   17  Hidden HPFS/NTFS

Qual é a maneira CORRETA de extrair a imagem ISO para a unidade externa usando dd com a preservação do sistema de arquivos atual?

    
por user1042840 30.10.2012 / 17:52

3 respostas

7

Você grava no disco ( /dev/sdb ), não no sistema de arquivos criado ( /dev/sdb1 ).

Como uma imagem ISO já contém um sistema de arquivos (que você não deseja), basta montar o ISO (com a opção -o loop ) e copiar os dados para /dev/sdb1 . Dessa forma, o sistema de arquivos é preservado.

    
por 30.10.2012 / 17:57
2

Não é para isso que dd é, e não é assim que dd funciona. Se você quer o conteúdo do ISO, então você pode voltar a montá-lo e copiar os arquivos individuais.

No entanto, parece que você está querendo copiar o conteúdo do instalador do Ubuntu para um disco rígido que presumivelmente você queira inicializar. Mais uma vez, não é assim que funciona.

Os discos óticos (CD / DVD) usam o sistema de arquivos ISO 9660 com extensões Rock Ridge para UNIX e El Torito para inicialização.

Um disco fixo (HDD / SSD / FDD) não funciona com sistemas de arquivos ISO 9660 e não pode ser inicializado a partir de uma imagem El Torito. Você não pode simplesmente copiar o conteúdo do Live CD e esperar que ele funcione. Você realmente precisa instalar o Ubuntu.

Se o computador para o qual você deseja instalar não tiver uma unidade óptica, use o instalador USB .

    
por 30.10.2012 / 19:49
1

Suponho que seu laptop tenha uma unidade de CDROM. Se assim for, você poderia instalar o drive do seu netbook em seu laptop (ao invés de conectá-lo via USB) e depois instalar o Ubuntu nele. Depois disso, coloque-o de volta no seu netbook.

Não tenho certeza de quão dependente uma instalação do Ubuntu está no hardware real, então você pode precisar fazer algo depois que a unidade voltar ao netbook para ajustar as coisas para trabalhar com o netbook em vez do laptop.

    
por 30.10.2012 / 21:18

Tags