두 개의 파티션이 있는 가상 디스크의 파티션을 마운트하려고 할 때 "마운트"가 실패하는 이유는 무엇입니까?

두 개의 파티션이 있는 가상 디스크의 파티션을 마운트하려고 할 때 "마운트"가 실패하는 이유는 무엇입니까?

두 개의 파티션으로 구성된 가상 디스크를 만들려고 합니다. 첫 번째는 100M FAT(유형 0xC)이고 두 번째는 2G Linux 파티션(유형 83)입니다. 실제 USB 장치를 사용하여 이 작업을 올바르게 수행하는 프로세스가 있습니다. 하지만 USB 장치를 사용할 필요가 없도록 이미지를 가상으로 만들고 싶습니다. 하단에 링크된 질문과 매우 유사한 질문을 찾았지만 답변(또는 질문)은 파일이 호스트와 공유되는 드라이브에 존재한다는 것입니다. (이것은 제가 이해한 것입니다.) 가상 머신의 디스크에 가상 디스크를 생성 중이므로 이 문제를 피하고 싶습니다.

단일 파티션 가상 디스크를 생성하고 포맷하고 파일을 쓸 수 있습니다. 문제 없이 별도의 파일에 두 가지 유형의 파티션을 모두 생성할 수 있습니다. 단일 가상 디스크에 두 개의 파티션을 생성하려고 하면 마운트가 실패합니다.

동일한 정보가 포함된 USB 드라이브를 만들 수 있도록 이미지 파일을 갖고 싶습니다. 추가적으로 이미지를 회사의 생산 시스템으로 가져와야 합니다.

"mount"의 메시지는 다음과 같습니다.

마운트: 잘못된 파일 시스템 유형, 잘못된 옵션, /dev/loop1p1의 잘못된 슈퍼 블록, 누락된 코드 페이지 또는 도우미 또는 기타 오류

dmesg를 확인하면 다음 메시지가 표시됩니다.

[79703.646945] FAT-fs(loop1p1): 예약된 섹터의 잘못된 개수

[79703.646949] FAT-fs(loop1p1): 유효한 FAT 파일 시스템을 찾을 수 없습니다.

fdisk는 내가 기대하는 것을 보여줍니다:

sudo fdisk -lu

  • /dev/loop1 디스크 /dev/loop1: 2.2 GiB, 2306867200바이트, 4505600 섹터

  • 단위: 섹터 1 * 512 = 512바이트

  • 섹터 크기(논리적/물리적): 512바이트/512바이트

  • I/O 크기(최소/최적): 512바이트/512바이트

  • 디스크 레이블 유형: dos

  • 디스크 식별자: 0xbe0f04f4

  • 장치 부팅 시작 및 끝 섹터 크기 ID 유형

  • /dev/loop1p1 2048 206847 204800 100M c W95 FAT32 (LBA)

  • /dev/loop1p2 206848 4401151 4194304 2G 83 리눅스

나는 실행 중입니다 :

uname -a

  • Linux xxxxxxxxx 4.15.0-142-일반 #146~16.04.1-Ubuntu SMP 화요일 4월 13일 09:27:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

여기에도 비슷한 질문이 있습니다.

답변1

mkfs.* 단계를 놓친 것 같습니다. lossup 명령과 /dev/loop0p1 및 /dev/loop0p2를 사용할 수 있게 되면 파티션을 포맷해야 합니다.

sudo mkfs.vfat -F 32 -n "BOOT" /dev/loop0p1 
sudo mkfs.vfat -L -n "rootfs" /dev/loop0p2

대부분의 예에서 디스크 이미지는 포맷된 것으로 나타나므로 mkfs.* 단계는 언급되지 않습니다.

이것이 미래에 도움이 되기를 바랍니다.

관련 정보