Restaurar Windows 8 y Linux (Debian) / boot / efi

0

Eliminé / boot / efi (mientras intentaba instalar archlinux).

Hay un disco duro, 750 GB, / dev / sda). Las particiones son

/ dev / sda1 ntfs 315MB

/ dev / sda2 EFIboot 105MB <=== esto se eliminó

/ dev / sda3? 135MB

/ dev / sda4 ntfs 626GB <======= windows 8

/ dev / sda5 ntfs

/ dev / sda6 biosgrub 1MB?

/ dev / sda7 lvm 110GB <======== para linux

/ dev / sda8 intercambiar 13GB

Windows 8 todavía está instalado en / dev / sda4

¿Cómo puedo recrear / reparar / boot / efi (/ dev / sda2)?

robor78
fuente

Respuestas:

1
  1. Arranque el DVD / USB de instalación o recuperación de Windows 8: ejecute StartUp Repair (Reparación automática), esto recreará los archivos de arranque de Windows en la partición del sistema EFI (¡arranque DVD / USB en modo EFI!).

  2. ¡Vuelva a instalar Linux en modo EFI! (¡arranque Linux DVD / USB en modo EFI!)

Tal vez solo reinstalar GRUB en modo EFI sería suficiente (no sé exactamente si esto funciona en la instalación inicial de Linux en modo BIOS, probablemente sí)

(La primera vez que instaló Linux mientras arrancaba en modo BIOS, por lo tanto, tiene "bios grub" en la partición sda6 que es necesaria para el arranque híbrido = arranque BIOS desde el disco GPT)

snayob
fuente
1. El arranque en Windows 8 usando el DVD no funcionó (ni la opción de reinicio, recuperación ni la automática funcionaron).
robor78
2. La reinstalación de Linux no funcionó por sí sola. Necesitaba copiar manualmente los archivos efi de Windows en la partición de arranque.
robor78
1

Así es como solucioné el problema.

  1. Linux reinstalado (dejando todas las particiones).
  2. Arrancado en Linux.
  3. Se montó la partición ntfs de windows (mount -t ntfs / dev / sda4 / media / C). (Instalado apt-get install ntfs-3g, pero esto solo es necesario para escribir en ntfs).
  4. Busqué todos los archivos .efi en / media / c (find -name ' .efi' / media / c) (hubo muchos éxitos, la mayoría en c: / windows / boot / efi y en c: / windows / panther / rollback / efi)
  5. Copié toda la carpeta c: / windows / panther / rollback / efi / microsoft a / boot / efi / EFI / microsoft
  6. En /boot/grub/grub.cfg agregado

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

  7. Supuse / busqué en google que bootmgfw.efi es el .efi correcto.

  8. Reinició y seleccionó win8 en el menú de grub.

Como solución alternativa, también instalé refind . En el archivo de configuración /boot/efi/EFI/refind/refind.conf habilité (sin comentar) estas configuraciones (creo que solo se requirió el punto 4):

  1. windows_recovery_files LRS_ESP: /EFI/Microsoft/Boot/bootmgr.efi
  2. uefi_deep_legacy_scan true
  3. arranque también_scan_dirs, ESP2: EFI / linux / kernels
  4. Agregar menuentry

    menuentry "Windows 8" {cargador \ EFI \ Microsoft \ Boot \ bootx64.efi deshabilitado}

robor78
fuente