Estou vendo um arquivo de imagem que foi criado usando dd
um cartão SD com Raspbian (com Qt 5.7 que compilei há algum tempo) como entrada. Ao invocar
sudo parted raspbian_jessie_qt5.7_all_modules.img unit s print
eu recebo
Error: Can't have a partition outside the disk!
Eu verifiquei as partições usando fdisk
usando
sudo fdisk -lu rasp_jessie_qt5.7.img
com a seguinte saída
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
Quando eu olho para isso eu tenho16267263 setorescomo o limite superior, enquanto o FS onde Rasbian reside termina no16267263º setor(que está no limite do limite superior disponível). O número total de setores é16136192.
Posso usar dd
with if=/dev/zeros
para expandir a imagem e depois expandir o Linux FS nela, mas 1) Não tenho certeza se isso resolverá o problema e 2). Eu realmente gostaria de manter o tamanho da imagem original que é de aprox. 7,7 GB.
Alguma idéia do que esqueci e como consertar?
Observe que não tenho problemas para gravar a imagem no cartão SD, inicializar meu Rasbian (o cartão SD tem 32 GB no total) e trabalhar com ele.
Responder1
Sua imagem possui 16267263 setores, mas os setores inicial e final contam a partir de 0, portanto sua partição se estende um setor além do final da imagem. Como a imagem parece funcionar bem, você provavelmente poderá corrigi-la anexando 512 bytes a ela.
Responder2
Tive o mesmo problema e resolvi usando a mesma técnica (usando dd
with if=/dev/zeros
para expandir a imagem). Eu posto os comandos apenas para referência futura:
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
Usando dd
para adicionar um setor de 512 bytes:
dd if=/dev/zero bs=512 count=1 >> hdd.img
depois parted
para de dar erros:
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