Мой жесткий диск сломался, и компания по восстановлению данных смогла скопировать все данные на другой новый диск.
Думаю, они использовали dd или что-то подобное.
Там было два раздела xfs. Но теперь я могу смонтировать только первый.
Если я попытаюсь просмотреть разделы с помощью gparted, он выдаст следующее:
Can't have a partition outside the disk
Похоже, новый диск был немного меньше оригинального (разные модели).
Обновление, я подтвердил свои подозрения:
fdisk -l -u=sectors
Disk /dev/sdd: 9,1 TiB, 10000797794304 bytes, 19532808192 sectors
Disk model: Elements 25A3
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/sdd1 2048 9766436863 9766434816 4,6T Linux filesystem
/dev/sdd2 9766436864 19532871679 9766434816 4,6T Linux filesystem
Но цифры не совпадают!:
19532808192-9766434816-9766434816-2048=63488
Как обновить таблицу разделов и файловую систему XFS в соответствии с текущим жестким диском?
решение1
Если проблема связана исключительно с таблицей разделов (если сама файловая система фактически находится в пределах границ), вы в любом случае можете использовать петлевое устройство для доступа к фиктивному разделу:
losetup --find --show --read-only --offset=$((9766436864*512)) /dev/sdx
Если файловая система больше устройства, вам придется скопировать ее на большее устройство или эмулировать большее устройство через Device Mapper (dmsetup создает линейную цель). Если вы уже сделали резервную копию всего на /dev/sdd1
, вы можете скопировать /dev/sdd2
на , /dev/sdd1
а затем сделать первый раздел больше.
Итак, есть несколько способов решения этой проблемы, но сработает ли это вообще, будет зависеть от того, насколько важны были для файловой системы эти недостающие несколько мегабайт. Вы их уже не получите обратно.