バックアップGUIDパーティションテーブルを作成する方法

バックアップGUIDパーティションテーブルを作成する方法

Qemu + OVMF + CLOVER + FV2を使用して物理ディスクからOSXインストールを起動しようとしています(ここにPS / 2ドライバがあります)。 https://bitbucket.org/timmycook/virtioinputdxeVmWare FileVault(FV2)の場合は、ディスクの一部のパーティションを非表示にする必要があります。ブートローダを別のドライブに配置することもできますが、別のパーティションを隠す1つの方法は、ここで説明されているように線形RAIDを使用するようです。https://wiki.archlinux.org/index.php/QEMU

この記事ではMBRを紹介しましたが、ディスクの末尾にパーティション情報がある場合は、GUIDパーティションテーブルをどのように作成しますか?

次のように分割されたテーブルがあるとします。

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

パーティション4のみを含む線形mdドライブを作成する方法は?パーティションに十分なスペースがないため、Fallocateを使用して一時パーティションを作成することはできません。

ベストアンサー1

上記の記事では、主に他の既存のデバイスに16Kを接続するための仮想デバイスを作成する方法について説明しました。 GPTパーティションテーブルを追加するには、前に1M程度を追加し、次のエントリも追加する必要があります。

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

gdisk1Mから始めて、長さが最小41894528K((174554312-90765256)/ 2)の/ dev / md0にGPTパーティションを作成できるようになりました。

注意してください!誤って計算すると、gdisk先行領域と追加領域にパーティションテーブルが作成されるだけでなく、OSXディスクの一部のデータが破損する可能性があります。したがって、テスト用の読み取り専用ループデバイスを作成します。

losstup --読み取り専用-f /dev/sdX4

...最初のmdadmコマンドの代わりにそれを使用して/dev/sdX4GPTテーブルを作成し、ブートローダをインストールします。

おすすめ記事