Я удалил /boot /efi (при попытке установить archlinux).

Есть один жесткий диск, 750GB, /dev /sda). Перегородки

/dev/sda1 NTFS 315MB

/dev/sda2 EFIboot 105MB <=== это было удалено

/dev/sda3? 135MB

/dev/sda4 ntfs 626 ГБ <======= windows 8

/dev/sda5 ntfs

/dev/sda6 biosgrub 1MB?

/dev/sda7 lvm 110 ГБ <======== для Linux

/dev/sda8 swap 13GB

Windows 8 все еще установлена в /dev /sda4

Как мне воссоздать / восстановить / boot / efi (/ dev / sda2)?

2 ответа2

1
  1. Загрузите Windows 8 для установки или восстановления DVD/USB - запустите StartUp Repair (Automated Repair), это восстановит загрузочные файлы Windows в системном разделе EFI (загрузите DVD/USB в режиме EFI!).

  2. Переустановите Linux в режиме EFI !!! (загрузите Linux DVD/USB в режиме EFI!)

Может быть, достаточно просто переустановить GRUB в режиме EFI (не знаю точно, работает ли это при первоначальной установке Linux в режиме BIOS, возможно, да)

(При первой установке Linux во время загрузки в режиме BIOS у вас есть "bios grub" в разделе sda6, который необходим для гибридной загрузки = загрузка BIOS с GPT-диска)

1

Вот как я исправил проблему.

  1. Переустановил Linux (оставив все разделы).
  2. Загрузился в Linux.
  3. Смонтировал раздел windows ntfs (mount -t ntfs /dev /sda4 /media /C). (Установлен apt-get install ntfs-3g, но это требуется только для записи в ntfs.) )
  4. Поиск всех файлов .efi в /media /c (найти -name '.efi' /media /c) (было много обращений, большинство в c:/windows /boot /efi и в c:/windows /panther /rollback /EFI)
  5. Скопировал всю папку c:/windows /panther /rollback /efi /microsoft в /boot /efi /EFI /microsoft
  6. В /boot/grub/grub.cfg добавлено

    menuentry 'win8' {set root = 'hd2, gpt2' chainloader /EFI/Microsoft/Boot/bootmgfw.efi boot}

  7. Я догадывался / гуглил, что bootmgfw.efi - это правильный .efi.

  8. Перезагрузился и выбрал win8 в меню grub.

В качестве альтернативного решения я также установил refind. В файле конфигурации /boot/efi/EFI/refind/refind.conf я включил (не комментировал) эти параметры (я думаю, что требовался только пункт 4):

  1. windows_recovery_files LRS_ESP:/EFI/Microsoft/Boot/bootmgr.efi
  2. uefi_deep_legacy_scan true
  3. Кроме того, загрузка_DIR, ESP2:EFI/ Linux / ядра
  4. Добавить меню

    пункт меню "Windows 8" {загрузчик \EFI \Microsoft \Boot \bootx64.efi отключен}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .