Меню

Как восстановить загрузочный сектор жесткого диска linux



6 утилит для восстановления данных с поврежденных жестких дисков в Linux

Оригинал: 6 Linux Tools to Help Recover Data from Corrupted Drives
Автор: MTE Staff
Дата публикации: 11 сентября 2018 года
Перевод: А. Кривошей
Дата перевода: октябрь 2019 г.

Ваш экран просто стал черным или ваш ноутбук завис без предупреждения? Может быть, ваш жесткий диск начал барахлить. Хуже того, может быть, вы вдруг не можете сохранить данные в свой домашний раздел?

Все эти признаки поврежденного или неисправного диска, но нет причин немедленно выбрасывать компьютер. Прочитайте эту статью, чтобы узнать о шести утилитах Linux, которые могут помочь вам восстановить ваши данные и вернуть вашу цифровую жизнь в обычное русло.

1. Testdisk

Некоторые инструменты восстановления Linux пытаются сохранить ваши данные, копируя все, что можно извлечь из поврежденного раздела. Это может сработать, но не гарантированно, так как проблемы с самим разделом могут скрывать данные, которые вы хотите получить.

Testdisk очень удобен, поскольку он может на самом деле исправлять ошибки на уровне раздела, упрощая восстановление данных с помощью самого Testdisk или другого инструмента восстановления данных. Он может даже исправить поврежденный жесткий диск и снова заставить ваш ПК с Linux работать, чтобы вы могли получить прямой доступ к данным.

Помимо выполнения глубоких операций, таких как восстановление загрузочных секторов и таблиц файловой системы, Testdisk также способен восстанавливать данные,даже удаленные, с жестких дисков с файловыми системами NTFS, FAT, exFAT и ext.

Чтобы установить Testdisk в Linux, перейдите в терминал и введите:

Если вы хотите узнать больше об использовании Testdisk, вы можете прочитать руководство по Testdisk здесь .

2. ddrescue

Хотя ddrescue не является инструментом восстановления данных, он должен стать вашим первым шагом на пути к извлечению ваших файлов. Ddrescue создает образ вашего поврежденного диска или раздела, чтобы вы могли проанализировать копию вашего сломанного диска.

Всегда копируйте свой диск в отдельный образ, прежде чем начинать операции восстановления файлов с помощью инструментов, перечисленных ниже. Чем дольше вы используете неисправный диск, тем больший ущерб вы можете причинить.

Здесь вы видите некоторые результаты ddrescue в действии. В первой команде он копирует весь диск в образ с именем «backup.img». Вторая команда затем копирует в тот же образ только плохие блоки, проходя каждый раз по этим блокам, чтобы попытаться их прочитать.

Когда вы запускаете эти команды, всегда используйте файл журнала. Резервное копирование может занять несколько часов или дней, и без лог-файла любые прерывания заставят вас начать процесс заново с самого начала.

Когда этот процесс завершен, вы можете смонтировать скопированный образ и использовать приведенные далее утилиты для извлечения из него файлов. Дальнейшее использование других инструментов восстановления Linux из этой статьи позволит получить данные из того же «backup.img», созданного здесь.

3. Foremost

Foremost использует структуры данных общих типов файлов для извлечения данных. Вы можете просканировать весь образ диска для всех его файлов или указать определенные типы файлов, которые вам наиболее интересны.

Здесь вы можете увидеть вывод Foremost в подробном режиме (опция -v). Опция -t ищет типы файлов jpg, а опции -i и -o отмечают соответствующий входной файл и выходной каталоги.

Вы можете видеть, что Foremost анализирует образ, созданный на предыдущем шаге; этот образ содержит несколько JPEG-файлов. Foremost смог найти десять таких файлов, и когда он закончил сканирование образа, он скопировал эти десять файлов в указанную выходную папку.

4. scalpel

Scalpel , изначально основанный на Foremost, стремится быть экономным в своей работе. Он использует многопоточность и асинхронный ввод/вывод для эффективного поиска.

Пользователи также могут указать типы файлов, которые они хотят восстановить, отредактировав файл конфигурации Scalpel. Конфигурация по умолчанию производит много выходных данных, даже без подробного режима (параметр -v).

На этом снимке экрана вы можете увидеть окончательный результат анализа Scalpel для «backup.img». Базовая команда (приведенная в нижней части снимка экрана) требует только выходной каталог и образ для анализа.

5. PhotoRec

PhotoRec отстает от своих конкурентов, сосредоточившись на восстановлении фотографий, видео и текстовых документов. Он также работает как интерактивная утилита внутри консоли.

В команде PhotoRec должен быть указан желаемый образ (наш backup.img) и выходная папка. Затем PhotoRec помещает пользователя в графическое окружение. Скриншот здесь показывает размер образа. На следующих экранах запрашивается тип раздела диска и хотите ли вы искать файлы по всему образу.

6. grep

Наконец, мы подошли к grep . Он может показаться не самым простым вариантом восстановления, но grep может находить удаленные или потерянные текстовые файлы путем поиска строк, присутствующих на блочном устройстве или образе диска.

В образе backup.img существует файл с именем «myfile». Он содержит только одну строку текста: «This is the file I will try to recover.»

Grep использует эту строку в качестве отправной точки для восстановления файлов. Помимо нескольких других параметров, вы можете видеть, что в этом примере он выводит найденную строку в новый двоичный файл с именем «foundtext».

Также, вы можете изменить параметр -C, который печатает дополнительный контекст, окружающий строку в исходной команде. В этом примере команда указывает grep найти одну строку текста до и одну после указанной строки.

Начиная с -C 200, grep найдет 200 строк как до, так и после строки. Такой охват здесь не нужен, но он может быть важен для больших текстовых файлов с сотнями строк. Конечно, вам нужно знать содержимое ваших файлов, чтобы у grep была отправная точка для начала поиска.

Grep создаст в качестве вывода двоичный файл. Тем не менее, некоторые части будут удобочитаемыми, например желаемая строка текста этого примера в нижней части этого снимка экрана. Ваша задача — вручную выбрать нужные данные. Конечно, это тяжелая работа, но она лучше альтернативы отсутствия файлов.

Заключение

Итак, сначала скопируйте ваш диск или раздел с помощью ddrescue, а затем работайте с этой копией с помощью любых инструментов восстановления Linux, которые вам нужны. Не бойтесь попробовать более одного инструмента, особенно если ваш первый выбор не нашел данных, которые вы хотели найти. Будьте терпеливыми. Если вам повезет, вы вернете свои драгоценные файлы еще до того, как узнаете об этом.

Источник

Читайте также:  Хранение данных на жестком диске и удаление

Технический блог

Восстановление сбойных секторов HDD и SATA дисков в Linux.

Предыстория: давно искал аналоги HDD Regenerator, Victoria, MHDD для линукс, и ничего не находил. Натолкнулся на hdrecover 0.5, но реального восстановления сбойных секторов не произошло. HDrecover час шел до сбойного сектора, аттемпил с разных мест, угрожал, что убьёт данные, я соглашался на data destory, но сбойные сектора не восстанавливал.

И вот упершись рогом, решительно взялся за линукс. Уже лет 20 где-то и как-то восстановление происходит, но в линуксе никак. С жестким диском повезло, на нём была куча сбойных секторов. 250GB Seagate 5400rpm из ноубука. Так как было время для экспериментов, HDD Regenerator на старом компе через IDE бодро восстанавливал сектора, а hdrecover — нет.

Сначала в hdrecover во второй параметр командной строки я дописал указание сектора, с которого нужно начинать сканирование, потому как ждать по часу было невозможно долго.

Как-раз мне на этом жестком диске попался сектор, который иногда поддавался attemp pounce — то есть автор hdrecover на каких-то моделях жестких дисков может быть увидел эффект, когда можно добиться восстановления данных из сбойного сектора путём попыток чтения этого сектора сразу после чтения далеко и близко расположенных мест диска. Физически головка движется с края диска не так позиционируясь, как если бы она передвинулась с соседней дорожки.. В итоге у меня: сектор иногда читался, но 100% не восстанавливался.

Теперь вводные: Мне НЕ нужно было восстанавливать данные. Мне нужно было восстановить только сбойные секторы с потерей информации. Если же вам нужно восстановить максимум информации: Копируйте всё на другой несбойный диск: ddrescue, dd sync,noerror и после этого с нормального диска восстанавливайте через R-Studio Recovery. Если диск сыпется, то все эксперименты с восстановлением секторов и попыток запуска десятков «лучших программ восстановления данных» приводят только к ещё большей потере данных.

Так как мне не нужны были attemp pounce сектора, которые бы то читались, то не читались, из программы была убрана эта функциональность множественных попыток чтения, так как толку от этого не было, это сильно занимало время восстановления, и далее при использовании программ восстановления данных сильно бы их замедляло. Так даже лучше — при первой ошибке чтения перезаписываем сектор, а диск там уж сам что-то сделает: перепишет или remap. Как именно remap в линуксе сделать, я ещё не понял. Да и практики мало (чем remap в victoria отличается, то же непонятно, чаще не восстанавливает никак сектора)

hdrecover, записывая в устройство сектор, не восстанавливал данные. Попробовав dd if=/dev/zero of=/dev/sdX count=1 seek=XXX, увидел, что сектор XXX восстановился. Добавив 2-й попыткой восстановления команду dd уже в саму программу hdrecover, был получен положительный результат.

Восстановление секторов конкретного жесткого диска было успешным и на старом компьютере с IDE — SATA контроллере (не AHCI), и на переходнике USB 3.0-SATA.

Оставляйте комментарии по результатам своего восстановления.

Что ещё можно добавить в программу для функциональности: первичное быстрое чтение всего диска скачками для выявления большой сбойной области сразу.

Для чего может быть нужно множественное восстановление сбойных секторов: когда надоело смотреть лог и давать команду dd восстанавливая вручную, когда невозможно достать жесткий диск и провести процедуру на старом SATA контроллере через HDD Regenerator, когда данные не сильно нужны (восстановится — нормально, прогоним chkdsk или fsck, не восстановится — переустановим систему). Ну а сама программа hdrecover может использоваться для тестирования жестких дисков сразу с режимом восстановления.

P.S. Если диск сильно цыкает — то скорее всего он не может спозиционироваться на дорожку, и hdrecover вряд ли поможет.

P.S.S. для новичков в линукс: вывод хвоста сислога в отдельном окне: tail -f /var/log/syslog — и там видны результаты подключения USB устройств, ошибок дисков и номера сбойных секторов.

Исходные тексты и скомпилированная на 64 бит программа:

Файл [download url=»http://agansk.ru/tech/wp-content/uploads/2019/04/hdrecover-0.5-dd.tar.gz»]

3 thoughts on “ Восстановление сбойных секторов SATA дисков в линукс ”

Если сбойные сектора не восстанавливаются, то для работы на таком диске можно сделать такое:
глянуть, что где: fdisk -l
глянуть mount, если надо отмонтировать нужный диск: umount /dev/sdb1
проверим на сбойные сектора: badblocks -s /dev/sdb1 > /home/user/sdb1_badblocks
Выполним команду для игнорирования сбойных секторов, что бы исключить их от использования в ОС:
e2fsck -l /home/user/sdb1_badblocks /dev/sdb1

Сам не пробовал, если у меня сбойные сектора не восстанавливаются — диск идёт с пометкой сбойный, максимум: для хранения неважной информации..

Если сбойных секторов очень много, не сотни, а десятки тысяч, можно изменить в тексте hdrecover.cpp команду перезаписи на count=16 или больше, для ускорения процесса

whdd для командной строки удалось скомпилять в ubuntu 16.04 (apt install dialog libncurses5-dev libncursesw5-dev). И на debian 8 и на убунту выбор ata или posix приводил к ошибке сегментирования.
hddsuperclone для графического экрана не копирует смонтированный диск..

Источник

Как восстановить загрузочный сектор жесткого диска linux

(C) В.А.Костромин, 2004.

6. Утилиты для восстановления таблицы разделов

Одним из поводов для обращения к утилитам разбиения диска являются те случаи, когда ваш диск перестал читаться. Причиной для этого может быть, в частности, повреждение таблицы разделов диска. В таком случае не стоит сразу бросаться к программам переразбиения типа fdisk — возможно, таблицу разбиения еще можно восстановить. И для этого в ОС Linux существуют специальные программные средства. Именно о таких средствах пойдет речь в настоящем разделе.

6.1. Программа gpart

Первое из таких средств — утилита gpart. Название утилиты gpart является сокращением от выражения “guess PC-type hard disk partitions” — “угадай тип раздела жесткого диска”. Автором этой утилиты является Michail Brzitwa .

Эта утилита предназначена как раз для тех случаев, когда таблица разделов в MBR жесткого диска разрушена или испорчена, но сами разделы на диске остались нетронутыми, хотя операционная система, может быть, и не может получить к ним доступ.

Работа утилиты основана на том, что первый блок данных любого раздела маркирован особым образом. И эти отметки можно обнаружить. Поскольку при создании раздела его начало обычно размещается в начале дорожки, задача поиска разделов на диске немного упрощается, что несколько ускоряет работу программы. С другой стороны, существует небольшая дополнительная проблема – после удаления разделов их начальные сектора сохраняются на диске до тех пор, пока в соответствующий сектор не будут записаны новые данные. А это происходит не сразу. Поэтому на старых дисках обнаруживается много”первых блоков раздела” и разработчики утилиты gpart должны были предпринять дополнительные меры для того, чтобы выделить из массы найденных начальных блоков “истинные”.

Читайте также:  Цветные внешние жесткие диски

Естественно, что распознаны программой могут быть только те разделы, на которых создана какая-то файловая система (которые “отформатированы”). Причем gpart не обращает внимания на то, какой тип указан для данного раздела в таблице разбиения.

После того, как создан список найденных разделов, каждый раздел в этом списке помечается одной из следующих меток: «primary», «logical», «orphaned» или «invalid». Меткой «orphaned» помечаются логические разделы, которые найдены на диске, но не указаны в цепочке логических разделов. Такая ситуация может возникнуть в том случае, когда логический раздел удален из таблицы разделов в расширенном разделе, но в отведенное ему ранее пространство на диске не были записаны никакие данные. Разделы, помеченные как «invalid», могут возникнуть по разным причинам, которые в руководстве к программе подробно не описаны. Что касается первичных разделов, то программа распознает их достаточно хорошо. А вот с логическими разделами ситуация сложнее – тут возникает множество проблем и программа легко может ошибиться.

В следующем листинге приведен результат, который я получил на одном из дисков, где таблица разделов была не совсем корректна:

Как видите, первичные разделы программа нашла. Только вот интерпретация выданных ею данных что-то вызывает у меня затруднение. Ну, я еще могу попытаться угадать, что значат первые две строки в описании каждого раздела: первая строка указывает тип раздела, во второй строке указан его размер, число секторов и размещение этих секторов в общей цепочке секторов на диске (еще раз подчеркну, что это просто моя догадка, поскольку в описании программы я ничего по этому вопросу не нашел). Относительно третьей строки тоже можно высказать некие предположения (например, что это указаны начало и конец раздела в нотации CHS), но что означают буквы «d» и «r», и в чем разница между значениями, которые стоят в скобках перед этими буквами, я сказать не могу. А в man-странице об этом вообще ничего не сказано.

Зато там сказано, что после того, как вы трижды проверите те данные, которые выдает программа gpart, вы можете с ее помощью записать исправленную таблицу первичных разделов в MBR, используя опцию -W следующим образом:

gpart -W /dev/sdc /dev/sdc

Однако, как предупреждает сам автор разработки на man-странице, «это действие достаточно опасное, так что будьте осторожны». Поскольку по складу характера я не склонен к авантюрам, я решил поэкспериментировать еще с одной программой – TestDisk.

6.2. Программа TestDisk

Примечание: В документации программа называется TestDisk, а вызывается она командой testdisk, поэтому не удивляйтесь, что я пишу название иногда с заглавными буквами, иногда без таковых.

Программа TestDisk предназначена для того, чтобы помочь восстановить потерянные разделы и/или восстановить возможность загрузки с диска, для которого такая возможность была утеряна вследствие сбоя в работе программного обеспечения, воздействия вируса или простой человеческой ошибки (например, если вы случайно затерли таблицу разделов). Она позволяет проанализировать структуру диска и найти потерянные разделы, а при необходимости и восстановить таблицу разделов. Утилита разработана К. Гренье (Christophe GRENIER). У меня в системе Knoppix 3.2 обнаружилась версия 4.0 этой программы, датированная 3 апреля 2002 г. А на сайте http://www.cgsecurity.org я обнаружил версию 5.3, снабженную довольно подробной документацией (man-страница к программе настолько краткая, что не позволяет понять, как этой программой пользоваться).

Программа TestDisk может быть запущена

  • под DOS (как в «чистом» ДОС, так и окне под Win9x),
  • под Windows (NT4 / 2000 / XP / 2003),
  • под Linux или FreeBSD.

Программа может отыскать потерянные разделы с файловыми системами следующих типов:

  • BeFS ( BeOS )
  • DOS/Windows FAT12, FAT16 and FAT32
  • Ext2 and Ext3 ( Linux)
  • Linux Swap (версий 1 и 2)
  • Netware (только старых версий)
  • NTFS ( Windows NT/2K/XP )
  • ReiserFS (версий 1 и 2)
  • UFS ( FreeBSD/OpenBSD/NetBSD )
  • JFS

Как сообщает краткая справка к программе, запускается она в одном из следующих форматов.

testdisk [/log] [/debug] [/dump]

testdisk /list [/log]

Будучи запущенной с опцией /list, команда просто выводит список существующих разделов (точнее, видимо, содержимое таблиц разделов из MBR) на всех жестких дисках. Во всех остальных вариантах после запуска программы TestDisk выводит вначале фразу «Please wait. » и приступает к сбору данных от BIOS или OS.

Опции (необязательные) /log, /dump и /debug имеют следующее назначение:

  • /log — создавать файл протокола работы программы (его имя testdisk.log);
  • /debug — добавлять отладочную информацию;
  • /dump — отображать на экране и записывать в протокол содержание найденных начальных секторов разделов.

В документации к программе рекомендуется запускать ее с опциями /log и /debug. В любом варианте запуска программы вначале выводится список дисков, обнаруженных в системе (рис. 29).

Рис. 29. Основное меню программы testdisk

С помощью клавиш управления курсором «стрелка вверх/вниз» вы можете выбрать диск для анализа. В нижней части окна имеется список доступных команд, перемещаться по которому можно с помощью клавиш «стрелка вправо/влево». А строка подсказки, расположенная ниже этого меню, дает краткое пояснение к подсвеченному пункту. Когда нажимаем клавишу при подсвеченном пункте меню Analyze вначале, видимо, выводится просто содержимое таблицы разделов из MBR и предлагается единственный пункт меню Quit (рис. 30), что может привести пользователя в некоторое недоумение.

Рис. 30. Первый результат работы программы testdisk

Однако повторное нажатие клавиши запускает все же процесс анализа структуры разделов диска (рис. 31), ход которого отображается в строке «Analyze cylinder NNNN/MMMM». Поскольку процесс анализа, надо отметить, продолжается очень долго, эта строка является не лишней, она помогает сохранить терпение.

Рис. 31. Процесс анализа диска

Анализ структуры диска заключается в том, что TestDisk просматривает начальные сектора всех цилиндров. Первичные разделы обычно размещаются начиная с первого сектора цилиндра (head=0, sector=1), а логические разделы — со второго сектора (head=1, sector=1) или даже со второго цилиндра. Сканируя все возможные начальные сектора разделов TestDisk анализирует их на наличие заголовков файловых систем (a filesystem header): для FAT или NTFS это загрузочный сектор, для EXT2/EXT3 — суперблок, для BSD — метка диска (disklabel) и так далее. Обнаружение такого заголовка интерпретируется как начало раздела соответствующего типа. Размер раздела определяется непосредственно исходя из его структуры на диске. Каждый обнаруженный во время такого сканирования раздел TestDisk добавляет в список найденных разделов.

Поскольку, как уже было сказано при описании утилиты gpart, на диске могут присутствовать «останки» или «следы присутствия» давно удаленных разделов, которые просто не были затерты более поздней информацией (это особенно часто случается в том случае, когда проводится детальный поиск потерянных разделов), пользователь должен внимательно проанализировать результаты поиска, чтобы выбрать те разделы, которые действительно присутствовали на диске перед тем, как была испорчена таблица разделов.

По завершении этого процесса программа предлагает (рис. 32) исправить характеристики разделов, которые указаны в виде одиночного символа (*, P, E, L или D) в первом столбце таблицы. Изменение этого параметра обнаруженного раздела осуществляется с помощью клавиш-стрелок «вправо\влево» (вы просто перебираете циклически значения, перечисленные в нижней строке экрана, пока не найдете нужное). Тут же можно изменить тип раздела, нажав клавишу . А по клавише

можно вывести список файлов в том разделе, на который указывает подсветка.

Рис. 32. Окно с результатами анализа диска

Еще одно нажатие клавиши и мы видим дополнительное меню из трех пунктов (рис. 33). С помощью пункта Search можно провести углубленный поиск потерянных разделов. А команда Write служит для того, чтобы записать на диск исправленную таблицу разделов.

Рис. 33. Дополнительное меню

Если вы присмотритесь к рисунку 33, вы обратите внимание на то, что программа показывает всего два раздела. Это следствие того, что я слишком поспешно воспользовался командой Write . Не знаю, в чем причина, но после выполнения команды Write та же утилита TestDisk стала видеть на моем диске только 2 раздела. Возможно, вина в этом полностью моя, но результат был обескураживающим. Прежде чем рассказывать о своих дальнейших действиях, я все же приведу еще описание других команд из основного меню программы, заимствованное из документации.

Команда меню Delete


Команда меню MBRCode


Команда меню Geometry

Эта команда служит для того, чтобы задать значения параметров геометрии диска (число цилиндров, головок или секторов), которые TestDisk использует для поиска начальных секторов разделов. Дело в том, что программы для создания разделов для архитектуры i386 чаще всего создают разделы, оканчивающиеся на границе цилиндра. Поэтому изменение параметров геометрии, используемых программой, приводит к тому, что будут просматриваться другие сектора.

Команда не меняет параметров самого жесткого диска до тех пор, пока вы не выполните команду записи данных о найденных разделах на диск. Имейте в виду, что задание неправильной геометрии и запись этих неправильных данных на диск может привести к невозможности в дальнейшем восстановления ваших данных. Как предупреждает руководство, команда эта ТОЛЬКО ДЛЯ ЭКСПЕРТОВ.

Руководство рекомендует в том случае, если вы решите менять геометрию диска, изменять в первую очередь число логических головок, причем опробовать значения числа головок, равные 255, 16, 32, 64, 128 и 240.

Команда меню Options

Значения опций меняются путем «подсвечивания» нужной строки и нажатия клавиши ENTER. Изменять можно значения следующих опций:

  • Dump : Отображать содержимое «подозрительных» секторов (по умолчанию: не отображаются; опция аналогична опции /dump командной строки)
  • Cylinder boundary : границы разделов совпадают с началом цилиндров (по умолчанию: да).
  • Allow partial last cylinder : последний цилиндр может быть не полным (по умолчанию: нет)
  • Ask partition order : разделы могут быть переупорядочены (по умолчанию: нет)
  • Halt on errors : останавливаться при обнаружении ошибок дискового ввода/вывода (по умолчанию: да)
  • Maximize extended part : если существуют логические разделы, расширенный раздел будет использовать все доступное дисковое пространство (по умолчанию: нет).
  • Expert mode : Если эта опция установлена (значение «да»), программа предоставляет некоторые дополнительные возможности (по умолчанию: нет).
  • Quit : сохранить (запомнить) выбранные значения опций и вернуться к главному меню.

Команда меню Advanced

Только для экспертов, пытающихся восстановить и отремонтировать загрузочные сектора операционных систем! TestDisk позволяет вам выполнить некоторые действия с загрузочными секторами на FAT- и NTFS-разделах. Выберите раздел, который вы хотите модифицировать, и выберите команду Boot. За описанием того, какие возможности Вы при этом получите, я отошлю вас к документации, прилагаемой к программе.

На этом я, пожалуй, завершу краткое описание программы TestDisk. Дело в том, что мой опыт работы с этой программой был тоже весьма невелик. Я надеюсь, что общее представление о программе вы получили и теперь можете продолжить эксперименты с ней самостоятельно.

В заключение раздела приведу еще три небольших замечания:


    1. В процессе поиска инструментов для восстановления таблицы разделов я натолкнулся на ссылку о том, что существует еще программа rescuept , автором которой является Andries Brouwer (автор двух HOWTO о разделах диска, смотри ссылки). Эта утилита входит в состав пакета util-linux , который вы можете найти почти на любом ftp-сайте с программным обеспечением для Linux. Однако, поскольку я с этой програмой не работал, сказать о ней ничего не могу.

2. Некоторые из программ для работы с таблицей разделов диска, рассмотренные в предыдущих разделах, тоже обладают способностью восстановления испорченной структуры разделов. Для корректировки таблицы разделов диска можно, в частности, использовать утилиту sfdisk. Во-первых, у программы sfdisk имеется опция -V, которая служит для проверки таблицы разбиения диска. Правда, мне показалось, что результат ее выполнения команды sfdisk -V дает очень мало полезной информации:

[root]# /sbin/sfdisk -V /dev/hda

Но, если вы знаете как исправить таблицу разделов, можно поступить следующим образом: вначале таблица разделов диска выгружается в файл, корректируется, а затем снова загружается в начальный сектор диска. Делается это с помощью следующих команд:

sfdisk -d /dev/hda > hda.out
sfdisk /dev/hdb ) могут быть опущены — программа сама вычислит нужные значения исходя из значения полей start и length, и геометрии диска, сообщаемой ядром.

Но я не решился воспользоваться этим способом корректировки таблицы разбиения диска.

3. После восстановления раздела всегда запускайте проверку целостности ФС с помощью соответствующей ее типу утилиты:

fsck.ext2 /dev/hdb1
reiserfsck /dev/hdb3
.

В.А. Костромин — 6. Утилиты для восстановления таблицы разделов Версия для печати

Источник