Restore partition table linux

How to backup and restore a partition table on Linux

How to see my current partition table

Type the following command to list partitions of each device:
# fdisk -l
# fdisk -l /dev/sda

OR
# sfdisk -l
# sfdisk -l /dev/sda
Sample outputs:

Fig.01: Linux List Disk Partitions Command

How do I back-up Linux partition with sfdisk command?

To backup /dev/sda partition table, enter:
# sfdisk -d /dev/sda > sda.partition.table.12-30-2015.txt
Copy sda.partition.table.12-30-2015.txt to NFS mounted share or a USB pen drive.

How do I restore the Linux partition with sfdisk command to the disk?

# sfdisk /dev/sda
OR
# sfdisk -f /dev/sda

How do I replicate a disk partition table from /dev/sda to /dev/sdd with the same geometry?

This is useful for Linux based software RAID device. Say you replaced /dev/sdd and you want to rebuild the Linux software RAID array. The first step is to replicate a partition table from a disk to another disk:
# sfdisk -d /dev/sda | sfdisk -f /dev/sdd
Now, run the following to verify that both hard drives have the same partitioning:
# fdisk -l /dev/sda
# fdisk -l /dev/sdd
Finally, use mdadm to manage and rebuild your RAID device:
# mdadm —manage /dev/mdX —add /dev/sdd1
# mdadm —manage /dev/mdX —add /dev/sdd2
.
..
# mdadm —manage /dev/mdX —add /dev/sddN

Use the following command to see raid array sync progress:
# watch cat /proc/mdstat

A note about disks with GPT (GUID Partition Table)

From the man page:

GPT fdisk (aka gdisk) is a text-mode menu-driven program for creation and manipulation of partition tables. It will automatically convert an old-style Master Boot Record (MBR) partition table or BSD disklabel stored without an MBR carrier partition to the newer Globally Unique Identifier (GUID) Partition Table (GPT) format, or will load a GUID partition table. When used with the -l command-line option, the program displays the current partition table and then exits.

Let us install gdisk on a Debian or Ubuntu Linux using apt-get command:
$ sudo apt-get install gdisk
Sample outputs:

RHEL/CentOS user use the yum command to install the same:
# yum install gdisk
Fedora Linux user use the dnf command to install the same:
$ sudo dnf install gdisk
OpenSUSE Linux user use the yast command to install the same:
# yast install gdisk
Please note that sgdisk command works with both Linux and Unix-like system.

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

How do I backup /dev/sda GPT partition table to a file?

To save partition data to a backup file called /root/sda_partition_table_12_30_2015, run:
# sgdisk —backup=
# sgdisk —backup=/root/sda_partition_table_12_30_2015 /dev/sda

How do I restore GPT partition table from a file?

To restore the backup use:
# sgdisk —load-backup=
# sgdisk —load-backup=/media/usb/sda_partition_table_12_30_2015 /dev/sda

How do I replicate GPT partition scheme from /dev/sda to /dev/sdd (RAID array rebuild)?

The syntax is:
# sgdisk -R /dev/sda
# sgdisk -R /dev/sdd /dev/sda
To randomize the GUID on the /dev/sdd, enter:
# sgdisk -G /dev/sdd
Finally, verify that both hard drives have the same partitioning schema:
# sgdisk -p /dev/sda
# sgdisk -p /dev/sdd
Finally, use mdadm command as explained earlier to rebuild the RAID array on Linux.

Читайте также:  Windows 10 не определяется dvd rom

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Источник

Восстановление разделов и данных в Linux

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

Некоторые вводные замечания

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

Несколько важных подсказок

Перед тем, как мы продолжим, пара советов. Во-первых, если вы подозреваете, что данные или диск повреждены, вы должны немедленно прекратить использование этого диска. Если вы только что обнаружили исчезновение важных данных и они не отображаются в файловом менеджере, это не значит, чито они уже потеряны навсегда. Место, которое они занимают, может быть просто помечено как пустое, поэтому если вы продолжите использование этого жесткого диска, система может записать на это же место другие данные. Таким образом, любая попытка использования устройства может только ухудшить ситуацию. Вы должны немедленно прекратить работу, чтобы не лишиться шансов на восстановление данных.
Далее, вы не должны паниковать, действовать нужно спокойно и осторожно. Необходимо отмонтировать устройство и отключить подкачку. В любом случае необходимо остановить любые служебные операции, такие как дефрагментация или очистка диска, копирование или перемещение данных, и любые другие действия, для которых необходимы операции чтения/записи. Но есть одна загвоздка.
Любое из описанных выше действий может ухудшить ситуацию. А может и нет. К сожалению, у меня нет универсального рецепта, так как каждый такой случай уникален. На самом деле те вещи, которые в некоторых случаях могут решить проблему, в других случаях могут привести к прямо противоположному результату.
Суммируя все вышесказанное — ничего не меняйте. Если вы не понимаете, что делать, позвоните эксперту, который мог бы вам помочь. Одно можно сказать наверняка — ни при каких обстоятельствах не нужно закрывать глаза и перезагружать машину. Перезагрузка может помочь решить софтверные логические проблемы в оперативной памяти, но очень редко она может помочь разрешить аппаратные проблемы. Напротив, при перезагрузке операционная система может беспечно предположить, что с вашими данными все в порядке, и попробовать получить доступ к поврежденному диску или разделу. Это обычно значительно снижает вероятность восстановления данных.
Второй совет немного сумасшедший, поэтому можете не обращать на него внимания, если хотите. Если ваш жесткий диск перестал работать или больше не распознается операционной системой, поместите его на 15 — 20 минут в морозильную камеру. Это может оживить его на время, достаточное для того, чтобы быстро скопировать важные данные. Во многих случаях диски перестают работать вследствие механических проблем, и резкое снижение температуры может освободить мелкие заблокированные детали, оживив диск хотя бы на некоторое время. Это чистой воды шаманство, поэтому можете не воспринимать этот совет всерьез. Тем не менее, в отчаянной ситуации все средства хороши.

Читайте также:  Linux как настроить сетевой принтер

Восстановление разделов

Потерять раздел можно по разным причинам. Например, вы могли нечаянно создать новую таблицу разделов не на том жестком диске, или неправильно настроить мультизагрузку.
Чтобы показать вам случай из реальной жизни, я исскуственно воспроизведу ситуацию с потерей раздела. Нашей тестовой системой будет Fedora 16 Verne с KDE, проблемным диском будет /dev/sdb с данными, хотя обычно неприятности случаются с системными разделами. В данном случае вы будете использовать для восстановления раздела live CD.
Мы сотрем таблицу разделов /dev/sdb, создав новую с помощью GParted. Мы проигнорируем тот факт, что она уже существует. Таким способом мы сделаем разделы невидимыми для системы. Обычному пользователю кажется, что данные потеряны навсегда.

Итак, мы стерли таблицу разделов. Теперь мы воспользуемся TestDisk — удивительным инструментом для исследования, разработанным cgsecurity.org . Я описывал эту утилиту во многих статьях. Сегодня мы изучим ее возможности и обучимся ее использованию.
Интерфейс TestDisk представляет собой текстовый мастер. Это интерактивная утилита, которая задаст вам несколько вопросов, чтобы попытаться спасти ваши данные. Первым вопросом будет — хотите ли вы записывать лог для его последующего анализа. Вероятно, необходимо согласиться с этим.

Мы начнем с анализа. Пока мы не знаем ситуацию, и насколько все плохо. Так как вы, скорее всего, точно не знаете геометрию диска, используем опцию «analysis».

Следующий шаг — выбор устройства, с которым мы будем работать. В нашем случае это /dev/sdb.

Теперь выберите тип таблицы разделов. В большинстве случаев это Intel/PC.

И начинаем анализировать:

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

Теперь нам необходимо записать информацию о разделе на диск. Также можно изменить характеристики раздела, такие как тип или флаги.

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

Печальный пример

Итак, мы успешно восстановили данные, но я хочу показать и другой пример, когда мне это не удалось. Возможно, криминалисту это бы и удалось сделать, но я потерпел полное поражение через 17 минут.
Как и в предыдущем примере, сделаем что-нибудь деструктивное. Я собираюсь записать с помощью dd незаданное количество нулевых байтов на устройство /dev/sdb. Затем, уже в процессе, я как будто осознаю свою ошибку и прерываю операцию. Но уже слишком поздно.
Теперь, когда наш раздел разрушен, давайте представим, что ничего не случилось, и попробуем смонтировать его. Конечно, ничего не получится. Сообщение об ошибке не является уникальным для этой проблемы, но оно свидетельствует, что что-то не в порядке. После дополнительных иссследований мы приходим к выводу, что наш диск испорчен и нуждается в восстановлении.

И правда, проверив диск с помощью fdisk, мы видим:

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

Мы сделаем это — и потерпим неудачу. Теперь мы попробуем провести более глубокий поиск.

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

В нашем случае это к сожалению не сработало. Не повезло.

Восстановление файлов (и образов)

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

PhotoRec

Мы будем делать это с помощью другой утилиты от cgsecurity.org — PhotoRec. Хотя изначально она была разработана для обработки фотографий на картах цифровых камер, на сегодняшний день она умеет работать со многими типами файлов. Фактически она может восстанавливать практически все, если данные хотя бы в некоторой степени сохранили целостность.
PhotoRec можно также использовать и на работающих разделах, так как он позволяет во многих случаях найти удаленные файлы. Я протестировал ее на своих системных разделах.
Эта утилита похожа на TestDisk. Вы начинаете с выбора типа раздела, с которым вы хотите работать, а также типа файловой системы, которая, как вы полагаете, использовалась на удаленном и/или поврежденном разделе.

Читайте также:  Windows server 2012 нет подписи драйверов

В моем случае были обнаружены все типы файлов, включая текст, изображения, архивы, файлы баз данных, и другие. Более того, PhotoRec нашел файлы образов, которые, вероятно использовались при установке Fedora. Во всяком случае я понятия не имею, откуда они взялись.
В целом PhotoRec выглядит достаточно эффективным. Просто для проверки я произвел низкоуровневое форматирование примерно 80% моего второго жесткого диска, создал новую таблицу разделов, новый раздел, и отформатировал его в файловую систему Ext4, а затем повторно запустил восстановление. Действительно, программа не смогла найти большинство уничтоженных таким образом данных, но все равно сумела обнаружить внушительный набор файлов. Поэтому, если вы думали, что простого форматирования достаточно для скрытия данных, это не так.

Recoverjpeg

Еще одна полезная утилита для восстановления изображений, а именно JPEG — это recoverjpeg. Она создана для спасения файлов с SD-карт и чипов памяти цифровых фотокамер. Как и PhotoRec, я пробовал ее на исправных разделах, чтобы посмотреть, смогу ли я обнаружить какие-нибудь неизвестные и странные файлы, и мне это действительно удалось. Снова, наверное, остатки от инсталляции Fedora.
Этой небольшой утилиты нет в репозиториях YUM, но вы можете скачать исходный код и скомпилировать его самостоятельно. Для этого вам понадобится пакет gcc-c++.

Восстановление изображений вручную

Итак, мы видим, что наше изображение повреждено. GIMP не может открыть его. Но здесь ключ к решению. Мы считаем, что это файл изображения, но он начинается с символов FF 00, которые не могут быть первыми двумя байтами файла JPG/JPEG.
Далее нам необходимо проверить файл с помощью шестнадцатеричного редактора. Мы опускаемся на уровень байтов и попробуем выяснить, что не так со структурой нашего изображения. Это достаточно сложно, но другого выхода нет. Теперь нам нужен шестнадцатеричный редактор. В KDE это Okteta, но вы можете использовать любой другой, включая vi.

Заголовок испорчен, хотя в теории его нельзя действительно назвать заголовком, но он служит тем же целям. Изучив литературу, мы узнаем, что первые два байта любого изображения в формате JPG/JPEG — это маркер SOI, в шестнадцатеричной записи это всегда будет FF D8.

Итак, теперь мы изменим вторую последовательность из двух байтов 00 на D8, как должно быть в JPG-файле. Созраним изменения и протестируем результат. Все получилось.

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

Хороший совет

Резервные копии для компьютера необходимы как воздух. Если у вас они есть, вы можете чувствовать себя увереннее. Хорошим примером является неожиданная смерть моего второго жесткого диска около года назад. Все, что мне потребовалось сделать — выключить компьютер, заменить диск на новый, включить и скопировать все данные из резервной копии, которую я обновлял каждый день. Конец истории.

Дополнительные материалы по теме:

Заключение

Должен признать, что данное руководство не из самых простых. Некоторые описанные здесь приемы требуют определенных знаний, и обычному пользователю работать в таком ключе будет некомфортно. Восстановление данных требует определенных навыков, и даже в этом случае успех не гарантирован. Единственный мой личный опыт относится к 2009 году, когда я пытался восстановить файлы после неудачной переустановки системы поверх существующих и ценных данных. Все это закончилось не очень удачно. Резервные копии предпочтительнее.
Тем не менее, кое что полезное вы сегодня узнали. Теперь вы знакомы с различными инструментами командной строки, вы умеете использовать TestDisk, PhotoRec, recoverjpeg, и, может быть, другие утилиты, описанные в приведенных выше источниках. На самом деле я еще не успел нопробовать некоторые программы, поэтому нас возможно ждет продолжение.
Если же все три описанных здесь утилиты вам не помогут, вряд ли поможет что-то еще. Кроме того, использование большого количества инструментов одновременно может привести к путанице и еще большим повреждениям данных. Поэтому первым выбором должны быть TestDisk и PhotoRec. Кроме того, они вероятно являются лучшими. Recoverjpeg — тоже неплохой выбор. Освоив их, вы без затруднений сможете работать и с другими подобными инструментами.

Источник

Оцените статью