Ich schaue mir eine Image-Datei an, die dd
mit einer SD-Karte mit Raspbian (mit Qt 5.7 darauf, das ich vor einiger Zeit kompiliert habe) als Eingabe erstellt wurde. Beim Aufrufen
sudo parted raspbian_jessie_qt5.7_all_modules.img unit s print
Ich bekomme
Error: Can't have a partition outside the disk!
Ich habe die Partitionen überprüft fdisk
mit
sudo fdisk -lu rasp_jessie_qt5.7.img
mit folgender Ausgabe
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
Wenn ich mir das anschaue, habe ich16267263 Sektorenals Obergrenze, während der FS, in dem Rasbian sich befindet, an der16267263. Sektor(das ist am Rand der verfügbaren Obergrenze). Die Anzahl der Sektoren insgesamt beträgt16136192.
Ich kann das Image dd
mit if=/dev/zeros
erweitern und dann das Linux-FS darin erweitern, aber 1) bin ich nicht sicher, ob das Problem dadurch behoben wird und 2) möchte ich wirklich bei der Größe des Originalimages bleiben, die ungefähr 7,7 GB beträgt.
Irgendwelche Ideen, was ich übersehen habe und wie ich es beheben kann?
Beachten Sie, dass ich keine Probleme habe, das Image auf die SD-Karte zu schreiben, mein Rasbian zu booten (die SD-Karte ist insgesamt 32 GB groß) und damit zu arbeiten.
Antwort1
Ihr Image hat 16267263 Sektoren, aber die Start- und Endsektoren beginnen bei 0, sodass Ihre Partition einen Sektor über das Ende des Images hinausgeht. Da das Image einwandfrei zu funktionieren scheint, können Sie es wahrscheinlich reparieren, indem Sie 512 Bytes anhängen.
Antwort2
Ich hatte das gleiche Problem und habe es mit der gleichen Technik gelöst (mit „with“ dd
zum if=/dev/zeros
Vergrößern des Bildes). Ich poste die Befehle nur zur späteren Bezugnahme:
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
So dd
fügen Sie einen 512-Byte-Sektor hinzu:
dd if=/dev/zero bs=512 count=1 >> hdd.img
danach parted
werden keine Fehler mehr ausgegeben:
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