Dual Boot Ubuntu / Windows 7

Bonjour,

J'avais un dual boot sur mon pc windows 7 + ubuntu. Suite à une mise à jour de la dernière version d'Ubuntu, je n'arrive plus à booter sur windows 7. Au démarrage je ne vois plus l'option Windows 7. J'ai installé le gestionnaire d'amorçage Start-Up Manager et pareil dans "système d'exploitation par défaut", je ne vois plus "Windows 7". Pourtant mes partitions windows n'ont pas été effacées. Le dossier windows existe toujours.

Merci par avance de m'aider

6 réponses

  • Votes
  • Date
  • Date décroissante
Résumé de la discussion

Un démarrage Windows 7 a été perdu après une mise à jour d'Ubuntu, les options Windows n'apparaissant plus dans le gestionnaire d’amorçage, alors que les partitions Windows restent présentes. Plusieurs solutions ont été proposées, dont la vérification de la partition active via fdisk -l et l'ajout ou la correction d'une entrée Windows dans grub (30_os-prober ou menu.lst), suivie d'un sudo update-grub. Selon l’environnement grub, il faut soit modifier /etc/grub.d/30_os-prober pour générer une entrée Windows, soit ajuster le fichier /boot/grub/menu.lst en utilisant des commandes comme rootnoverify (hd0,1) et chainloader +1. En cas de grub 1 versus grub 2, les indices hd0,1 correspondent à sda1 et sda2, et la version utilisée détermine le fichier à modifier, ce qui explique les écarts observés.

Bobot (l’IA à votre service)
  1. Salut, le probleme vient surement de grub qui n'affiche pas la partition windows.
    Fait cette commande:
    sudo update-grub
    Normalement tu devrais voir d'afficher en terminal tous les boots possibles (les différentes images de linux installées et les recovery) suivi de:
    Found Windows Recovery Environment (loader) on /dev/sda1
    Found Windows 7 (loader) on /dev/sda2


    Si tu n'a pas ces lignes , il faudrai ajouter à la liste de sélection de boots de grub ta partition windows ; sinon j'en sait rien ^^'

    Je vais faire quelques recherches pour savoir les prochaines manip'.

    sources: http://backslashn.free.fr/index.php/informatique/configurer-grub-sous-ubuntu-11-10
    1. Bonjour à toi,

      J'avais répondu à un sujet similaire ici :
      http://www.commentcamarche.net/forum/affich-20515345-dual-boot-windows7-ubuntu

      Ça va surement t'aider.

      Pour la partie suivante :
      ### BEGIN /etc/grub.d/30_os-prober ###
      menuentry "Windows 7 (loader) (on /dev/sda0)" {
      set root=(hd0,1)
      chainloader +1
      }
      ### END /etc/grub.d/30_os-prober ###

      REMARQUE IMPORTANTE : la notation des partitions a évolué, Grub2 numérote les disques-dur à partir de "0" (zéro) comme Grub1, mais les partitions à partir de "1". Donc (hd0,0) pour Grub1 devient (hd0,1) avec Grub2 (première partition du premier disque-dur).

      Sous Ubuntu pour savoir quelle partition correspond telle ou telle partition (Linux ou Windows), tu fais un sudo fdisk -l ça va te lister toutes tes partitions.

      Bon courage
      1. Autre méthode: graphique avec le logiciel Grub-customizer:
        Ajout du PPA: sudo add-apt-repository ppa:danielrichter2007/grub-customizer

        puis : sudo apt-get update
        Installer le paquet: sudo apt-get install grub-customizer

        Manip pour sauvegarder ta configuration (on n'est jamais trop prudent): sudo cp -Rp /etc/grub.d /etc/grub.d.ori , le répertoire de grub est maintenant enregistrer dans le dossier /etc/grub.d.ori.

        Puis lancer en root: sudo grub-customizer et voir si la partition windows est décochée (ce qui ne devrais pas etre le cas , la commande sudo update-grub ayant du la retrouvée)

        Et ajouter au besoin la partition windows

        PS : Cette manipulation est en tous points identiques à celle de sciencinfo
        1. @john86580 j'ai suivi ta manip.

          Lorsque je fais :
          sudo grub-customizer

          Il trouve dans os-prober : Windows 7 (loader)
          La partition windows est cochée.
          Je redémarre et je n'ai toujours pas l'option Windows 7 pour pouvoir booter sur windows.
          On y est presque ... je le sens :)
          1. @john
            lorsque je fais
            sudo update-grub
            j'obtiens cela :
            Searching for GRUB installation directory ... found: /boot/grub
            Searching for default file ... found: /boot/grub/default
            Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
            Searching for splash image ... none found, skipping ...
            Found kernel: /boot/vmlinuz-2.6.32-35-generic
            Found kernel: /boot/vmlinuz-2.6.31-23-generic
            Found kernel: /boot/vmlinuz-2.6.28-16-generic
            Found kernel: /boot/vmlinuz-2.6.28-15-generic
            Found kernel: /boot/memtest86+.bin
            Updating /boot/grub/menu.lst ... done
            


            et donc pas de Windows 7
            1. Fais ma manip, il faut que tu rajoutes la ligne Windows 7 à la main :

              sudo gedit /etc/grub.d/40_custom
              Puis entre les deux lignes en gras déjà présentes dans le fichier :
              ### BEGIN /etc/grub.d/30_os-prober ###
              menuentry "Windows 7 (loader) (on /dev/sda0)" {
              set root=(hd0,1)
              chainloader +1
              }
              ### END /etc/grub.d/30_os-prober ###
              Tu mets ta partition Windows dans hd0,1 (dans ce cas 1ère partition, si 2, 2ème partition, etc...) ça tu le sais comme je t'ai mis au dessus en faisant un sudo fdisk -l sur ubuntu.
              Tu enregistres le fichier.
              Tu fais un sudo update-grub et normalement tu devrais avoir ton entrée fonctionnelle.
              Remarque : elle ne s'affichera peut-être pas la première fois que tu fera sudo update-grub mais quand tu redémarreras tu auras l'entrée et si ça te mets un genre de "partition not found' c'est que tu t'es gouré dans "hd0,x" il suffira de modifier le chiffre par le bon (toujours en regardant en faisant un sudo fdisk -l
            2. Dans le fichier /etc/grub.d/40_custom j'ai ça
              #!/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.
              Il n'y a pas
              ### BEGIN /etc/grub.d/30_os-prober ### 


              Je rajoute quand même
              menuentry "Windows 7 (loader) (on /dev/sda0)" { 
              set root=(hd0,1) 
              chainloader +1 
              } 
              ?
            3. Par ailleurs je n'ai pas de fichier 30_os-prober mais j'ai 30_os-prober_proxy ...
            4. Oui tout à fait!
              C'est normal que tu n'ais pas de fichier 30_os-prober car quand il n'y a rien, il ne se crée pas.
              Donc à la suite de ### BEGIN /etc/grub.d/30_os-prober ###
              Tu mets :
              menuentry "Windows 7 (loader) (on /dev/sda0)" {
              set root=(hd0,1)
              chainloader +1
              }
              ### END /etc/grub.d/30_os-prober ###

              hd0,1 est peut-être pas ça pour toi!
              Si ta première partition est la Ubuntu et la 2ème Windows il faut mettre hd0,2
              Si ta première partition est la Windows et la 2ème Ubuntu il faut mettre hd0,1
              Mais sudo fdisk -l te l'indique (il met par exemple sda1 ça équivaut à hd0,1 par exemple et ainsi de suite).

              Remarque :
              sda = hd0 / sdb = hd1 (c'est si tu as plusieurs DISQUES DUR par partitions !!!!
              et sda1 = hd0,1 / sda2 = hd0,2 (le chiffre après la virgule correspond aux partitions)
            5. J'ai tappé la commande :
              # sudo fdisk -l

              J'obtiens
              Disque /dev/sda: 160.0 Go, 160041885696 octets
              255 têtes, 63 secteurs/piste, 19457 cylindres
              Unités = cylindres de 16065 * 512 = 8225280 octets
              Sector size (logical/physical): 512 bytes / 512 bytes
              I/O size (minimum/optimal): 512 bytes / 512 bytes
              Identifiant de disque : 0x2cd24858
              
              Périphérique Amorce  Début        Fin      Blocs     Id  Système
              /dev/sda1               1        1316    10563584   27  Inconnu
              /dev/sda2   *        1316       11716    83537505    7  HPFS/NTFS
              /dev/sda3           11717       14357    21213832+   5  Etendue
              /dev/sda4           14358       19458    40966144    7  HPFS/NTFS
              /dev/sda5           11717       14242    20290063+  83  Linux
              /dev/sda6           14243       14357      923706   82  Linux swap / Solaris
              


              Est-ce qu'il faut tapper cela dans le fichier /etc/grub.d/40_custom
               ### BEGIN /etc/grub.d/30_os-prober ### 
              menuentry "Windows 7 (loader) (on /dev/sda2)" { 
              set root=(hd0,3) 
              chainloader +1 
              } 
              ### END /etc/grub.d/30_os-prober ### 
          2. Vérifier la version de Grub

            Tu fais un
            #sudo gedit /boot/grub/menu.lst

            Si le fichier s'ouvre et qu'il y a des choses dedans c'est que tu as grub1
            Sinon c'est grub2

            Si c'est grub1

            Faire un
            # sudo fdisk -l

            Vous obtenez quelque chose comme ça :
            Périphérique Amorce  Début        Fin      Blocs     Id  Système
            /dev/sda1               1        1316    10563584   27  Inconnu
            /dev/sda2   *        1316       11716    83537505    7  HPFS/NTFS
            /dev/sda3           11717       14357    21213832+   5  Etendue
            /dev/sda4           14358       19458    40966144    7  HPFS/NTFS
            /dev/sda5           11717       14242    20290063+  83  Linux
            /dev/sda6           14243       14357      923706   82  Linux swap / Solaris


            Puis modifier le fichier menu/lst avec cette commande : #sudo gedit /boot/grub/menu.lst

            A la fin du fichier vous obtenez quelque chose comme ça :
            # This is a divider, added to separate the menu items below from the Debian
            # ones.
            #title		Other operating systems:
            #root
            
            
            # This entry automatically added by the Debian installer for a non-linux OS
            # on /dev/sda1
            #title		Windows Vista/Longhorn (loader)
            #root		(hd0,0)
            #savedefault
            #makeactive
            #chainloader	+1


            Ajoutez ce code à la fin
            title Windows 7 
            rootnoverify (hd0,1) 
            makeactive 
            chainloader +1


            Si c'est grub2

            Faire ça :
            http://www.commentcamarche.net/forum/affich-20515345-dual-boot-windows7-ubuntu.
            1. Un grand merci à sciencinfo
            2. Mais de rien
              Il est sur grub1 avec ubuntu 10.04.3 LTS c'est ça qui pause des soucis car normalement il devrait être sous grub2.
              Perso j'aurais réinstaller grub2 mais bon on doit s'en sortir avec ce que j'avais mis.
              Tu redémarres ta machine et quand grub apparait, tu appuies sur la flèche du bas pour que le temps par défaut s'arrête et tu comptes le nombre d'entrée que tu as!
              Logiquement tu devrais avoir 10 entrées et vu que le Default dans /boot/grub/menu.lst démarre à partir de 0, si tu mets 9, il doit démarre sur Windows 7 par défaut d'après ton fichier.