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.
dd
with를 사용 if=/dev/zeros
하여 이미지를 확장한 다음 Linux FS를 확장할 수 있지만 1)이 방법으로 문제가 해결될지 확신할 수 없으며 2). 나는 대략 원본 이미지의 크기를 고수하고 싶습니다. 7.7GB.
내가 간과한 부분과 이를 해결하는 방법에 대한 아이디어가 있습니까?
SD 카드에 이미지를 쓰고, Rasbian을 부팅하고(SD 카드는 총 32GB) 작업하는 데 아무런 문제가 없습니다.
답변1
이미지에는 16267263개의 섹터가 있지만 시작 및 끝 섹터는 0부터 계산되므로 파티션은 이미지 끝을 넘어 한 섹터를 확장합니다. 이미지가 제대로 작동하는 것 같으므로 512바이트를 추가하여 문제를 해결할 수 있습니다.
답변2
나는 같은 문제가 있었고 같은 기술을 사용하여 해결했습니다 ( 이미지 확장을 위해 dd
with 사용). 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
dd
하나의 512바이트 섹터를 추가하는 데 사용 :
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