GRUB : Transferer le BIOS du Mode LEGACY vers EFI

Demande d'aide : c'est ici.
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour,

.... Re, encore, toujours en bagarre avec GRUB :065:

Voici mon système de partitions :

Code : Tout sélectionner

(parted) print
													  
Model: ATA ST9500325AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name                          Flags
 1      1049kB  420MB   419MB   ntfs            Basic data partition          hidden, diag
 2      420MB   735MB   315MB   fat32           EFI system partition          boot, esp
 3      735MB   869MB   134MB                   Microsoft reserved partition  msftres
 4      869MB   63,8GB  62,9GB  ntfs            Basic data partition          msftdata
 5      63,8GB  106GB   41,9GB  ntfs            Basic data partition          msftdata
 6      106GB   124GB   18,3GB  ntfs            Basic data partition          hidden, msftdata
 7      124GB   124GB   500MB   ext4            /boot (deb1)                  msftdata
 8      124GB   144GB   20,0GB  ext4            /     (deb1)                  msftdata
14      144GB   184GB   39,5GB  ext4            /home (deb1)                  msftdata
 9      184GB   190GB   6000MB  linux-swap(v1)
10      190GB   400GB   210GB   ext3            DOCS   /data	(deb1&2)      msftdata
11      400GB   400GB   500MB   ext4            /boot (deb2)                  msftdata
12      400GB   410GB   10,0GB  ext4            /     (deb2)                  msftdata
13      410GB   420GB   10,0GB  ext4            /home (deb2)                  msftdata

(parted)

Je viens d'installer Debian (deb2) sur sda11,12,13


Mon problème :

Le BIOS EFI permet de choisir entre 2 modes : EFI / Legacy

Le mode EFI pour je ne sais quelle raison ne détectait pas la clé usb (MultiBootUsb)
que j'ai utilisé pour tenter de réparer le boot cassé lors d'une précédente MàJ
... je vous passe les détails de cette mésaventure.

Toujours est-il que :

j'ai fait mon installation avec l'ISO-Hybride Debian-Mate sur une clé usb (pas de lecteur cd) en mode LEGACY.

Tout c'est merveilleusement déroulé :
* j'ai un GRUB qui fonctionne,
* un système tout neuf avec Mate (superbe selon moi),
* la première installation Debian fonctionne toujours...

Seul problème le mode LEGACY du BIOS zappe Windows Boot Loader (win8) qui n'est pas proposé par GRUB

Windows n'est accessible qu'en entrant dans le bios pour modifier le mode vers EFI et de le sélectionner via F12 (Boot Device),
ce qui n'est pas très commode, même si je ne me sers quasiment jamais de Windows
(sauf pour voir comment c'est fait, pour aider quelques potes dans la misères et qui fouettent de passer sous Linux)


Remarque : En mode EFI (cela semble logique) GRUB ne fonctionne plus.


Pour le moment, voici ce que j'ai d'installé :

Code : Tout sélectionner

$ dpkg-query -l | grep grub
ii  grub-common      2.02~beta2-22+deb8u1  GRand Unified Bootloader (common files)
ii  grub-pc          2.02~beta2-22+deb8u1  GRand Unified Bootloader, version 2 (PC/BIOS version)
ii  grub-pc-bin      2.02~beta2-22+deb8u1  GRand Unified Bootloader, version 2 (PC/BIOS binaries)
ii  grub2-common     2.02~beta2-22+deb8u1  GRand Unified Bootloader (common files for version 2)
Ma question :

Comment faut-il procéder pour revenir à grub-efi sans tout casser ?




Mon inquiétude :

La transition entre les 2 modes LEGACY → EFI ; il y a forcément un moment où cela ne fonctionne plus ...

la solution c'est quoi ?... chroot pour le faire un grub-install ?



Merci pour votre attention.


Pour info :

Code : Tout sélectionner

# apt-get install -s grub-efi

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets supplémentaires suivants seront installés : 
  efibootmgr grub-efi-amd64 grub-efi-amd64-bin libefivar0
Les paquets suivants seront ENLEVÉS :
  grub-pc
Les NOUVEAUX paquets suivants seront installés :
  efibootmgr grub-efi grub-efi-amd64 grub-efi-amd64-bin libefivar0
0 mis à jour, 5 nouvellement installés, 1 à enlever et 0 non mis à jour.
Remv grub-pc [2.02~beta2-22+deb8u1]
Inst libefivar0 (0.15-3 Debian:8.5/stable [amd64])
Inst efibootmgr (0.11.0-3 Debian:8.5/stable [amd64])
Inst grub-efi-amd64-bin (2.02~beta2-22+deb8u1 Debian:8.5/stable, Debian-Security:8/stable [amd64])
Inst grub-efi-amd64 (2.02~beta2-22+deb8u1 Debian:8.5/stable, Debian-Security:8/stable [amd64])
Inst grub-efi (2.02~beta2-22+deb8u1 Debian:8.5/stable, Debian-Security:8/stable [amd64])
Conf libefivar0 (0.15-3 Debian:8.5/stable [amd64])
Conf efibootmgr (0.11.0-3 Debian:8.5/stable [amd64])
Conf grub-efi-amd64-bin (2.02~beta2-22+deb8u1 Debian:8.5/stable, Debian-Security:8/stable [amd64])
Conf grub-efi-amd64 (2.02~beta2-22+deb8u1 Debian:8.5/stable, Debian-Security:8/stable [amd64])
Conf grub-efi (2.02~beta2-22+deb8u1 Debian:8.5/stable, Debian-Security:8/stable [amd64])

PKGes GRUB sur Deb1

Code : Tout sélectionner

dpkg-query -l | grep grub
ii  grub-common           2.02~beta2-22+deb8u1    amd64        GRand Unified Bootloader (common files)
ii  grub-efi              2.02~beta2-22+deb8u1    amd64        GRand Unified Bootloader, version 2 (dummy package)
ii  grub-efi-amd64        2.02~beta2-22+deb8u1    amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 version)
ii  grub-efi-amd64-bin    2.02~beta2-22+deb8u1    amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 binaries)
ii  grub2-common          2.02~beta2-22+deb8u1    amd64        GRand Unified Bootloader (common files for version 2)

Par curiosité j'ai monté sda2 la part EFI ;

Voici ce quelle contient :

Code : Tout sélectionner

# tree efi_part
efi_part
└── EFI
	├── Boot
	│   └── bootx64.efi
	├── debian
	│   └── grubx64.efi
	├── Microsoft
	│   └── Boot
	│       ├── BCD
	│       ├── BCD.LOG
	│       ├── BCD.LOG1
	│       ├── BCD.LOG2
	│       ├── bg-BG
	│       │   ├── bootmgfw.efi.mui
	│       │   └── bootmgr.efi.mui
	│       ├── bootmgfw.efi
	│       ├── bootmgr.efi
	│       ├── BOOTSTAT.DAT
	│       ├── boot.stl
	│       ├── cs-CZ
	│       │   ├── bootmgfw.efi.mui
	│       │   ├── bootmgr.efi.mui
	│       │   └── memtest.efi.mui
	│       ├── da-DK
	│       │   ├── bootmgfw.efi.mui
	│       │   ├── bootmgr.efi.mui
		....	
	│       ├── Fonts
	│       │   ├── chs_boot.ttf
	│       │   ├── cht_boot.ttf
	│       │   ├── jpn_boot.ttf
		....	
	│       ├── fr-FR
	│       │   ├── bootmgfw.efi.mui
	│       │   ├── bootmgr.efi.mui
	│       │   └── memtest.efi.mui
	│       ├── hr-HR
	......	
	│       │   └── memtest.efi.mui
	│       └── zh-TW
	│           ├── bootmgfw.efi.mui
	│           ├── bootmgr.efi.mui
	│           └── memtest.efi.mui
	└── ubuntu
		└── grubx64.efi

44 directories, 124 files
Visiblement le ménage est à faire,
car il y a eu 2 installations Debian faites sur les partitions 11, 12, 13 (initialement utilisées pour un test Ubuntu)


Est-ce qu'un coup de osprober avant la re-install de grub va remettre ceci à jour ? :017:

Ou faut-il supprimer ce qui n'est plus utile manu-military ?
:067: :072:


J'espère avoir apporté assez d'info pour vous faire une idée de la situation.

@+
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
Dunatotatos
Membre
Membre
Messages : 426
Inscription : 11 mai 2016, 20:56
Status : Hors-ligne

Plutôt que de vouloir changer la version de grub, je tenterais de conserver celle-ci, et de détecter l'entrée de Windows. Si os-prober ne trouve pas Windows, ce n'est pas un problème de Bios, mais de os-prober. Est-il seulement installé ?
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Dunatotatos a écrit :Plutôt que de vouloir changer la version de grub, je tenterais de conserver celle-ci, et de détecter l'entrée de Windows. Si os-prober ne trouve pas Windows, ce n'est pas un problème de Bios, mais de os-prober. Est-il seulement installé ?

OS-PROBER est installé et donne ce qui a été trouvé par l'installateur.

En mode LEGACY

Code : Tout sélectionner

# os-prober

	/dev/sda6:Windows Recovery Environment (loader):Windows:chain
	/dev/sda8:Debian GNU/Linux (8.5):Debian:linux

détecte sda6 qui n'est pas le système Win8 mais la partition "Push Button Reset"
qui est une sauvegarde de paramètres utilisateurs et logiciels
qui doit permettre de remettre le système de base à l'état usine en préservant les modifications précitées
=> ça ne boote pas !


En mode EFI

J'ai tenté un boot EFI mais la clé usb avec le Live CD Debian n'est toujours pas détectée
donc je ne pourrais pas faire un test d'os-prober pour savoir si Win8 est correctement détecté ou non.

N'ayant pas de connaissance sur le sujet,

je remarque tout de même que dans le pkge os-prober,
on trouve en autre :

Code : Tout sélectionner

/usr/lib/os-probes/mounted/20microsoft
et
/usr/lib/os-probes/mounted/efi/20microsoft
et vu la tournure des choses,

j'en déduirais que selon l'environnement EFI ou LEGACY
ne sont utilisés que les outils correspondants.

Comme Windows a été installé en mode EFI par le fabricant (Acer),
os-prober ne le détecte pas.
Et même si il le détectait,
il est fort probable qu'il ne puisse le prendre en charge,
car visiblement ce qui est considéré bootable en EFI ne l'est pas en LEGACY,
et réciproquement ..... bien malheureusement.

De plus — apparemment — il n'y a ni page MAN ni INFO pour os-prober,
donc sans-doute pas d'option pour s'adapter à la situation.
Mais cela est inutile, si ce qui précède est proche de la vérité.

Je crois que la solution est de revenir à EFI avec ce qu'il faut dans la partition EFI (sda2)

Mais je ne suis pas sûr de comment le faire bien du premier coup.

Et ce ne sont que des supputations :017:

Donc si quelqu'un a des certitudes ... elles seront bien appréciées, soyez-en garantis. :023:
**Simple Utilisateur** -- Debian stable - XFCE
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Ce sujet date un peu et il est peut-êtr trop tard pour répondre mais tant pis.
dezix a écrit :Le mode EFI pour je ne sais quelle raison ne détectait pas la clé usb (MultiBootUsb)
Raisons courantes :
- la clé ne contient pas de chargeur EFI de même architecture que le firmware (32 ou 64 bits).
- l'option "secure boot" est activée dans les options du firmware UEFI.
dezix a écrit :* j'ai un GRUB qui fonctionne
Pour le moment. Mais je ne vois pas de partition "BIOS boot" (bios_grub dans parted) alors que la table de partition est au format GPT, donc il y a un risque qu'un jour GRUB ne fonctionne plus suite à une réorganisation des blocs de la partition /boot. C'est un avertissement.
dezix a écrit :Seul problème le mode LEGACY du BIOS zappe Windows Boot Loader (win8) qui n'est pas proposé par GRUB
Normal : en mode BIOS/legacy GRUB ne peut pas démarrer les chargeurs EFI et vice versa, donc os-prober ne les détecte pas.
dezix a écrit :Pour le moment, voici ce que j'ai d'installé
Sur quel système ? Debian 1 ou Debian 2 (Mate) ?
dezix a écrit :La transition entre les 2 modes LEGACY → EFI ; il y a forcément un moment où cela ne fonctionne plus
Mais non...
Désinstaller une variante de grub-* ne supprime pas le chargeur d'amorçage installé par son intermédiaire. Et les variantes de Jessie ont le bon goût d'installer leurs fichiers dans des répertoires distincts /boot/grub/{target}, contrairement à celles de Wheezy qui les installaient toutes dans /boot/grub. Seul le fichier de configuration /boot/grub/grub.cfg est commun. J'ai des machines qui ont à la fois GRUB BIOS et GRUB EFI et qui peuvent démarrer indifféremment dans les deux modes.
dezix a écrit :la solution c'est quoi ?... chroot pour le faire un grub-install ?
C'est une solution possible et probablement la plus simple, à condition de démarrer en mode EFI le système à partir duquel le chroot sera fait.
dezix a écrit :# apt-get install -s grub-efi
Sur quel système ? Debian 1 ou 2 ?

Tu n'as pas besoin d'installer GRUB EFI sur les deux Debian. De toute façon par défaut il n'y aura qu'un chargeur EFI pour Debian car le nom "debian" et l'emplacement dans la partition système EFI EFI/debian est le même pour chaque installation. Et GRUB EFI peut amorcer un système Debian qui a été installé en mode BIOS/legacy.

Si Debian 1 a été installé initialement en mode EFI, il sera probablement plus simple de restaurer GRUB EFI sur celle-ci. Il faut notamment que la partition système EFI soit montée sur /boot/efi, ce qui est fait automatiquement quand l'installation est faite en mode EFI.

Question : que sélectionnes-tu exactement avec F12 en mode UEFI pour démarrer Windows ?
N'y a-t-il pas des entrées "debian", "Windows Boot manager", "ubuntu" à l'image du contenu de la partition système EFI ?

A propos de cette partition, quelques infos sur son contenu :
- EFI/Boot/bootx64.efi : c'est le chargeur EFI par défaut, celui qui est utilisé par le firmware si aucun autre chargeur EFI n'est explicitement sélectionné. Habituellement il est installé par Windows comme chargeur de secours, mais on peut le remplacer par celui de Debian.
- EFI/debian/grubx64.efi : le chargeur GRUB EFI installé par Debian.
- EFI/ubuntu/grubx64.efi : le chargeur GRUB EFI installé par Ubuntu.
- EFI/Microsoft/Boot/ : le répertoire contenant les fichiers de Windows Boot Manager, notamment bootmgfw.efi qui est le fichier exécuté pour lancer ce chargeur.
dezix a écrit : J'ai tenté un boot EFI mais la clé usb avec le Live CD Debian n'est toujours pas détectée
Les images live de Debian Jessie ne sont pas amorçables en mode EFI. Seules les images d'installation le sont.
Répondre