Alterando o UUID do HFSPlus da PartedMagic

5

Eu precisava fazer um clone do meu disco rígido recentemente (bad blocks FTW). Eu estava usando o Clonezilla na época.

No entanto, o Clonezilla se recusou a copiar a partição HFS +, então eu fiz isso manualmente. O problema é que os UUIDs estão fora de sincronia.

Qual é o comando para definir um UUID específico para o HFS +?

    
por Kaz Wolfe 07.09.2014 / 07:45

1 resposta

3

Primeiro, vou criar um arquivo de imagem de 500M:

$ cd /tmp
$ fallocate -l $((1024*1024*500)) ./disk

Agora vou dar um GPT:

$ gdisk ./disk

GPT fdisk (gdisk) version 0.8.10

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

Creating new GPT entries.

o para criar uma nova GPT.

Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y

n para criar nova partição. Eu apenas pressiono enter para selecionar todos os padrões depois disso.

Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-1023966, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-1023966, default = 1023966) or {+-}size{KMGTP}: 
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

w escreve alterações no disco.

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to ./disk.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.

Agora vou configurá-lo como um dispositivo de bloco particionado e formatar a primeira partição com um sistema de arquivos:

$ sync; lp=$(sudo losetup --show -fP ./disk)
$ sudo mkfs.vfat -n SOMEDISK "${lp}p1"

Resultados:

$ lsblk -o NAME,FSTYPE,LABEL,PARTUUID "$lp"

NAME      FSTYPE LABEL    PARTUUID       
loop0                                
└─loop0p1 vfat   SOMEDISK f509e1d4-32bc-4a7d-9d47-b8ed0f280b36  

Agora, para mudar isso. Primeiro, destrua o bloco dev:

$ sudo losetup -d "$lp"

Agora, edite o GPT:

$ gdisk ./disk

GPT fdisk (gdisk) version 0.8.10
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present
Found valid GPT with protective MBR; using GPT.

i fornece informações estendidas sobre uma única partição. Se eu tivesse mais de uma partição, eu seria solicitado a inserir o número da partição. O mesmo vale para o comando c mais tarde.

Command (? for help): i
Using 1
Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem)
Partition unique GUID: F509E1D4-32BC-4A7D-9D47-B8ED0F280B36
First sector: 2048 (at 1024.0 KiB)
Last sector: 1023966 (at 500.0 MiB)
Partition size: 1021919 sectors (499.0 MiB)
Attribute flags: 0000000000000000
Partition name: 'Linux filesystem'

x é o menu x perts.

Command (? for help): x

c para alteração de PARTUID.

Expert command (? for help): c
Using 1
Enter the partition's new unique GUID ('R' to randomize): F509E1D4-32BC-4A7D-9D47-B00B135D15C5                  
New GUID is F509E1D4-32BC-4A7D-9D47-B00B135D15C5

w grava as alterações no disco (ou, neste caso, no meu arquivo de imagem) .

Expert command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to ./disk.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.

$ sync; lp=$(sudo losetup --show -fP ./disk)

Os resultados:

$ lsblk -o NAME,FSTYPE,LABEL,PARTUUID "$lp"

NAME      FSTYPE LABEL    PARTUUID
loop0                     
└─loop0p1 vfat   SOMEDISK f509e1d4-32bc-4a7d-9d47-b00b135d15c5
    
por 08.09.2014 / 03:34