Случайно созданная новая таблица разделов для загрузочного диска

Вчера я случайно создал новое (начальная загрузка) раздел с gdisk на моем основном диске вместо моего внешнего диска. Однако это создало новую таблицу разделов, но так как я выполняю Kubuntu на этом диске, Ядро еще не обновляется.

Что самый быстрый путь состоит в том, чтобы получить загрузочные разделы Windows & Kubuntu со всеми моими данными и настройками?
- Я сделал резервное копирование dd, но я думаю, что это будет только содержать новый раздел?
- У меня есть все еще доступ ко всем файлам, таким образом, я также архивировал их вместе.
- Я должен переустановить kubuntu и Windows или есть ли способ отменить gdisk операцию?
- Я буду завершать работу Компьютера и использовать испытательный стенд в живой системе?

gisk -l вывод:

manu@manus-Laptop $:~ sudo gdisk-l/dev/sda
[sudo] пароль для manu:
GPT fdisk (gdisk) версия 1.0.1

Сканирование таблицы разделов: MBR: защитный
BSD: не существующий
APM: не существующий
GPT: существующий

Найденный допустимый GPT с защитным MBR; использование GPT.
Диск/dev/sda: 468 862 128 секторов, 223,6 гибибайта
Логический размер сектора: 512 байтов
Дисковый идентификатор (GUID): 62FADE32-E715-4AC6-BA77-307107A2454F
Таблица разделов содержит до 128 записей
Сначала применимый сектор равняется 34, в последний раз применимый сектор 468862094
Разделы будут выровненные на границах с 2048 секторами
Общее свободное пространство является 468 861 108 секторами (223,6 гибибайта)

Число ___ запускается (сектор) _ _ конец (сектор) _ _ _ размер _ _ _ код _ _ _ имя
______ 1 ____________ 2048 ___________ 3000 _ _ _ 476,5 кибибайт _ EF02 _ _ раздел начальной загрузки BIOS manu@manus-Laptop:~ $

0
задан 24 July 2017 в 01:48

1 ответ

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

Метод 1: легкий, но опасный и медленный

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

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

Обратите внимание что TestDisk (или некоторый подобный инструмент; это не единственное в этой категории), станет Вашим единственным выбором, после того как Вы закрываете или перезагружаете компьютер.

Метод 2: тяжелее, но более безопасный и быстрее

Поскольку Ваше ядро все еще использует старую таблицу разделов, данные по Вашим разделам могут все еще быть получены из памяти. Вопрос состоит в том, как сделать так, и ответ должен заглянуть /sys/block/sda дерево каталогов. Тот каталог должен иметь подкаталоги для каждого раздела (sda1, sda2, и так далее), и каждый из этих каталогов имеет a start и a size файл со стартовым местоположением и размером раздела, в секторах. Например:

$ cat /sys/block/sda/sda2/start
1126440
$ cat /sys/block/sda/sda2/size
1536000

Это указывает что в моей системе, /dev/sda2 запускается в секторе 1126440 и 1 536 000 секторов в размере. Можно извлечь эту информацию и, с помощью gdisk, воссоздайте таблицу разделов - или по крайней мере, создайте разделы с корректными размерами. Необходимо будет использовать знание того, что находится в каждом разделе для установки их кодов типа. AFAIK, нет никакого способа восстановить значения GUID (то же верно для предыдущего подхода). Значение GUID ESP может быть важным, так как это, вероятно, будет использоваться EFI в качестве части своего процесса начальной загрузки. Необходимо смочь извлечь это из sudo efibootmgr -v вывод - это будет встроено в строку, это - часть ubuntu строка. Можно использовать gdisk для изменения этого значения после того, как Вы воссоздали ESP - используют c опция в меню экспертов.

Метод 3: лучший и самый легкий, но Вы, вероятно, не можете сделать этого

Лучший и самый легкий способ сделать, что Вы хотите, состоит в том, чтобы восстановить таблицу разделов от резервного копирования. gdisk инструмент предлагает a b опция в главном меню для создания такого резервного копирования. Если Вы сделали так, Вы могли бы восстановить резервное копирование с l (нижний регистр "L") опция в меню восстановления и преобразования.

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

1
ответ дан 2 November 2019 в 21:31

Другие вопросы по тегам:

Похожие вопросы: