ディスクイメージのパーティションをフォーマットするには?

ディスクイメージのパーティションをフォーマットするには?

コマンドを使用して空のバイナリイメージファイルを作成し、fallocate -l 500M sd.imgそれを使用してパーティションを分割しましたgdisk。これで、以下を使用してパーティションを表示できますgdisk

Command (? for help): i
Partition number (1-2): 1
Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)
Partition unique GUID: 8B28D50C-C5B5-470D-908D-FF212433AC50
First sector: 2048 (at 1024.0 KiB)
Last sector: 43007 (at 21.0 MiB)
Partition size: 40960 sectors (20.0 MiB)
Attribute flags: 0000000000000000
Partition name: 'Microsoft basic data'

Command (? for help): i
Partition number (1-2): 2
Partition GUID code: 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3 (Linux ARM32 root (/))
Partition unique GUID: 8A6F3384-7AC2-448C-BD76-73A772E9E586
First sector: 43008 (at 21.0 MiB)
Last sector: 247807 (at 121.0 MiB)
Partition size: 204800 sectors (100.0 MiB)
Attribute flags: 0000000000000000
Partition name: 'Linux ARM32 root (/)'

ご覧のとおり、最初のパーティションをFAT32にフォーマットし、2番目のパーティションをEXT4にフォーマットしてLinuxルートファイルシステムとして使用しようとしています。

どうすればいいですか?物理ドライブを使用してフォーマットする方法を知っていますがmkfs.fatmkfs.ext42つの別々のパーティションを持つディスクイメージをどのようにフォーマットしますか?

オペレーティングシステム:Ubuntu 20 LTS

ベストアンサー1

ディスクイメージに含まれるパーティションをフォーマットするには、まずそのパーティションのブロックデバイスファイルを作成します。デバイスファイルが所定の位置にある場合は、mkfs正常に使用できます。完了したら、デバイスファイルを削除できます。

  1. ブロックデバイスファイルを作成して一覧表示します。kpartx -av sd.img
  2. 各パーティションをフォーマットします。前任者。mkfs.fat /dev/mapper/loop0p1
  3. ブロックデバイスファイルの削除:kpartx -d sd.img

おすすめ記事