Я смотрю на файл изображения, который был создан с использованием dd
SD-карты с Raspbian (с Qt 5.7 на ней, который я скомпилировал некоторое время назад) в качестве входных данных. При вызове
sudo parted raspbian_jessie_qt5.7_all_modules.img unit s print
я получил
Error: Can't have a partition outside the disk!
Я проверил разделы с помощью fdisk
using
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, но 1) я не уверен, решит ли это проблему, и 2) мне бы очень хотелось придерживаться размера исходного образа, который составляет примерно 7,7 ГБ.
Есть идеи, что я упустил из виду и как это исправить?
Обратите внимание, что у меня не возникло никаких проблем с записью образа на SD-карту, загрузкой моего Rasbian (общий объем SD-карты составляет 32 ГБ) и работой с ним.
решение1
Ваш образ содержит 16267263 сектора, но начальный и конечный секторы отсчитываются от 0, поэтому ваш раздел выходит на один сектор за пределы конца образа. Поскольку образ, по-видимому, работает нормально, вы, вероятно, можете исправить это, добавив к нему 512 байт.
решение2
У меня была та же проблема, и я решил ее, используя ту же технику (используя dd
with 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 байт используется :
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