我使用命令创建了一个空的二进制映像文件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,将第二个分区格式化为 EXT4 以作为 Linux 根文件系统。
我怎样才能做到这一点?我知道如何使用 和 格式化物理驱动器mkfs.fat
,但是mkfs.ext4
如何对具有 2 个独立分区的磁盘映像进行格式化?
操作系统:Ubuntu 20 LTS
答案1
要格式化磁盘映像中包含的分区,您可以首先为分区创建块设备文件。设备文件就位后,您可以mkfs
像平常一样使用。完成后,您可以删除设备文件。
- 创建并列出块设备文件:
kpartx -av sd.img
- 格式化每个分区。前任。
mkfs.fat /dev/mapper/loop0p1
- 删除块设备文件:
kpartx -d sd.img