Нужно было ужать образ жёсткого диска. Сделал resize раздела, поменял
его размер. В конце остаётся много пустого места. Если скопировать такой
образ простой dd, то FreeBSD не хочет показывать и загружать таблицу
разделов, выводя в dmesg что GPT вообще плох плох и никакой recovery вам
не поможет.
Если переносить образ на диск большего размера -- то в dmesg будет
предупреждение что второй GPT не находится в конце диска, но это чинится
одной командой. А тут первый GPT указывает на LBA выходящего за пределы
диска. Всякие kern.geom.part.check_integrity не помогают. Хотя я ведь
точно знаю что первый GPT исправен и просто нужно сделать его копию и
поправить её адрес.
Имея на руках оригинальный диск, можно сделать gpart backup, который
выведет в простом текстовом формате разметку, а дальше gpart recover-ом
записать её на уменьшенный диск. Но вот backup берёт информацию из
GEOM-а, который на маленьком диске отказывается подгружать информацию о
разделах и поэтому backup не сработает.
И вот не нашёл вообще никаких средств в самой ОС чтобы заставить
показать хоть в каком-нибудь виде информацию о GPT разделах, чтобы хотя
бы вручную восстановить этот backup файлик и с него уже валидный GPT
записать. То есть мне просто нужно нечто, что могло бы прочитать 32
сектора диска в начале, интерпретировало