Como gerar uma tabela de partições GUID de backup

0

Estou tentando inicializar minha instalação do OSX usando Qemu + OVMF + CLOVER + FV2 do meu disco físico (eu tenho um driver PS / 2 daqui link para o VmWare FileVault (FV2), mas eu preciso esconder algumas das partições no disco.Eu posso colocar o bootloader em uma unidade diferente, mas parece que uma maneira de se esconder de outras partições é usar linear ataque como descrito aqui link .

Esse artigo descreve o MBR, mas como você gera uma tabela de partição GUID quando há informações de partição no final do disco?

Dada a seguinte tabela de partições:

Main partition table begins at sector 2 and ends at sector 3
First usable sector is 4, last usable sector is 242187496
Partitions will be aligned on 4-sector boundaries
Total free space is 64 sectors (32.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
 1              68           65535   32.0 MiB    EF00  EFI System
 2           65536         8454143   4.0 GiB     8300  Linux filesystem
 3         8454144        90765255   39.2 GiB    0700  Microsoft basic data
 4        90765256       174554311   40.0 GiB    AF0A  Apple APFS
 5       174554312       242187496   32.3 GiB    0700  Microsoft basic data

como eu poderia gerar uma unidade md linear que contenha apenas a partição 4? Eu não posso usar o fallocate para criar um temporário, pois não há espaço suficiente em nenhuma das partições para fazer isso.

    
por Terrie Wrist 30.08.2018 / 00:48

1 resposta

1

O artigo mencionado descreve basicamente como criar um dispositivo virtual que adiciona 16K a outro dispositivo existente. Se você quiser adicionar uma tabela de partições GPT, você deve adicionar um pouco mais, como 1M, e também acrescentar algo:

dd if=/dev/zero of=/path/to/prepend bs=1M count=1
dd if=/dev/zero of=/path/to/append  bs=1M count=1

losetup -f /path/to/prepend
losetup -f /path/to/append

# now we map 3 devices together
mdadm --build --verbose /dev/md0 --chunk=16 --level=linear --raid-devices=3 /dev/loop0 /dev/sdX4 /dev/loop1

Agora você pode usar gdisk para criar uma partição GPT em / dev / md0 que começa em 1M e tem pelo menos 41894528K de comprimento ((174554312-90765256) / 2).

Tenha cuidado! Se você calcular mal alguma coisa, então gdisk pode não apenas criar tabelas de partição no espaço prefixado e anexado, mas destruir alguns dados do seu disco OSX. Então, para testar, eu criaria um dispositivo de loop somente de leitura:

losetup - somente leitura -f / dev / sdX4

... e use este em vez de /dev/sdX4 primeiro para o comando mdadm para criar a tabela GPT e instalar o gerenciador de inicialização.

    
por 30.08.2018 / 02:57

Tags