Dual Boot Arch Linux et Windows 8

Windows 8 se lance automatiquement

Le problème exposé dans ce sujet a été résolu.

Bonjour, j'ai voulu installer Windows 8 et Arch Linux en dual boot. Le soucis c'est que lors du démarrage je suis obligé d'appuyer sur F9 pour ensuite sélectionner grub et lancer Arch Linux, sinon c'est Windows qui démarre automatiquement.

Comme c'est ma première vraie installation d'Arch Linux j'ai regardé le Beginners Guide et ce tutoriel , mais c'est maintenant que j'apprend qu'il n'est pas vraiment fiable. J'ai déjà désactivé le Secure Boot, ce sera plus clair illustré. Si l'on regarde ses options l'on voit "OS boot Manager" selon moi c'est cela qui fait automatiquement démarrer Windows 8.

Les commances lsblk et ls -lht /sys/firmware/efi me retourne ça :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
[raphael@HP-Pavilion | ~ ]$ lsblk 
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   300M  0 part 
├─sda2   8:2    0   100M  0 part /MicrosoftBoot
├─sda3   8:3    0   128M  0 part 
├─sda4   8:4    0 116.7G  0 part 
├─sda5   8:5    0   130G  0 part /
├─sda6   8:6    0     4G  0 part [SWAP]
├─sda7   8:7    0   512M  0 part /boot
└─sda8   8:8    0 214.1G  0 part 
[raphael@HP-Pavilion | ~ ]$ ls -lht /sys/firmware/efi/
total 0
-r--r--r--  1 root root 4.0K Jul 28 15:42 fw_vendor
-r--r--r--  1 root root 4.0K Jul 28 15:42 config_table
-r--r--r--  1 root root 4.0K Jul 28 15:42 runtime
drwxr-xr-x 11 root root    0 Jul 28 15:42 runtime-map
-r--------  1 root root 4.0K Jul 28 15:42 systab
drwxr-xr-x  2 root root    0 Jul 28 15:37 efivars
[raphael@HP-Pavilion | ~ ]$ 

L'on ma dit qu'il faudrdait que je déplace ce qu'il y a dans sda7 vers sda2, pour n'avoir plus qu'une seule partition efi dans le début du disque. J'utilise Grub comme Boot Loader.

Non, je parle bien du Fast Boot (complètement autre chose que secure boot), et c'est une option qui se règle dans le panneau de config de Windows. Windows 8 propose forcément cette option, et c'est très sûrement elle qui entraîne le démarrage de Windows…

Coucou !

Il faudrait essayer de répondre aux questions suivantes :

  • Le menu que tu as en appuyant sur F9, c'est un menu de ton BIOS (enfin, ton EFI) ? Ou bien un menu du chargeur de Windows 8 ? Qu'est-ce que t'affiche exactement ce menu ? Quelle allure il a ?
  • Quelle est la partition EFI système qui contient le premier logiciel chargé par ton BIOS ? Quel est ce premier chargeur ?

Pour t'aider à répondre, par exemple tu peux regarder ce qu'il y a dans /MicrosoftBoot. Tu peux aussi tenter de lister les variables de config de ton EFI avec une commande du type efivar -l (cf le lien que je donne ci-dessous).

Vu que tu tentes une install Arch Linux, tu es clairement parti pour bidouiller ! Pour ma part, je n'ai pas de dual-boot mais j'ai quand même un boot UEFI, vu que mon PC est assez récent. Je n'utilise pas GRUB comme chargeur d'ammorçage mais rEFInd, qui offre en prime un joli menu graphique. Pour ton information, voici comment mon système est configuré :

  • J'ai une partition de type EFI System sur laquelle le fichier /EFI/boot/bootx64.efi correspond au chargeur de rEFInd. C'est ce programme qui est lancé en premier lorsque mon PC démarre.
  • J'ai dans le dossier /EFI/arch/ mes images noyau et initramfs Arch Linux, qui sont proposées au démarrage par rEFInd.
  • Si j'avais voulu faire un dual-boot Windows, je pense que j'aurais déplacé le dossier contenant le loader de Windows dans un autre dossier que /EFI/boot, dans l'espore que rEFInd le détecte également comme option possible pour le démarrage.

Je sais qu'il y avait un problème avec mon BIOS qui empêchait qu'on le configure pour qu'au démarrage il lance autre chose que /EFI/boot/bootx64.efi, donc ça ne marchait pas quand je mettais rEFInd dans /EFI/refind/refind.efi. Chez toi c'est peut-être différent : si le menu F9 est un menu de ton BIOS, et s'il affiche des options que tu peux configurer avec les bonnes commandes, tu dois pouvoir trouver une commande qui dit à ton BIOS de charger telle entrée EFI par défaut (le GRUB par exemple) au lieu du chargeur de boot de Windows.

J'espère que tu n'es pas anglophobe, mais en principe c'est assez bien expliqué sur le wiki Arch Linux : https://wiki.archlinux.org/index.php/EFI#Userspace_Tools

À bientôt !

+0 -0

Coucou !

Il y a certainement une façon de faire que ton PC boote par défaut sur l'entrée arch_grub. Pour cela, regarder du côté de efibootmgr : tu as la doc du wiki arch, et évidemment la page man efibootmgr.

+0 -0

J'avais déjà regardé de ce côté, d'ailleurs voila ce que me retourne cette commande :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
[raphael@HP-Pavilion | ~ ]$ efibootmgr 
BootCurrent: 0005
Timeout: 0 seconds
BootOrder: 0003,3003,0005,2001,2002,2003
Boot0000* Internal EFI Shell
Boot0002* Internal EFI Shell
Boot0003* Windows Boot Manager
Boot0005* arch_grub
Boot2001* USB Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk
Boot3005* Internal Hard Disk or Solid State Disk

Ensuite j'ai essayé de changer l'ordre comme ça :

1
efibootmgr -o 2001,0005,0003

Mais en re-tapant efibootmgr, j'obtient toujours le même résultat. Si je lance la commande précédente en étant root ça marche, mais dès le prochain démarrage tout se ré-initialise.

Bon, me revoilà enfin. J'ai finalement décidé de me refaire une toute nouvelle installation après avoir cassé mon système suite à une mise à jour, et puis de toute façon il y avait un certain nombres de ratés sur cette installation.

J'ai également réinstallé Windows 8.1. Voici une partie de ce que me retourne la commande fdisk -l du Live USB d'Arch Linux :

1
2
3
4
5
6
Device      Size        Type

/dev/sda1   300 M       Microsoft recovery environment
/dev/sda2   100 M       EFI System
/dev/sda3   128 M       Microsoft reserved
/dev/sda4   100.1 G     Microsoft base data

J'ai désactivé le Secure Boot et le Fast Boot, je pense également toujours utiliser GRUB comme boot loader. Bon maintenant au niveau des partitions je compte m'en créer 4 nouvelles : une pour le swap, un /, un /home, et un /boot. Si j'ai bien lu le wiki, ces nouvelles partitions vont devoir être GPT, et je vais donc devoir utiliser gdisk, cgdisk, ou Gparted pour les créer. J'espère ne pas raconter n'importe quoi.

Coucou !

En principe ton disque utilise GPT donc tu n'as pas d'autre choix que de créer des partitions GPT (les outils conçus pour le MBR ne fonctionneront pas).

Ce n'est probablement pas la peine de créer une partition /boot séparée : le plus simple est de laisser /boot comme sous-dossier de ta partition racine, et de partager la partition EFI Système (/dev/sda2) entre Windows et Linux - au final tu n'as que trois partitions à créer. C'est sur /dev/sda2 que tu installeras Grub, à côté du bootloader de Windows.

Bon courage :)

Edit : grillé.
@dri1 : tant qu'on y est à proposer des bootloaders alternatifs, il y a aussi rEFInd que j'utilise et que je trouve très bien.

+0 -0

Ce n'est probablement pas la peine de créer une partition /boot séparée : le plus simple est de laisser /boot comme sous-dossier de ta partition racine, et de partager la partition EFI Système (/dev/sda2) entre Windows et Linux - au final tu n'as que trois partitions à créer.

Je suis pas sûr de te suivre, là. Il est beaucoup plus logique de monter /dev/sda2 en tant que /boot plutôt qu'en tant que /boot/EFI. Tout simplement parce que de cette manière, les images vmlinuz-linux et initramfs chargées en RAM au démarrage seront sur la même partition que gummibootx64.efi (ou l'équivalent chez grub ou rEFInd selon ce qu'il décide d'installer), et donc accessibles plus rapidement.

De plus, cela colle avec la structure de fichiers déjà mise en place de Microsoft, avec un dossier EFI à la racine de cette partition.

Je suppose qu'il sera toujours mieux d'utiliser un boot loader dédié à l'UEFI. Néanmoins j'hésite un peu, j'ai jamais essayé autre chose que GRUB. Sinon c'est vrai que rEFInd à l'air pas mal :)

Ce n'est probablement pas la peine de créer une partition /boot séparée : le plus simple est de laisser /boot comme sous-dossier de ta partition racine, et de partager la partition EFI Système (/dev/sda2) entre Windows et Linux - au final tu n'as que trois partitions à créer. C'est sur /dev/sda2 que tu installeras Grub, à côté du bootloader de Windows.

Alex

Donc selon toi il vaudrais mieux que je crée trois partition : /, /home et une pour le swap.

Néanmoins j'hésite un peu, j'ai jamais essayé autre chose que GRUB.

Si par "essayé" tu entends simplement utiliser la conf par défaut, il n'y a aucune raison que tu sois plus à l'aise pour configurer GRUB que gummiboot ou rEFInd. ^^ Au contraire, même, puisqu'au moins pour Gummiboot, la configuration est très simple (et détaillée dans le beginners' guide, d'où mon conseil de t'orienter vers celui-là).

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte