"오류: 섹터 수가 양호하더라도 디스크 외부에 파티션을 가질 수 없습니다!"

"오류: 섹터 수가 양호하더라도 디스크 외부에 파티션을 가질 수 없습니다!"

dd나는 Raspbian(내가 얼마 전에 컴파일한 Qt 5.7이 있음)을 입력으로 사용하여 SD 카드를 사용하여 생성된 이미지 파일을 보고 있습니다 . 전화했을 때

sudo parted raspbian_jessie_qt5.7_all_modules.img unit s print

알겠어요

Error: Can't have a partition outside the disk!

fdisk다음 명령을 사용하여 파티션을 확인했습니다.

sudo fdisk -lu rasp_jessie_qt5.7.img

다음 출력으로

Disk rasp_jessie_qt5.7.img: 7.8 GiB, 8328838656 bytes, 16267263 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x65a3fac2

Device                 Boot  Start      End  Sectors  Size Id Type
rasp_jessie_qt5.7.img1        8192   131071   122880   60M  c W95 FAT32 (LBA)
rasp_jessie_qt5.7.img2      131072 16267263 16136192  7.7G 83 Linux

내가 이것을 보았을 때 나는 가지고 있었다16267263 섹터가 상한이며, Rasbian이 위치한 FS는 에서 끝납니다.부서 번호 16267263(즉, 사용 가능한 상한의 가장자리에 있음) 총 섹터 수는16136192.

ddwith를 사용하여 이미지를 확장한 다음 그 안에 Linux FS를 확장할 수 있지만 if=/dev/zeros1) 이것이 문제를 해결할 수 있을지 잘 모르겠습니다. 2). 원본 이미지의 크기를 대략적으로 유지하고 싶습니다. 7.7GB.

내가 간과한 아이디어는 무엇이며 어떻게 해결할 수 있나요?

SD 카드에 이미지를 쓰고, Rasbian을 부팅하고(SD 카드는 총 32GB) 사용하는데 문제가 없다는 점 참고하세요.

답변1

이미지에는 16267263개의 섹터가 있지만 시작 및 끝 섹터는 0부터 계산되기 시작하므로 파티션이 이미지 끝을 넘어 한 섹터 확장됩니다. 이미지가 제대로 작동하는 것 같으므로 512바이트를 추가하여 수정할 수 있습니다.

답변2

나는 같은 문제가 있었고 같은 기술을 사용하여 해결했습니다 ( 이미지 확장을 위해 ddwith 사용). if=/dev/zeros나중에 참조할 수 있도록 명령을 게시하고 있습니다.

user@host $  sudo fdisk -l -u=sectors hdd.img
Disk hdd.img: 465.8 GiB, 500107861504 bytes, 976773167 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8342379a

Device   Boot     Start       End   Sectors  Size Id Type
hdd.img1 *         2048    718847    716800  350M  7 HPFS/NTFS/exFAT
hdd.img2         718848 210434047 209715200  100G  7 HPFS/NTFS/exFAT
hdd.img3      210434048 211435519   1001472  489M 83 Linux
hdd.img4      211435520 976773167 765337648  365G 8e Linux LVM

user@host $  sudo parted hdd.img unit s print
Error: Can't have a partition outside the disk!
Ignore/Cancel? Ignore                                                     
Error: Can't have a partition outside the disk!
Ignore/Cancel? Ignore                                                     
Model:  (file)
Disk hdd.img: 976773167s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start       End         Size        Type     File system  Flags
 1      2048s       718847s     716800s     primary  ntfs         boot
 2      718848s     210434047s  209715200s  primary  ntfs
 3      210434048s  211435519s  1001472s    primary  ext2
 4      211435520s  976773167s  765337648s  primary               lvm

dd512바이트 섹터를 추가 하려면 :

dd if=/dev/zero bs=512 count=1 >> hdd.img

다음 이후에 parted오류 발생이 중지되었습니다 .

user@host $  sudo fdisk -lu hdd.img
Disk hdd.img: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8342379a

Device   Boot     Start       End   Sectors  Size Id Type
hdd.img1 *         2048    718847    716800  350M  7 HPFS/NTFS/exFAT
hdd.img2         718848 210434047 209715200  100G  7 HPFS/NTFS/exFAT
hdd.img3      210434048 211435519   1001472  489M 83 Linux
hdd.img4      211435520 976773167 765337648  365G 8e Linux LVM

user@host $  sudo hdd.img unit s print
Model:  (file)
Disk hdd.img: 976773168s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start       End         Size        Type     File system  Flags
 1      2048s       718847s     716800s     primary  ntfs         boot
 2      718848s     210434047s  209715200s  primary  ntfs
 3      210434048s  211435519s  1001472s    primary  ext2
 4      211435520s  976773167s  765337648s  primary               lvm

관련 정보