Mauvaise configuration de grub?

ou comment perdre son windows 7

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

Salut à tous, il y a déjà quelques mois, je suis passé sur archlinux mais j’ai un problème qui subsiste: initialement prévu pour un dual boot, je ne peux tout simplement pas booter sur mon windows 7.

Je le vois bien dans mon uefi (windows bootloader) mais lorsque je le lance, j’ai le choix de réparer mon système ou de lancer mon windows normalement.

  • la deuxième option plante sur l’écran avec le logo de Windows.
  • Pour la première option, cela ne semble rien changer, le programme ne trouve aucun point d’amorçage pour Windows.

J’utilise grub2, contrairement à vos recommandations, car seul GRUB gère complétement le bios (mon Windows n’est pas installé en mode legacy).

Ma question est de savoir comment faire pour récupérer un dual-boot: un moyen qui permettrait de restaurer mon bootloader Windows ou dois-je réinstaller tout mon système Windows différemment? D’ailleurs à ce propos, les clefs Windows 10 que l’on peut trouver à une dizaine d’euro sur certains sites sont-elles légitimes? car dans ce cas, je préfère réinstaller un Windows 10 plutôt que mon vieux Windows 7

+0 -0

Le plus simple n’étant pas de choisir avant le passage sur GRUB de démarrer sur la partition windows ?

Sur le premier écran quand le pc s’allume, il t’affiche sur quel touche taper pour démarrer sur une partition précise.

Il nous faut plus d’info pour réparer complètement le souci c’est quoi ton partitionnement et ta config grub ?

+0 -0

Salut,

J’utilise grub2, contrairement à vos recommandations, car seul GRUB gère complétement le bios (mon Windows n’est pas installé en mode legacy).

Je ne sais pas ce qui t’a mis cette idée dans la tête, mais c’est faux. Tu as essayé en virant GRUB et en utilisant systemd-boot ? Pourquoi faire compliqué quand on peut faire simple ?

+0 -0

j’installe systemd-boot ? et je tente de le reconfigurer? Mais le soucis c’est que je dois "desactiver" grub et j’ai peur de casser mon install linux en plus de mon Windows :(

Systemd-boot est déjà installé, et le configurer consiste en la création d’un fichier de config, comme indiqué sur archwiki. Dans tous les cas, ce sera nettement plus simple que de tenter de comprendre les caprices de GRUB. Tu ne peux rien "casser", gardes toi un live cd pour pouvoir chrooter si besoin au cas où tu fasses une fausse manip.

Par ailleurs, est-ce qu’il y a bien un fichier de démarrage Windows dans le partition EFI ? Normalement, si tu as suivi le wiki lors de l’installation, cette partition est montée en tant que /boot lorsque tu es sous Linux, donc vérifie l’existence de fichiers liés à Windows sur cette partition (chez moi ils sont dans /boot/EFI/Microsoft).

+0 -0

Dans mon /boot, j’ai deux répertoires: arch_grub/ et boot/. Rien n’est en rapport avec windows, il me semble :( .

De plus quand je tente de faire un bootctl update, le bash me renvoie: Using EFI System Parition at /boot. Skipping "/boot/EFI/BOOT/BOOTX64.EFI", since it's owned by another boot loader.

Rien n’est en rapport avec windows, il me semble

Dans ce cas, il est très normal que Windows ne démarre pas. Tu as du les supprimer lors de l’installation d’archlinux, et il faut les recréer. Il y en a une copie dans /PartocheWindows/Windows/Boot/EFI. Place les fichiers de ce répertoire dans /boot/EFI/Microsoft/Boot.

De plus quand je tente de faire un bootctl update, le bash me renvoie: Using EFI System Parition at /boot. Skipping "/boot/EFI/BOOT/BOOTX64.EFI", since it's owned by another boot loader.

GouleFutée

Ce n’est pas bash, c’est bootctl qui te dit ça, et ce sont des fichiers laissés par GRUB, il est normal que bootctl n’y touche pas.

+0 -0

Ok donc j’ai copié mon bootx64.efi venant de windows dans le repertoire que tu m’as indiqué. Mais maintenant, comment changer de service (si tenté que le bootloader soit considéré comme un service) pour passer de grub a systemd-boot? je lance un daemon? Je ne trouve pas comment laisser à systemd-boot la main plutôt que grub.

+0 -0

Ok donc j’ai copié mon bootx64.efi venant de windows dans le repertoire que tu m’as indiqué.

Hein ? bootx64.efi, c’est du Linux, mis là par GRUB. Ce sont les fichiers dans /PartocheWindows/Windows/Boot/EFI qu’il faut copier dans /boot/EFI/Microsoft/Boot.

Mais maintenant, comment changer de service (si tenté que le bootloader soit considéré comme un service) pour passer de grub a systemd-boot? je lance un daemon?

Le bootmanager n’est pas un service, les daemons ne sont lancés qu’après le démarrage du noyau Linux. Un service serait dont bien impuissant pour se charger du démarrage en question. Il faut désinstaller GRUB (j’imagine que pacman -Rns grub suffit), et pour configurer systemd-boot, tout est sur le wiki. En gros, ça se résume à faire ce qui est listé ici, c’est-à-dire

1
# bootctl --path=esp install

et puis le configurer (qui se résume à créer deux petits fichiers de 3 et 4 lignes).

+0 -0

quand je vais dans /mnt/temp(le repertoire de montage de windows)/EFI je me retrouve face a Boot/ et Microsoft/ quand je vais dans Microsoft/ je suis face a Boot/ puis dans Boot/ il y a une grande quantité de fichiers et répertoires (que je suppose être les repertoires de localisation). C’est donc bien ce dossier /boot la que je dois copier?

+0 -0

Ce sont les fichiers dans /PartocheWindows/Windows/Boot/EFI qu’il faut copier dans /boot/EFI/Microsoft/Boot.

adri1

Je sais pas trop comment faire plus clair que ça, dans /mnt/temp/Windows/Boot/EFI, il y a plusieurs fichiers et dossiers (notamment et le plus important bootmgr.efi), qu’il faut copier et mettre dans le répertoire (à créer si besoin) /boot/EFI/Microsoft/Boot/.

+0 -0

Oups, j ai fait exactement ce que je craignais :/ : quand je reboot, j ai 2 possibilités:

  • Soit un bootloader ultra simple qui me propose de lancer le Windows bootloader ou efi défaut loader qui me reboucle sur le Windows bootloader manager. Quand je fais le premier choix, même topo qu au début avec mon Windows qui plante sur le logo.

  • Soit aller dans l’UEFI et boot direct sur le disque contenant linux (j’obtiens un écran avec GRUB écrit en capitale) ou boot depuis l’amorceur GRUB( alors que je l ai désinstallé) et j arrive sur le shell de GRUB rescue.

Quelles sont mes options? Passer par le shell GRUB rescue pour récup mon linux ou faire un chroot pour tenter une réparation? De plus, pourquoi mon Windows plante alors que pourtant le bootloader Windows semble charger correctement ?
P.s: j ai surtout oublié de configurer mon systemd-boot :(

+0 -0

Est-ce que tu as bien configuré systemd-boot en créant les deux petits fichiers comme expliqué dans le wiki ? Tu devrais avoir une entrée arch linux dans le bootloader sur lequel tu tombes au début. Si ce n’est pas le cas, chroot à partir d’un live pour créer ces fichiers.

Les morceaux de GRUB qui te restent doivent venir de fichiers qui sont encore sur l’ESP, ce n’est pas grave.

De plus, pourquoi mon Windows plante alors que pourtant le bootloader Windows semble charger correctement ?

Il manque peut être d’autres fichiers sur l’ESP. Je vais essayer de regarder quand j’aurais un moment.

+0 -0

En chroot avec arch-chroot et en suivant le wiki ( mount / et chroot ) je peux voir tout les répertoires dans / mais lorsque j y navigue, ils sont tous vide ( en tout cas avec ls ), ai-je encore fait une mauvaise manip? En plus lancer un mkinitcpio -p linux sort une erreur disant que l image du kernel n existe pas dans /boot/

+0 -0

J’ai écrit mon fichier de config pour arch et je suis face à une question: quelle PARTUUID attend systemd-boot ? J ai essayé avec celle de mon /dev/sdc la ou est installé mon linux et ainsi qu avec mon /dev/sdc1 la où est situé mon / (de souvenir). Pourtant je ne parviens à pas booter et j obtiens le message d erreur: Root device not found on <PARTUUID> et j arrive sur un shell d’urgence.

Mon file de config arch.conf:

1
2
3
4
title Arch linux
linux /vmlinuz-linux
initrd /initramfs-linux.img 
options root=PARTUUID=<PARTUUID de mon /dev/sdc1> rw

J ai essayé avec celle de mon /dev/sdc la ou est installé mon linux et ainsi qu avec mon /dev/sdc1 la où est situé mon / (de souvenir).

Faudrait être sûr, le bootloader ne demande pas un souvenir, il demande un truc valide. Par ailleurs, ça me parait bizarre que l’ESP soit située après / sur le disque, si je devais deviner, /dev/sdc1 serait /boot et /dev/sdc2 serait /root. Cela dit, avoir l’ESP sur sdc plutôt que sda serait bizarre aussi, tu es sûr que l’ESP n’est pas plutôt sur sda ?

+0 -0

Ouais, j’ai oublié ce detail: enfait j ai trois disques dont 2 SSD :

  • Sda: DD de 1 To de stockage
  • Sdb: SSD de 120 Go avec Windows
  • sdc: SSD de 64 Go avec arch linux

Je ne parviens pas à trouver comment voir les partitions sur le chroot vu que lsbk -l m’indique qu’elles sont umount… Je ne vois pas trop comment faire :(

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