Рейтинг:1

Восстановить/скопировать резервные копии дисков GPT+EFI на новый диск и сделать загрузочным

флаг sd

Я хожу кругами. Моя ситуация следующая:

  • старый диск умер, это был GPT-диск с загрузкой EFI с 3 разделами, sda1=fat32 (помеченный esp,boot и содержащий /boot и /EFI), sda2=etx4 (содержащий все остальное, а также типичный /boot), sda3 =своп (linuxswap);
  • У меня есть резервные копии (сделанные с помощью rsync -aAXH) содержание как sda1, так и sda2
  • У меня есть новый диск и загрузочная флешка Ubuntu 20.04.3 USB.

Я хочу восстановить резервные копии на новый диск и сделать его загрузочным.

Что я пробовал (безуспешно):

  • загрузитесь с флешки, разделите sda на gpart и сделайте его GPT, затем воссоздайте те же 3 раздела, sda1=fat32 и пометьте его esp,boot, sda2=ext4, sda3=swap
  • восстановил все содержимое из старой резервной копии sda1 в новую sda1 и из старой sda2 в новую sda2
  • отредактировал (sda2)/etc/fstab и обновил UUID новыми значениями из лсблк
  • отредактировал (sda1)/EFI/ubuntu/grub.cfg и обновил UUID строки search.fs_uuid
  • установил grub-efi-amd64 и попытался grub-установить /dev/sda

Последняя строка завершается с ошибкой:

Установка для платформы x86_64-efi
grub-install: ошибка: не удается найти каталог EFI

Очевидно, что игнорирование этого и перезагрузка действительно показывают меню grub, но на самом деле не загружаются, когда я выбираю запись. Я думаю, что единственный шаг, который отсутствует, — это обновить UUID в (sda2)/boot/grub/grub.cfg, поскольку те, что там, все еще старые. Обычно это делается с помощью update-grub, если я не ошибаюсь (?).

Может кто-нибудь помочь со списком шагов и команд? Что мне не хватает?

ПОЛНОЕ РАСКРЫТИЕ: Сначала я пытаюсь сделать это на виртуальной машине VMware, чей .vmx был изменен для использования прошивки UEFI (добавить прошивка = "efi" в .vmx). Насколько мне известно, это полностью эмулирует машину UEFI.

oldfred avatar
флаг cn
Похоже, вы все сделали правильно. В чем именно ошибка? Но если сказать i386, вы загружались в режиме BIOS? Скопируйте и вставьте ссылку pastebin в сводный отчет о загрузке (не публикуйте отчет), не запускайте автоматическое исправление до проверки. Давайте посмотрим подробности, используйте версию ppa с вашим установщиком USB (2-й вариант) или любую рабочую установку, не Boot-Repair ISO (кроме 21.10) https://help.ubuntu.com/community/Boot-Repair
флаг sd
@oldfred, как только вы ответили, я отредактировал свой вопрос, чтобы указать, что я на виртуальной машине vmware, которая, как я только что понял, осталась в BIOS. Я изменил его на UEFI (добавил `firmware = "efi"` в .vmx), а затем снова загрузил Ubuntu .iso. После установки grub-efi-amd64 и повторной попытки `grub-install /dev/sda` возникает ошибка * Установка для платформы x86_64-efi. grub-install: ошибка: не удается найти каталог EFI *
флаг sd
@oldfred вот сводка информации о загрузке https://paste.ubuntu.com/p/vnXJt2pzGy/ ... большое спасибо за ваш быстрый ответ (он уже подтолкнул меня к чтению этого отчета)
oldfred avatar
флаг cn
Вы показываете ESP, но версия 16.04 устарела, и вы не получите репозиторий с обновленным программным обеспечением. Используйте 20.04 или другую текущую версию. https://wiki.ubuntu.com/Релизы
флаг sd
@oldfred уверен, что 16.04 устарел (хотя все еще поддерживается), но это не главное - вопрос был о том, как сделать новый диск загрузочным
Рейтинг:0
флаг sd

Отвечая на мой собственный вопрос, но я еще не принимаю его как ответ, потому что меня все еще интересует четкий набор шагов, чтобы исправить это вручную.

Используя указатели @oldfred в комментарии выше, я использовал ремонт обуви который исправил это за один раз.

я установил ремонт обуви после загрузки с live CD, используя ppa (и нет ISO, который явно глючит), т.е.

sudo apt-add-repository ppa:yannubuntu/boot-repair
sudo apt-получить обновление
sudo apt-get установить восстановление при загрузке
sudo boot-repair

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

В конце концов, похоже, это произошло, как я и подозревал: обновил UUID в grub.cfg, что было бы довольно сложно сделать вручную, так что я действительно был близок к этому.

Рейтинг:-1
флаг bd

Вам нужно как:

pacstrap /mnt base linux linux-прошивка
pacstrap /mnt grub-биос

при запуске ПК также настройте биос на биос в безопасной загрузке (не EFI или как там...)

Ответить или комментировать

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