「エラー:セクタ数が良い場合でも、ディスクの外側にパーティションを持つことはできません!」

「エラー:セクタ数が良い場合でも、ディスクの外側にパーティションを持つことはできません!」

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セクターが上限であり、ラスビアンが位置するFSはで終わります。部門番号 16267263(つまり、利用可能な上限の端にあります)、セクタの総数は16136192

ddwithを使用してイメージを拡張し、その中にLinux FSを拡張できますが、if=/dev/zeros1)これが問題を解決できるかどうかはわかりません。 2)。元の画像のサイズを大まかに維持したいです。 7.7GB。

私が見落とした考えは何であり、どのように解決できますか?

SDカードに画像を書き、Rasbianを起動し(SDカードは合計32GB)、使用するのに問題がないことに注意してください。

答え1

イメージには16267263個のセクターがありますが、開始と終了のセクターは0からカウントされ始めるため、パーティションはイメージの終わりを超えて1つのセクターに拡張されます。画像が正常に動作しているように見えるので、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

関連情報