From: Sergey Matveev Date: Mon, 21 Aug 2023 06:38:30 +0000 (+0300) Subject: Битый GPT не вывести X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=bacf08f6a5cdd17e07b5ad14070c61674ed7be20;p=stargrave-blog.git Битый GPT не вывести Нужно было ужать образ жёсткого диска. Сделал 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 сектора диска в начале, интерпретировало ---