Случайно созданная новая таблица разделов для загрузочного диска
Вчера я случайно создал новый (загрузочный) раздел с 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: 468862128 секторов, 223,6 ГБ
Размер логического сектора: 512 байт
Идентификатор диска (GUID): 62FADE32-E715-4AC6-BA77-307107A2454F
Таблица разделов вмещает до 128 записей
Первый используемый сектор 34, последний используемый сектор 468862094
Разделы будут выровнены по границам 2048 секторов
Всего свободного места 468861108 секторов (223,6 ГиБ)Номер ___ Начало (сектор) _ _ Конец (сектор) _ _ _ Размер _ _ _ Код _ _ _ Имя
______1____________2048___________ 3000 _ _ _ 476,5 КиБ _ EF02 _ _ Загрузочный раздел BIOS manu@manus-Laptop:~$
1 ответ
Я знаю три способа сделать то, что вы хотите, учитывая вашу текущую ситуацию:
Способ 1: легкий, но рискованный и медленный
Первый способ заключается в использовании TestDisk, который может сканировать диск на наличие данных файловой системы и генерировать новые записи таблицы разделов, чтобы они соответствовали найденному. Этот подход относительно автоматизирован и, следовательно, прост; но инструменты должны сканировать большую часть диска, что может занять некоторое время. Хуже того, TestDisk может быть сброшен случайными данными со старых удаленных разделов, что приведет к плохим результатам. Таким образом, есть вероятность, что TestDisk сгенерирует совершенно неверную таблицу разделов; или это может дать вам несколько вариантов того, что восстанавливать, и вы не сможете решить, какой из них правильный.
Хотя TestDisk может восстановить начальную и конечную точки раздела и, вероятно, правильно установит код типа раздела, он не сможет восстановить первоначальный GUID раздела. Это может быть важно для загрузки, как отмечено в следующем разделе.
Обратите внимание, что TestDisk (или аналогичный инструмент; он не единственный в этой категории) станет вашим единственным выбором после того, как вы выключите или перезагрузите компьютер.
Способ 2: тяжелее, но безопаснее и быстрее
Поскольку ваше ядро все еще использует старую таблицу разделов, данные о ваших разделах все еще можно извлечь из памяти. Вопрос в том, как это сделать, а ответ - посмотреть в /sys/block/sda
Дерево каталогов. Этот каталог должен иметь подкаталоги для каждого раздела (sda1
, sda2
и так далее), и каждый из этих каталогов имеет start
и size
файл с начальным расположением и размером раздела, в секторах. Например:
$ cat /sys/block/sda/sda2/start
1126440
$ cat /sys/block/sda/sda2/size
1536000
Это указывает на то, что в моей системе /dev/sda2
начинается в секторе 1126440 и имеет размер 1536000 секторов. Вы можете извлечь эту информацию и, используя gdisk
, заново создайте таблицу разделов или, по крайней мере, создайте разделы с правильными размерами. Вам нужно будет использовать свои знания о том, что находится в каждом разделе, чтобы установить их коды типов. AFAIK, нет способа восстановить значения GUID (то же самое верно для предыдущего подхода). Значение GUID ESP может быть важным, поскольку оно может использоваться EFI как часть процесса загрузки. Вы должны быть в состоянии извлечь это из sudo efibootmgr -v
вывод - он будет встроен в строку, которая является частью ubuntu
линия. Ты можешь использовать gdisk
чтобы изменить это значение после повторного создания ESP - используйте c
опция в меню экспертов.
Метод 3: лучший и самый простой, но вы, вероятно, не можете этого сделать
Лучший и самый простой способ сделать то, что вы хотите, это восстановить таблицу разделов из резервной копии. gdisk
инструмент предлагает b
опция в главном меню для создания такой резервной копии. Если вы сделали это, вы можете восстановить резервную копию с помощью l
(строчная буква "L") в меню восстановления и трансформации.
Восстановление резервной копии таким способом восстановит все данные таблицы разделов так, как это было при создании резервной копии. Это включает значения GUID, имена разделов и, конечно, размеры разделов. Вполне возможно, что вы сделали такую резервную копию, но забыли ее. Если так, используйте это. Если нет, то это не принесет вам пользы, за исключением тех случаев, когда вы теперь знаете об этой опции, и может быть мотивировано сделать резервную копию для использования в будущем.