[grub] multiboot avec Windows en EFI et GPT (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Avatar de l’utilisateur
vintherine
yeomen
Messages : 281
Inscription : mer. 04 janv. 2012, 22:14
Localisation : Annecy

[grub] multiboot avec Windows en EFI et GPT (résolu)

Message par vintherine »

bonjour,

après une installation sans problèmes je butte sur un dernier point : permettre le démarrage en W8

Partitionnement :

Code : Tout sélectionner

[root@ToshCM christian]# gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.7

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 1465149168 sectors, 698.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): BAE3660C-FC6F-11E1-9C45-C6B1BB081CD7
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1465149134
Partitions will be aligned on 2048-sector boundaries
Total free space is 3757 sectors (1.8 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          923647   450.0 MiB   2700  Basic data partition
   2          923648         1456127   260.0 MiB   EF00  Basic data partition
   3         1456128         1718271   128.0 MiB   0C01  Basic data partition
   4         1718272      1230518271   585.9 GiB   0700  Basic data partition
   5      1445343232      1465147391   9.4 GiB     2700  Basic data partition
   6      1230518272      1250998271   9.8 GiB     8200  
   7      1250998272      1291958271   19.5 GiB    8300  
   8      1291958272      1445343231   73.1 GiB    8300 
2 = efi (fat32)
4 = Windows (ntfs)
6 = swap (on est riche)
7 = /
8 = /home

la partition efi est montée dans /boot/efi

Code : Tout sélectionner

[root@ToshCM christian]# grep efi /etc/fstab
UUID=7CD3-EE8E      	/boot/efi 	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro	0 2
Pendant l'installation initiale j'ai installé grub sans dual-boot et ça fonctionne sans problème

je me reporte maintenant à :cette page de wiki

Code : Tout sélectionner

[root@ToshCM christian]# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
7CD3-EE8E
[root@ToshCM christian]# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
--hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2
je reporte tout ça dans /etc//grub.d/40_custom

Code : Tout sélectionner

[root@ToshCM christian]# cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Microsoft Windows Vista/7/8 x86_64 UEFI-GPT" {
  insmod part_gpt
  insmod fat
  insmod search_fs_uuid
  insmod chain
  search --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7CD3-EE8E
  chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
je régénère le grub.cfg

Code : Tout sélectionner

grub-mkconfig -o /boot/grub/grub.cfg
je vérifie le résultat dans /boot/grub/grub.cfg

Code : Tout sélectionner

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Microsoft Windows Vista/7/8 x86_64 UEFI-GPT" {
  insmod part_gpt
  insmod fat
  insmod search_fs_uuid
  insmod chain
  search --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7CD3-EE8E
  chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/40_custom ###
Au reboot la ligne apparaît bien mais ne produit rien (ni démarrage ni erreur).

le PC est un Toshiba Satellite C855-1TM
Dans la page Advanced du BIOS le Boot Mode est sur [UEFI Boot]
dans la page Security le Secure Boot est [Disabled]

Merci d'avance
Dernière modification par vintherine le ven. 11 oct. 2013, 22:40, modifié 1 fois.
Envoyé depuis mon saxophone !
Blog - Photos
jean_no
yeomen
Messages : 285
Inscription : dim. 09 sept. 2007, 12:19

Re: [grub] multiboot avec Windows en EFI et GPT

Message par jean_no »

Salut

peux-tu préciser commment tu as installé Grub. La ligne de commande que tu as utilisé exactement.

Où est situé le fichier grubx64.efi?

Car ton grub.cfg doit être situé dans le même répertoire que grubx64.efi. Et donc la commande suivante doit être adaptée à ton cas précis :

Code : Tout sélectionner

grub-mkconfig -o /boot/grub/grub.cfg
Sans doute :

Code : Tout sélectionner

grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg
à vérifier et à revérifier...

A+
Avatar de l’utilisateur
vintherine
yeomen
Messages : 281
Inscription : mer. 04 janv. 2012, 22:14
Localisation : Annecy

Re: [grub] multiboot avec Windows en EFI et GPT

Message par vintherine »

Merci de t'intéresser à mon cas. Le problème vient certainement de là mais je ne sais pas encore m'en dépatouiller.

Tout d'abord pendant d'installation j'ai fait ça :

Code : Tout sélectionner

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
Pas de démarrage. Hum... je ressaie plusieurs fois et ça fini par marcher. Mais consultant l'historique je m'aperçois qu'à ma dernière tentative j'ai oublié le /efi

Code : Tout sélectionner

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck
et là j'ai pu bouter (juste linux, je ne m'étais pas encore intéressé à W8)

Ta réponse me révélant ce qui s'est passé je relis attentivement les wiki anglais et français, démonte /boot/efi, fait le ménage, remonte /boot/efi et réinstalle grub

Code : Tout sélectionner

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
suivi de

Code : Tout sélectionner

grub-mkconfig -o /boot/efi/EFI/arch_grub/grub.cfg
Comme c'est le bazar dans mon répertoire /boot/efi/EFI et que je vois un dossier grub (qui à priori n'a rien à y faire) je me refais à tout hasard

Code : Tout sélectionner

grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg
je reboute et... tombe sur une simple invite grub> et rien d'autre

Il y a décidément quelque-chose que je ne comprends pas et sur laquelle je me butte. Aurais-tu la gentillesse de me remettre sur la voie ?

Merci d'avance
Envoyé depuis mon saxophone !
Blog - Photos
jean_no
yeomen
Messages : 285
Inscription : dim. 09 sept. 2007, 12:19

Re: [grub] multiboot avec Windows en EFI et GPT

Message par jean_no »

Ton fichier grub.cfg doit se situer dans le même répertoire que le fichier grubx64.efi.
et pour générer le grub.cfg, tu utilises la commande grub-mkconfig -o en adaptant le chemin.

Bon courage et A+
Avatar de l’utilisateur
vintherine
yeomen
Messages : 281
Inscription : mer. 04 janv. 2012, 22:14
Localisation : Annecy

Re: [grub] multiboot avec Windows en EFI et GPT (résolu)

Message par vintherine »

Je reviens tardivement sur ce fil après avoir repris le problème à zéro. Vraisemblablement le problème venait de la partition efi elle même, peut-être corrompue. Toujours est-il que j'ai utilisé la procédure de remise en état usine, après sauvegarde des données utilisateur et création d'images des partitions linux (/ et /home).

j'ai ensuite recréé les partitions qui vont bien, restauré les images, remonté les partitions et recommencé la procédure d'installation de grub telle que trouvée dans le wiki :

Code : Tout sélectionner

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
grub-mkconfig -o /boot/grub/grub.cfg
et tout baigne.

Merci
Envoyé depuis mon saxophone !
Blog - Photos
Répondre