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 Rasbianが存在する場所は16267263番目のセクター(つまり使用可能な上限の端にあります)。合計セクター数は16136192です。
dd
をif=/dev/zeros
とともに使用してイメージを展開し、次にLinuxを展開しますFSその中ですが1)これで問題が解決するかどうかわかりませんおよび2)。元の画像のサイズである約に固執したいと思います。 7.7GB。
私が見落としていたアイデアとそれを修正する方法はありますか?
SDカードへのイメージの書き込み、Rasbianの起動(SDカードは合計32GB)、および操作に問題がないことに注意してください。
画像には16267263セクターがありますが、開始セクターと終了セクターは0からカウントされるため、パーティションは画像の終わりを超えて1セクター拡張されます。画像は正常に機能しているように見えるので、512バイトを追加することで修正できます。
私は同じ問題を抱えており、同じ手法を使用してそれを解決しました(dd
を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バイトのセクターを1つ追加します。
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