“Erro: Não é possível ter uma partição fora do disco!”, embora o número de setores seja bom

2

Eu estou olhando para um arquivo de imagem que foi criado usando dd com um cartão SD com Raspbian (com Qt 5.7 nele que eu compilei um tempo atrás) como entrada. Ao invocar

sudo parted raspbian_jessie_qt5.7_all_modules.img unit s print

Eu obtenho

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 isto, eu tenho 16267263 setores como o limite superior, enquanto o FS, onde Rasbian reside, termina no 16267263º setor (que está na borda do disponível). limite superior). O número total de setores é 16136192 .

Eu posso usar dd com 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 eu esqueci e como corrigi-la?

Note 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.

    
por rbaleksandar 30.10.2016 / 17:44

2 respostas

2

Sua imagem tem 16267263 setores, mas os setores inicial e final contam a partir de 0, então sua partição estende um setor além do final da imagem. Como a imagem parece funcionar bem, você provavelmente pode consertá-la adicionando 512 bytes a ela.

    
por 30.10.2016 / 18:08
0

Eu tive o mesmo problema e resolvi usando a mesma técnica (usando dd com 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 pára 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
    
por 21.03.2018 / 01:22