다음 명령을 사용하여 원시 디스크 이미지를 분할하고 싶습니다.
#creating the blank image
$ dd if=/dev/zero of=example.img bs=1M count=50
#write the partition table
$ parted example.img mktable msdos
#creating partition but not the file system
#creating fat32 primary partition 1 to 15 MB
$ parted example.img mkpart p fat32 1 15
#creating ext3 primary partition 16 to end
$ parted example.img mkpart p ext3 16 -0
이 명령은 파일 시스템을 생성하지 않습니다. 어떻게 해야 하나요? mkfs
명령을 입력 하려고 하는데 parted
다음과 같이 표시됩니다.명령어를 찾을수 없음. 외부에서 파일 시스템을 만드는 방법은 무엇입니까?
답변1
이 명령을 사용하여 kpartx
루프백 장치를 만든 다음 포맷할 수 있습니다.
kpartx -a /path/to/imagefile.img # Presents partitions from the image file
mkfs.vfat /dev/mapper/loop0p1 # Format partition 1
mkfs.ext3 /dev/mapper/loop0p2 # Format partition 2
kpartx -d /path/to/imagefile.img # Unmaps the partitions from the image file
답변2
losetup
최신 버전의 옵션을 받으세요 -P
. 에서 인용남자 8은 실패했다:
-P, --partscan
Force the kernel to scan the partition table on a newly created loop device.
이렇게 하면 장치 losetup -f my_partitioned.img
가 생성될 /dev/loop0
뿐만 아니라 장치도 분할됩니다.
$ ls -l /dev/loop0*
brw-rw---- 1 root disk 7, 0 Oct 5 18:43 /dev/loop0
brw-rw---- 1 root disk 259, 0 Oct 5 18:43 /dev/loop0p1
brw-rw---- 1 root disk 259, 1 Oct 5 18:43 /dev/loop0p2
답변3
예를 들어 mkfs가 가리키는 위치가 있도록 파일과 연결된 루프백 장치를 mkfs.ext4
사용해야 합니다 . 루프 장치의 파티션을 식별하기 위해 losetup
이를 사용해야 할 수도 있습니다 .partprobe