Много информации о взятии изображения диска и уменьшения корневого (бионического) раздела файловой системы и затем усечения изображения для удаления части, которая стала свободным пространством. Как https://softwarebakery.com//shrinking-images-on-linux
Таким образом, существует в основном три шага. Используйте resize2fs для уменьшения файловой системы на разделе, затем уменьшите размер раздела также. Затем наконец удалите теперь неиспользуемое место в файле изображения.
Это - третья первая часть, имею проблему с. Каждый раз я пробую dd или усекаю все разделы изображения, удалены, как будто таблица разделов GPT в файле изображения была повреждена.
Вот исходное изображение
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk rock64-base.img: 30310400 sectors, 14.5 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): 159DCEDE-DBEA-4657-96D9-2CE178A96B7E
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 30310366
Partitions will be aligned on 64-sector boundaries
Total free space is 30 sectors (15.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 64 8063 3.9 MiB 8300 loader1
2 8064 8191 64.0 KiB 8300 reserved1
3 8192 16383 4.0 MiB 8300 reserved2
4 16384 24575 4.0 MiB 8300 loader2
5 24576 32767 4.0 MiB 8300 atf
6 32768 262143 112.0 MiB 0700 boot
7 262144 30310366 14.3 GiB 8300 root
Затем после сначала два шага
Found valid GPT with protective MBR; using GPT.
Disk test.img: 30310400 sectors, 14.5 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): 159DCEDE-DBEA-4657-96D9-2CE178A96B7E
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 30310366
Partitions will be aligned on 64-sector boundaries
Total free space is 23555002 sectors (11.2 GiB)
Number Start (sector) End (sector) Size Code Name
1 64 8063 3.9 MiB 8300 loader1
2 8064 8191 64.0 KiB 8300 reserved1
3 8192 16383 4.0 MiB 8300 reserved2
4 16384 24575 4.0 MiB 8300 loader2
5 24576 32767 4.0 MiB 8300 atf
6 32768 262143 112.0 MiB 0700 boot
7 262144 6755394 3.1 GiB 8300 primary
Вы видите, что корневой раздел файловой системы был уменьшен до 3.1G
Я могу загрузить то прекрасное изображение. Я могу отложить его на SD-карте и загрузить мое устройство. Таким образом, шаги 1 и 2 прекрасны.
ТЕПЕРЬ...
если я завершаю процесс, делающий 'усеченный - size= $ [(6755394 +1) *512] 'test.img'
и
GPT fdisk (gdisk) version 1.0.3
Warning! Disk size is smaller than the main header indicates! Loading
secondary header from the last sector of the disk! You should use 'v' to
verify disk integrity, and perhaps options on the experts' menu to repair
the disk.
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.
Warning! Error 25 reading partition table for CRC check!
Warning! One or more CRCs don't match. You should repair the disk!
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: damaged
****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************
Disk test2.img: 6755395 sectors, 3.2 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): 159DCEDE-DBEA-4657-96D9-2CE178A96B7E
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 30310366
Partitions will be aligned on 64-sector boundaries
Total free space is 23555002 sectors (11.2 GiB)
Number Start (sector) End (sector) Size Code Name
1 64 8063 3.9 MiB 8300 loader1
2 8064 8191 64.0 KiB 8300 reserved1
3 8192 16383 4.0 MiB 8300 reserved2
4 16384 24575 4.0 MiB 8300 loader2
5 24576 32767 4.0 MiB 8300 atf
6 32768 262143 112.0 MiB 0700 boot
7 262144 6755394 3.1 GiB 8300 primary
Явно усеченный (или dd в этом отношении) не играют хорошо с GPT. Выполнение gdisk на этом файле подтверждает, что gpt повреждается
если я выполняю gdisk на усеченном файле, он сообщает о поврежденном GPT.
Так, очевидно, я пропускаю что-то здесь. По-видимому, когда конец дискового файла изменяется, GPT повреждается или должен быть зафиксирован (не сочетаются). Даже при том, что это прекрасный/существует в конце шага 2. Я бездельничал с gdisk и не мог восстановить его. Помимо этого я хотел решение, которое я мог сделать со сценарием и с этим GPT, он не работает.
Таким образом, потому что это - GPT, делают я должен использовать что-то другое, чем усеченный или dd или сделать я должен "зафиксировать" GPT вручную после усечения.
Вот то, какие gdisk проверяют отчеты
Caution: The CRC for the backup partition table is invalid. This table may
be corrupt. This program will automatically create a new backup partition
table when you save your partitions.
Problem: The secondary header's self-pointer indicates that it doesn't reside
at the end of the disk. If you've added a disk to a RAID array, use the 'e'
option on the experts' menu to adjust the secondary header's and partition
table's locations.
Problem: Disk is too small to hold all the data!
(Disk size is 6755395 sectors, needs to be 30310400 sectors.)
The 'e' option on the experts' menu may fix this problem.
Problem: GPT claims the disk is larger than it is! (Claimed last usable
sector is 30310366, but backup header is at
30310399 and disk size is 6755395 sectors.
The 'e' option on the experts' menu will probably fix this problem
Partition(s) in the protective MBR are too big for the disk! Creating a
fresh protective or hybrid MBR is recommended.
GPT включает и основную таблицу разделов в начале диска и таблицу резервного раздела в конце диска. (Буквально конец диска - заключительные немного секторов диска.) Таким образом, когда Вы усеченный образ диска, Вы удалили таблицу резервного раздела. Кроме того, некоторые указатели и метаданные в основной таблице разделов стали недопустимыми, так как они указывали мимо конца (виртуального) диска. Это - большая часть какой v
команда в gdisk
жаловался на.
Ни одно из этого не означает, что диск полностью повреждается. Пока данные основной таблицы разделов допустимы, gdisk
(и большая часть другого GPT разделение инструментов), может восстановиться. В gdisk
, Вы ввели бы x
для ввода меню экспертов затем введите e
перемещать данные таблицы резервного раздела в новый конец диска и затем вводить w
записать изменения в диске. (Я рекомендовал бы ввести v
снова прежде w
в случае, если я пропустил другую проблему; также, посмотрите ниже....),
Обратите внимание, однако, что существует еще одна проблема: Ваш образ диска является 6 755 395 секторами в размере, согласно gdisk
; но заключительный сектор последнего раздела в секторе 6,755,394. Это не оставляет достаточно пространства для таблицы резервного раздела (это использует 33 сектора, по умолчанию). Если можно восстановить целый процесс, необходимо, вероятно, уменьшить образ диска меньшей суммой. В противном случае попытайтесь развернуть образ диска на 33*512 (16,896) байты прежде, чем воссоздать таблицу резервного раздела с gdisk
.