Restaurez Windows 8 et Linux (Debian) / boot / efi

0

J'ai supprimé / boot / efi (lors de la tentative d'installation d'archlinux).

Il y a un disque dur, 750 Go, / dev / sda). Les partitions sont

/ dev / sda1 ntfs 315MB

/ dev / sda2 EFIboot 105Mo <=== cela a été supprimé

/ dev / sda3? 135Mo

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

/ dev / sda5 ntfs

/ dev / sda6 biosgrub 1MB?

/ dev / sda7 lvm 110GB <======== pour Linux

/ dev / sda8 swap 13GB

Windows 8 toujours installé sur / dev / sda4

Comment recréer / réparer le / boot / efi (/ dev / sda2)?

robor78
la source

Réponses:

1
  1. Démarrez le DVD d’installation ou de restauration sous Windows 8 / USB - exécutez Réparation de démarrage (réparation automatique), cela recréera les fichiers de démarrage Windows sur la partition système EFI (DVD de démarrage / USB en mode EFI!).

  2. Réinstallez Linux en mode EFI !!! (démarrer Linux DVD / USB en mode EFI!)

Peut-être que simplement réinstaller GRUB en mode EFI serait suffisant (je ne sais pas exactement si cela fonctionne lors de l'installation initiale de Linux en mode BIOS, probablement oui)

(La première fois que vous avez installé Linux alors que vous avez démarré en mode BIOS - vous avez donc "bios grub" dans la partition sda6, ce qui est nécessaire pour un démarrage hybride = démarrage du BIOS à partir d'un disque GPT)

snayob
la source
1. Le démarrage de Windows 8 à l’aide du DVD ne fonctionnait pas (ni la réinitialisation, la récupération ni l’option automatique ne fonctionnaient).
robor78
2. La réinstallation de Linux ne fonctionnait pas seule. Je devais copier manuellement les fichiers Windows efi dans la partition de démarrage.
robor78
1

Voici comment j'ai résolu le problème.

  1. Linux réinstallé (en laissant toutes les partitions).
  2. Démarré dans Linux.
  3. Monté la partition Windows NTFS (mount -t NTFS / dev / sda4 / media / C). (Installé par apt-get install ntfs-3g mais cela n’est nécessaire que pour écrire dans ntfs.))
  4. A recherché tous les fichiers .efi dans / media / c (trouver -nom ' .efi' / media / c) (il y a eu beaucoup de hits, la plupart dans c: / windows / boot / efi et c: / windows / panther / rollback / efi)
  5. Copiez l'intégralité du dossier c: / windows / panther / rollback / efi / microsoft dans / boot / efi / EFI / microsoft
  6. Dans /boot/grub/grub.cfg ajouté

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

  7. J'ai deviné / googlé que bootmgfw.efi est le correct .efi.

  8. Redémarré et sélectionné win8 dans le menu grub.

Comme solution alternative, j'ai aussi installé refind . Dans le fichier de configuration /boot/efi/EFI/refind/refind.conf, j'ai activé (non commenté) ces paramètres (je pense que seul le point 4 était requis):

  1. windows_recovery_files LRS_ESP: /EFI/Microsoft/Boot/bootmgr.efi
  2. uefi_deep_legacy_scan true
  3. also_scan_dirs boot, ESP2: EFI / linux / kernels
  4. Ajouter menuentry

    menuentry "Windows 8" {chargeur \ EFI \ Microsoft \ Boot \ bootx64.efi désactivé}

robor78
la source