Escrevendo .img para USB usando dd resulta em cabeçalho GPT primário corrompido

0

Eu tenho uma unidade USB 3.0 de 64GB que planejo instalar sistemas operacionais inicializáveis para fins de sysadmin. Meu sistema operacional principal é o Mac OS X 10.11.

Eu tenho uma cópia de ubuntu-16.04-desktop-amd64.iso . No meu mac, eu corro o seguinte comando:

$ hdiutil convert -format UDRW -o ubuntu.img ubuntu-16.04-desktop-amd64.iso

Como diz o manual de instalação USB do ubuntu para tornar o arquivo iso em um arquivo img regravável. Isso gera o seguinte:

Reading Driver Descriptor Map (DDM : 0)…
Reading Ubuntu 16.04 LTS amd64           (Apple_ISO : 1)…
Reading Apple (Apple_partition_map : 2)…
Reading Ubuntu 16.04 LTS amd64           (Apple_ISO : 3)…
.............................................................................
Reading EFI (Apple_HFS : 4)…
.............................................................................
Reading Ubuntu 16.04 LTS amd64           (Apple_ISO : 5)…
.............................................................................
Elapsed Time:  4.011s
Speed: 353.2Mbytes/sec
Savings: 0.0%

Então, renomeio o recém-criado ubuntu.img.dmg para apenas ubuntu.img e tento usar dd para gravar o conteúdo em um disco:

0+22673 records in
0+22673 records out
1485881344 bytes transferred in 9.590071 secs (154939557 bytes/sec)

Eu então ejetei o USB e reiniciei o meu Mac. Ao inicializar pressionando alt e escolhendo o EFI Boot stick USB, recebo uma mensagem muito breve piscando na tela que diz error: file '/boot' not found. Depois que a mensagem desaparece eu recebo o menu padrão do GRUB e consigo inicializar Ubuntu com sucesso.

Eu reinicio o OS X novamente e executo o diskutil list para obter as informações da partição para o USB:

/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *62.7 GB    disk1
   1:        Apple_partition_map                         4.1 KB     disk1s1
   2:                  Apple_HFS                         2.4 MB     disk1s2

Eu não tinha certeza se esse era o esquema de partição correto, então eu corri gdisk /dev/disk1 e obtive a seguinte saída:

GPT fdisk (gdisk) version 1.0.1

Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!

Caution! After loading partitions, the CRC doesn't check out!
Warning! Main partition table CRC mismatch! Loaded backup partition table
instead of main partition table!

Warning! One or more CRCs don't match. You should repair the disk!

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: damaged

Minhas desculpas pelo post longo, minha pergunta é: Onde está o processo que está ocorrendo (ele tem 100% de reprodutibilidade no meu final), e existe uma maneira de corrigi-lo?

    
por Sam Holmes 29.04.2016 / 14:48

1 resposta

1

Eu não tenho uma solução definitiva, mas tenho algumas observações:

  • A página em que você faz referência foi escrita em 2010 e última atualização em 2013. Assim, é bastante obsoleto e pode ser completamente inaplicável para o Ubuntu 16.04.
  • A saída diskutil list no disco convertido mostra que ele usa o Apple_partition_scheme - ou seja, o formato de tabela de partição APM da Apple, não o GPT. Idealmente, gdisk deve detectar isso como tal, mas hdiutil parece ter criado uma variante do APM que gdisk não reconhece, daí a afirmação de um GPT corrompido.
  • Se você estiver tentando inicializar o instalador do Ubuntu de forma regular, tente usar dd diretamente da imagem .iso para uma unidade USB, sem primeiro convertê-lo com hdiutil ou qualquer outra coisa. As imagens .iso do Ubuntu estão em uma espécie de formato Monster do Frankenstein que geralmente inicializa corretamente em drives USB. Se isso falhar, use Rufus, UNetbootin, ou Startup Disk Creator para criar uma unidade USB inicializável. Observe que o disco criado dessa maneira será adequado para executar o instalador do Ubuntu, mas na maioria dos casos não será um bom meio de instalação final; você vai querer inicializar o instalador e usá-lo para instalar em uma segunda unidade USB.
por 01.05.2016 / 18:37