디스크 이미지의 파티션을 포맷하는 방법은 무엇입니까?

디스크 이미지의 파티션을 포맷하는 방법은 무엇입니까?

명령을 사용하여 빈 바이너리 이미지 파일을 만든 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.ext42개의 별도 파티션이 있는 디스크 이미지를 어떻게 포맷합니까?

운영 체제: 우분투 20 LTS

답변1

디스크 이미지에 포함된 파티션을 포맷하려면 먼저 해당 파티션에 대한 블록 장치 파일을 생성합니다. 장치 파일이 제자리에 있으면 mkfs정상적으로 사용할 수 있습니다. 완료되면 장치 파일을 삭제할 수 있습니다.

  1. 블록 장치 파일을 생성하고 나열합니다.kpartx -av sd.img
  2. 각 파티션을 포맷하십시오. 전임자.mkfs.fat /dev/mapper/loop0p1
  3. 블록 장치 파일 삭제:kpartx -d sd.img

관련 정보