Другие ответы, которые я чувствую, не достаточно полны и оставляют место для ошибки.
Вот реальный рабочий пример восстановления с незначительным предостережением, о котором я нигде не упоминал.
Когда вы берете начало и размер сектора из /sys /block /sda /*, вы должны помнить, что нужно вычесть 1 из размера, иначе у вас будет 1 сектор.
Также помните, что в fdisk нажмите "u" для секторного режима.
Вот пример, которому я успешно следовал: Шаг 1 - Найдите каталог вашего устройства в /sys /block /sda /sda1 (измените /sda и /sda1, чтобы они соответствовали имени вашего дискового устройства и номеру раздела).
Вы должны сделать cat для «start» и «size», которые представляют начальный сектор раздела, а «size» представляет, сколько это секторов.
возьмите значение размера и вычтите 1 из него, иначе вы не получите первоначальный или правильный результат
fdisk /dev /sda
нажмите u, чтобы перейти к секторам, к которым относится /sys /block /sda
/sys/block/sda [root @ server1 sda] # cat sda1/start 2048 [root @ server1 sda] # cat sda1/size 1024000
[root @ server1 sda] # cat sda2/start 1026048 [root @ server1 sda] # cat sda2/size 1464121344
Шаг 2 -Используйте fdisk, чтобы взять вышеупомянутую информацию о секторе и ввести ее (не забывая вычесть 1 из размера при сообщении fdisk о конечном секторе)
"Нажмите u" для переключения в секторный режим после запуска:
fdisk /dev /sda
Команда (m для справки): n Действие команды e расширенный p основной раздел (1-4) p Номер раздела (1-4): 1 Первый сектор (63-1465149167, по умолчанию 63): 2048 Последний сектор, + секторы или + размер {K, M, G} (2048-1465149167, по умолчанию 1465149167): +1023999
Команда (m для справки): n Действие команды e расширенный p основной раздел (1-4) p Номер раздела (1-4): 2 Первый сектор (63-1465149167, по умолчанию 63): 1026048 Последний сектор, + секторы или + размер {K, M, G} (1026048-1465149167, по умолчанию 1465149167): +1464121343
#
http://realtechtalk.com/Linux_How_To_Recover_Partition_Table_from_Kernel_and_Restore_CentosDebian_etc-1772-articles