마운트하지 않고 FAT32 파일 시스템을 생성하고 채웁니다.

마운트하지 않고 FAT32 파일 시스템을 생성하고 채웁니다.

마운트하거나 루트 액세스 권한 없이 파일 세트가 포함된 FAT32 파일 시스템을 생성할 수 있는 방법이 있습니까?

저는 취미로 오래된 운영 체제용 소프트웨어 애플리케이션을 개발하고 있으며, 빌드 프로세스의 일부로 일부 소스 파일을 FAT32 디스크 이미지로 패키징한 다음 QEMU를 시작하여 이미지를 부팅하고 거기에서 기존 컴파일러를 실행하려고 합니다. . 그런 다음 FAT32 디스크 이미지에서 컴파일된 파일을 추출하고 싶습니다.

create filesystem 을 사용할 수 있지만 mkfs.vfat이미지 안팎으로 파일을 이동하는 유일한 방법은 마운트하는 것입니다. 이는 일반적으로 루트 액세스가 필요하며 빌드 프로세스에 포함하는 데 도움이 되지 않습니다.

이상적으로 내가 원하는 것은 .zip 파일을 생성/추출하지 않고 대신 FAT16 또는 FAT32 형식의 디스크 이미지를 생성하고 추출한다는 점을 제외하면 zip및 유틸리티와 같은 것입니다.unzip

그런 것이 존재하나요? 온라인에서 찾을 수 있는 유일한 것은 디스크 이미지 마운트와 관련이 있습니다.

답변1

물론, 비록 검색은 실패했지만, 이에 대한 질문을 올리고 얼마 지나지 않아 드디어 답을 찾았습니다.

따라서 이 mtools패키지는 다음을 수행할 수 있습니다.

# Create a 2 MB file
dd if=/dev/zero of=disk.img bs=1M count=2

# Put a FAT filesystem on it (use -F for FAT32, otherwise it's automatic)
mformat -i disk.img ::

# Add a file to it
mcopy -i disk.img example.txt ::

# List files
mdir -i disk.img ::

# Extract a file
mcopy -i disk.img ::/example.txt extracted.txt

mtools드라이브 문자(예: )를 지정하여 C:작동하며 특수 :드라이브( 로 지정됨 ::)는 명령줄에서 이 옵션과 함께 제공된 이미지를 참조합니다 -i.

관련 정보