Grub detecte ubuntu mais pas windows 7 !

Résolu
Bonjour,

Grub detecte Ubuntu , mais il ne détecte pas windows 7 , quand je vais sur sur le menu regarder .

http://image.noelshack.com/fichiers/2011/21/1306618007-img_0258-0477f3de31.jpg

Je ne sais vraiment pas quoi faire pour ajouter seven ,

Voila merci

11 réponses

Résumé de la discussion

Le problème est que GRUB détecte Ubuntu mais ne voit pas Windows 7 au menu de démarrage, laissant le système Windows inaccessible après l'installation d'Ubuntu. Plusieurs solutions consistent à lancer os-prober puis update-grub, et, si nécessaire, créer manuellement une entrée Windows dans /etc/grub.d/40_custom suivie d'un update-grub pour que GRUB propose Windows. Si os-prober ne voit pas Windows, il faut vérifier les partitions et le fichier grub.cfg, ou envisager que Windows ait été écrasé lors de l'installation et nécessite réparation ou récupération. En cas d'écrasement, des options existent comme récupérer les données ou réinstaller Windows, mais la priorité reste la sauvegarde des données et la vérification des partitions.

Bobot (l’IA à votre service)
  1. NE JAMAIS MODIFIER LE FICHIER /boot/grub/grub.cfg (c'est un fichier autogénéré par les fichiers présents dans /etc/grub.d donc si vous modifiez le fichier grub.cfg et que vous faites un update-grub après, le nouveau fichier grub.cfg généré aura effacé toutes vos modifications. Il faut donc créer la modification dans un fichier de base de grub).

    Les commandes sont à taper dans un terminal (Applications -> Accessoires -> Terminal).

    1ère méthode :
    sudo os-prober
    sudo update-grub

    Si sudo os-prober n'affiche pas d'entrée de Windows 7, 2ème méthode :

    sudo gedit /etc/grub.d/40_custom
    Tu rentres ton mot de passe

    Tu tombes sur un fichier comme ceci :

    #!/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.
    ### BEGIN /etc/grub.d/30_os-prober ###
    ### END /etc/grub.d/30_os-prober ###

    Et entre ça :
    ### BEGIN /etc/grub.d/30_os-prober ###
    et ça :
    ### END /etc/grub.d/30_os-prober ###

    Tu tapes ceci :

    menuentry "Windows 7" {
    set root=(hd0,3)
    chainloader +1
    }

    Tu auras donc au final ceci :

    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry "Windows 7" {
    set root=(hd0,3)
    chainloader +1
    }
    ### END /etc/grub.d/30_os-prober ###


    Tu enregistres et tu fermes le fichier.
    Tu retournes sur ton terminal et tu tapes :
    sudo update-grub
    Ça n'affichera peut-être pas l'entrée dans le terminal, mais tu auras l'entrée dans le grub en redémarrant.

    J'ai toujours fait comme ça sur mon PC aussi, il ne trouvait jamais mon entrée Windows 7 en faisant sudo os-prober ou même sudo update-grub alors fallait trouver une parade et ça a fonctionné.
    1. la 1ere methode ne marche pas , j'ai pas compris qu'es qui fallait que je tape dans la 2e methode , tu as mis etc donc pourrait tu m'expliquer
    2. euhhh :)
      Bon allez je suis gentil.
      quand je mets sudo gedit /etc/grub.d/40_custom c'est bien la commande qu'il faut marquer (etc n'est pas du tout équivalent au mot latin "Et cetera". /etc est un répertoire comme MesDocuments sous Windows si tu veux.
      Tu tapes donc ça :
      sudo gedit /etc/grub.d/40_custom
      Tu mets ça :
      menuentry "Windows 7" {
      set root=(hd0,3)
      chainloader +1
      }
      Entre ces deux lignes :
      ### BEGIN /etc/grub.d/30_os-prober ###
      ### END /etc/grub.d/30_os-prober ###

      Tu enregistres et tu fermes le fichier.
      Tu tapes ensuite :
      sudo update-grub
      Et normalement ça marche.
    3. Le fichier s'est ouvert.
      Tape ça tout à la fin :
      ### BEGIN /etc/grub.d/30_os-prober ###
      menuentry "Windows 7" {
      set root=(hd0,3)
      chainloader +1
      }
      ### END /etc/grub.d/30_os-prober ###
      Tu enregistres et tu fermes le fichier.
      Tu tapes ensuite :
      sudo update-grub
    4. ok j'ai fait , ensuite ?

      Je ne vois toujours pas windows
  2. Modérateur
    Salut,

    Essaie dans une console
    sudo os-prober
    sudo update-grub
    1. Ca change rien :/
      1. Modérateur
        Pour être sur affiche le résultat de
        sudo os-prober
      2. quand je fais cette commande rien ne se passe , il n'y a rien d'écrit
      3. Modérateur
        Ce n'est pas normal. Il devrait t'afficher au moins Ubuntu
        Chez moi
        lami20j@debian-acer:~$ sudo os-prober
        [sudo] password for lami20j: 
        /dev/sda1:Windows Vista (loader):Windows:chain
        /dev/sda2:Windows Vista (loader):Windows1:chain
        /dev/sda8:Debian GNU/Linux (5.0.4):Debian:linux
    2. J'ai rien -_-

      Par contre en faisiant Fdisk -l j'ai un truc ,

      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 : 0x44193d2a

      Périphérique Amorce Début Fin Blocs Id Système
      /dev/sda1 * 1 1277 10255360 83 Linux
      /dev/sda2 1277 1399 975872 82 Linux swap / Solaris
      /dev/sda3 1580 19452 143556641 7 HPFS/NTFS

      Donc on voit bien ma partition pourtant
      1. Modérateur
        Tu as quel version d'Ubuntu?
      2. La toute derniere , a tous les coup j'ai pas de bol , je vais perdre windows 7 -_- surtout que j'ai casser mon cd :'(
      3. W 7 était installé avant linux ?
        Si c'est le cas, ça ne me semble pas normal qu'il se trouve sur sda3 (il devrait-être sur sda1) C'est plutôt linux qui devrait être sur sda3 s'il a été installé après...
        Tu es bien sûr que tu n'as pas écrasé une partition de seven pendant l'installation de linux ? Regarde ce que tu as sur sda3 pour voir si les fichiers système s'y trouvent ou si c'est simplement des données. Normalement seven a une partition cachée qui contient Winre (le système de récupération) ainsi que les fichiers systèmes de démarrage, or cette partition n'apparaît pas, c'est suspect...
        http://www.forum-seven.com/la-partition-cachee-primaire-installee-par-windows-7-1695
    3. Personne sait m'aider ?
      1. Modérateur
        Re,

        Tu peux essayer ça https://www.commentcamarche.net/faq/15961-super-grub-disk-live-cd
      2. Merci , mais a un moment il faut réinstaller windows , mais je n'ai pas mon cd :( mais je vais essayer
      3. Modérateur
        Si windows est installé alors tu ne vas rien perdre.
      4. cool , merci beaucoup a toi de m'avoir aider , je vais tester ca demain merci :)
      5. Modérateur
        En tous cas s'il y a quelque chose que tu ne comprends pas, pose d'abord la question ici.
        Il y aura d'autres personnes qui pourront intervenir.
    4. Alors, il me semble que un ami a eu le meme probleme. Le truc, c'est que si ton W7 était installé avant que tu installe ton ubuntu, lors de l'installation de celui ci, Grub (le bootloader de ubuntu) à supprimé le bootloader de Windows. Seulement, Grub detecte bien W7. Il faut docn que tu reinstalle W7 en dual boot sur ton pc une fois ubuntu installé.
      1. Pourrais tu nous mettre l'extrait du fichier :
        /boot/grub/grub.cfg

        Vers la fin de ce fichier regarde si il a une section ou l'on parle de Windows
        1. si il n'y pas de section concernant Windows dans ce fichier rajoute cette entrée a la fin de ton fichier :

          menuentry "Windows 7" {
          set root=(hd0,3)
          chainloader +1
          }
        2. voila ce que j'est :

          #
          # DO NOT EDIT THIS FILE
          #
          # It is automatically generated by grub-mkconfig using templates
          # from /etc/grub.d and settings from /etc/default/grub
          #

          ### BEGIN /etc/grub.d/00_header ###
          if [ -s $prefix/grubenv ]; then
          set have_grubenv=true
          load_env
          fi
          set default="0"
          if [ "${prev_saved_entry}" ]; then
          set saved_entry="${prev_saved_entry}"
          save_env saved_entry
          set prev_saved_entry=
          save_env prev_saved_entry
          set boot_once=true
          fi

          function savedefault {
          if [ -z "${boot_once}" ]; then
          saved_entry="${chosen}"
          save_env saved_entry
          fi
          }

          function recordfail {
          set recordfail=1
          if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
          }

          function load_video {
          insmod vbe
          insmod vga
          insmod video_bochs
          insmod video_cirrus
          }

          insmod part_msdos
          insmod ext2
          set root='(/dev/sda,msdos1)'
          search --no-floppy --fs-uuid --set=root 12949d04-b336-43d1-b002-d3839bb03426
          if loadfont /usr/share/grub/unicode.pf2 ; then
          set gfxmode=auto
          load_video
          insmod gfxterm
          fi
          terminal_output gfxterm
          insmod part_msdos
          insmod ext2
          set root='(/dev/sda,msdos1)'
          search --no-floppy --fs-uuid --set=root 12949d04-b336-43d1-b002-d3839bb03426
          set locale_dir=($root)/boot/grub/locale
          set lang=fr_FR
          insmod gettext
          if [ "${recordfail}" = 1 ]; then
          set timeout=-1
          else
          set timeout=10
          fi
          ### END /etc/grub.d/00_header ###

          ### BEGIN /etc/grub.d/05_debian_theme ###
          set menu_color_normal=white/black
          set menu_color_highlight=black/light-gray
          if background_color 44,0,30; then
          clear
          fi
          ### END /etc/grub.d/05_debian_theme ###

          ### BEGIN /etc/grub.d/10_linux ###
          if [ ${recordfail} != 1 ]; then
          if [ -e ${prefix}/gfxblacklist.txt ]; then
          if hwmatch ${prefix}/gfxblacklist.txt 3; then
          if [ ${match} = 0 ]; then
          set linux_gfx_mode=keep
          else
          set linux_gfx_mode=text
          fi
          else
          set linux_gfx_mode=text
          fi
          else
          set linux_gfx_mode=keep
          fi
          else
          set linux_gfx_mode=text
          fi
          export linux_gfx_mode
          if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
          menuentry 'Ubuntu, avec Linux 2.6.38-8-generic' --class ubuntu --class gnu-linux --class gnu --class os {
          recordfail
          set gfxpayload=$linux_gfx_mode
          insmod part_msdos
          insmod ext2
          set root='(/dev/sda,msdos1)'
          search --no-floppy --fs-uuid --set=root 12949d04-b336-43d1-b002-d3839bb03426
          linux /boot/vmlinuz-2.6.38-8-generic root=UUID=12949d04-b336-43d1-b002-d3839bb03426 ro quiet splash vt.handoff=7
          initrd /boot/initrd.img-2.6.38-8-generic
          }
          menuentry 'Ubuntu, avec Linux 2.6.38-8-generic (mode de dépannage)' --class ubuntu --class gnu-linux --class gnu --class os {
          recordfail
          set gfxpayload=$linux_gfx_mode
          insmod part_msdos
          insmod ext2
          set root='(/dev/sda,msdos1)'
          search --no-floppy --fs-uuid --set=root 12949d04-b336-43d1-b002-d3839bb03426
          echo 'Loading Linux 2.6.38-8-generic ...'
          linux /boot/vmlinuz-2.6.38-8-generic root=UUID=12949d04-b336-43d1-b002-d3839bb03426 ro single
          echo 'Loading initial ramdisk ...'
          initrd /boot/initrd.img-2.6.38-8-generic
          }
          ### END /etc/grub.d/10_linux ###

          ### BEGIN /etc/grub.d/20_linux_xen ###
          ### END /etc/grub.d/20_linux_xen ###

          ### BEGIN /etc/grub.d/20_memtest86+ ###
          menuentry "Memory test (memtest86+)" {
          insmod part_msdos
          insmod ext2
          set root='(/dev/sda,msdos1)'
          search --no-floppy --fs-uuid --set=root 12949d04-b336-43d1-b002-d3839bb03426
          linux16 /boot/memtest86+.bin
          }
          menuentry "Memory test (memtest86+, serial console 115200)" {
          insmod part_msdos
          insmod ext2
          set root='(/dev/sda,msdos1)'
          search --no-floppy --fs-uuid --set=root 12949d04-b336-43d1-b002-d3839bb03426
          linux16 /boot/memtest86+.bin console=ttyS0,115200n8
          }
          ### END /etc/grub.d/20_memtest86+ ###

          ### BEGIN /etc/grub.d/30_os-prober ###
          if [ "x${timeout}" != "x-1" ]; then
          if keystatus; then
          if keystatus --shift; then
          set timeout=-1
          else
          set timeout=0
          fi
          else
          if sleep --interruptible 3 ; then
          set timeout=0
          fi
          fi
          fi
          ### END /etc/grub.d/30_os-prober ###

          ### 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.
          ### END /etc/grub.d/40_custom ###

          ### BEGIN /etc/grub.d/41_custom ###
          if [ -f $prefix/custom.cfg ]; then
          source $prefix/custom.cfg;
          fi
          ### END /etc/grub.d/41_custom ###
        3. voilà c'est ce que je pensais ! Aucun menuentry correspondant a windows essaye de rajouter (entre ### BEGIN /etc/grub.d/20_linux_xen ### et ### END /etc/grub.d/20_linux_xen ### ) le texte ci-dessous et dis moi ce qu'il se passe au redémarrage

          Voici ce que tu dois rajouter :

          menuentry "Windows 7" {
          set root=(hd0,3)
          chainloader +1
          }

          de sur une entrée pour windows sera rajoutée, mais pas dit que ca boot sur windows le probleme viendra du set roo=(hd0,3)

          tiens moi o courant, stp
        4. Je up car j'ai mon cd de windows , mais quand je lance il boot sur ubuntu et non sur le cd , j'ai bien regler sur le bios , la preuve j'arrive a lancer le cd d'ubuntu ..

          Le cd est correcte je l'ai tester sur une autre machine alors pourquoi il ne boot pas :( ?
      2. Donc c'est bon j'ai mon cd , il boot , mais le probleme c'est que la reparation ne marche pas :( ..

        Quelqu'un sait m'aider ?