Windows7 n'apparait plus dans GRUB apres installation Debian

Bonjour à tous,

Voila je viens d'installer Debian sur un ordinateur qui possédait deja Windows 7 sur un autre disque dur et celui-ci n'apparait plus dans GRUB je n'ai que Debian.
J'ai installé le paquet os-prober et j'ai bien fait update-grub.
Comment régler le problème s'il vous plait?

Voici ce que me donne fdisk -l:
Disk /dev/sda: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders, total 156250000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x48000000

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 156246015 78121984 7 HPFS/NTFS/exFAT

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00053348

Device Boot Start End Blocks Id System
/dev/sdb1 2048 19531775 9764864 82 Linux swap / Solaris
/dev/sdb2 332146688 488396799 78125056 83 Linux
/dev/sdb3 19531776 332146687 156307456 7 HPFS/NTFS/exFAT

Partition table entries are not in disk order

Disk /dev/sdc: 3994 MB, 3994025984 bytes
47 heads, 46 sectors/track, 3608 cylinders, total 7800832 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6b9d1a3c

Device Boot Start End Blocks Id System
/dev/sdc1 * 880 7800831 3899976 6 FAT16


Merci d'avance

13 réponses

Résumé de la discussion

Le problème est que Debian installé sur un disque ne détecte plus Windows 7 installé sur un autre disque, malgré l’installation d’os-prober et l’exécution de update-grub. Selon la meilleure approche, Windows serait encore présent sur /dev/sda1 et mérite d’être monté temporairement en root pour vérifier sa présence avant de relancer update-grub. La procédure proposée consiste alors à créer un point de montage, monter /dev/sda1, puis lancer update-grub afin que le chargeur répertorie à nouveau Windows et rétablisse le dual-boot. En cas de persistance, vérifier que le disque de Windows est bien reconnu par le BIOS ou le gestionnaire de démarrage, et confirmer que l’ordre de démarrage privilégie le disque correct.

Bobot (l’IA à votre service)
  1. Modérateur
    Vu le partitionnement, ton windows semble être sur /dev/sda1, est-ce qu'il est toujours présent ?

    En root :

     mkdir /mnt/sda1
    mount /dev/sda1 /mnt/sda1
    ls /mnt/sda1


    Et que renvoie :

    update-grub


    Bonne chance
    0
    1. merci pour ta réponse.

      Oui Windows est sur sda1.

      La première manip donne:
      Documents and Settings ProgramData $Recycle.Bin
      hiberfil.sys Program Files System Volume Information
      pagefile.sys Program Files (x86) Users
      PerfLogs Recovery Windows


      update-grub
      renvoie:
      Generating grub.cfg ...
      Found background image: /usr/share/images/desktop-base/desktop-grub.png
      Found linux image: /boot/vmlinuz-3.2.0-4-amd64
      Found initrd image: /boot/initrd.img-3.2.0-4-amd64
      Found memtest86+ image: /boot/memtest86+.bin
      Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
      done
      0
      1. Modérateur
        Bizarre, chez moi ça marche...

        C'est quelle version de grub, peut-être que c'est un bug ? Chez moi :

        (mando@silk) (~) $ dpkg -l | grep grub | awk '{print $1, " ", $3, " ", $2}'
        ii   1.99-27+deb7u2   grub-common
        ii   1.99-27+deb7u2   grub-pc
        ii   1.99-27+deb7u2   grub-pc-bin
        ii   1.99-27+deb7u2   grub2
        ii   1.99-27+deb7u2   grub2-common


        Ici, ils disent que si un répertoire "boot" est apparu sur ta partition windows, ça peut expliquer le problème, mais j'ai l'impression que chez toi tout est ok... De plus le fait que tu arrives à monter la partition windows laisse penser que la ntfs est correctement supportée par ton système... J'avoue que je ne vois pas trop.
        https://askubuntu.com/questions/22698/update-grub2-not-finding-windows7-partition

        Est-ce que ça a déjà marché correctement par le passé ?
        0
        1. C'est la première fois que j'installe Debian et Windows 7 sur ce PC donc je ne sais pas. Que dois je faire alors 'il te plait?

          Merci
          0
          1. Bjr

            Et que renvoie
            os-prober
            ? (c'est en principe lui qui détecte le système Ws)? Je ne suis pas spécialiste debian, mais si c'est comme dans Mint (ou ubuntu), tu dois trouver un fichier 30_os-prober exécutable dans /etc/grub.d

            Autre possibilité (j'ai déjà contourné les problèmes comme ça), tu édites en root le fichier 40_custom

            Tu ajoutes les entrées

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

            Tu le rends exécutable si ce n'est pas déjà le cas (pas sûr qu'il le soit)
            chmod +x 40_custom

            un petit

            update-grub (attention les nouvelles entrées n'apparaîtront pas, si je me souviens bien... il faut essayer au redémarrage)

            (PS. Ton disque sda semble être placé en premier, donc j'ai choisi hd0. Si ça ne fonctionne pas, tente hd1 à la place)

            Pas mal d'explications ici, à adapter à debian, bien sûr
            http://doc.ubuntu-fr.org/grub-pc
            0
          2. Modérateur
            Que dois je faire alors s'il te plait?

            Peux lancer un terminal et me donner le résultat de ces commandes :

            cat /etc/apt/sources.list
            dpkg -l | grep grub | awk '{print $1, " ", $3, " ", $2}'

            Bonne chance
            0
        2. Merci pour vos réponses.

          Je commence à voir le bout du tunnel je pense. Donc j'ai utilisé ta technique ikewdu et maintenant je vois bien Windows 7 dans Grub, mais il me dit BootMGR absent
          Sinon
          os-prober
          ne m'affiche rien.

          Sinon mamiemando
          cat /etc/apt/sources.list
          donne:
          # 
          # deb cdrom:[Debian GNU/Linux 7.1.0 _Wheezy_ - Official Multi-architecture amd64/i386 NETINST #1 20130615-23:44]/ wheezy main

          #deb cdrom:[Debian GNU/Linux 7.1.0 _Wheezy_ - Official Multi-architecture amd64/i386 NETINST #1 20130615-23:44]/ wheezy main

          deb http://ftp.fr.debian.org/debian/ wheezy main
          deb-src http://ftp.fr.debian.org/debian/ wheezy main

          deb https://www.debian.org/security/ wheezy/updates main
          deb-src https://www.debian.org/security/ wheezy/updates main

          # wheezy-updates, previously known as 'volatile'
          deb http://ftp.fr.debian.org/debian/ wheezy-updates main


          et
          dpkg -l | grep grub | awk '{print $1, " ", $3, " ", $2}'
          donne:

          ii 1.99-27+deb7u2 grub-common
          ii 1.99-27+deb7u2 grub-pc
          ii 1.99-27+deb7u2 grub-pc-bin
          ii 1.99-27+deb7u2 grub2-common

          0
          1. Salut,

            Si tu as un bootmgr absent, c'est que ton grub fonctionne (mais il est possible que tu l'aies fait pointer vers une mauvaise partition (j'avais proposé hd0,1, en m'appuyant sur le fdisk initial).

            dev/sda1 * 2048 156246015 78121984 7 HPFS/NTFS/exFAT

            D'après ce que je vois, ce disque n'a qu'une seule partition, et elle est bootable, ce qui est indiqué par l'étoile. Donc, théoriquement, mon choix était approprié.

            Le message est typiquement un message "Windows". As-tu essayé de le redémarrer tout seul, après avoir débranché le disque ubuntu. Deux options:

            - Il ne fonctionne pas et donc ton W7 a un problème.
            - Il fonctionne et donc, nous faisons pointer grub au mauvais endroit.
            0
        3. Bonjour,

          Merci pour ta réponse.

          Alors je ne pourrai faire ces tests que dans 2 jours (n'ayant pas accés au PC qui pose problème pendant 2 jours) mais j'ai une question, si je réinstalle Windows 7 tout simplement ca va régler le problème? Et après la réinstallation de W7, Debian apparaîtra toujours dans GRUB? Sinon devrais-je réinstaller GRUB?

          Merci d'avance
          0
          1. Fais déjà l'essai de W7 tout seul (pour voir s'il fonctionne)... on verra ensuite comment régler les choses le plus simplement possible. La logique serait que:

            Le disque Debian devienne le disque 0 (en tête dans le bios)
            Le disque W7 devienne le disque 1 (en second)

            Grub devrait alors booter, lancer debian correctement, et ne pas lancer W7... on modifiera le fichier 40_custom pour l'adapter à cette situation plus logique que celle que tu as actuellement.
            0
        4. Bonjour,

          Donc j'ai fait les test que tu m'as demandé et franchement je ne comprends pas les résultats.

          Alors lorsque je débranche le disque dur qui correspond à Debian au démarrage de l'ordinateur, Grub ne se lance pas du tout et j'ai ce message d'erreur:
          Reboot and Select proper Boot device or insert Boot Media in selected Boot device and press a key

          Lorsque je débranche le disque correspondant à Windows 7, Grub se lance mais il m'affiche se message d'erreur, avec le mode grub-rescue:
          Grub: error no such device: fcbf-2985-512e-43a7-9a9d-481c8a69dc45

          Personnellement je n'ai pas compris ce que ca signifie par rapport à mon problème. Avez vous une idée svp?

          Merci d'avance
          0
          1. Re,

            Le premier message n'est pas normal. Il suggère que ton disque W7 n'est pas bootable, ce qui était un peu prévisible au vu du message d'erreur "bootmgr manquant".

            Le second est plus "acceptable". On fait chercher à grub un disque qui a été débranché, ce qui explique qu'il râle un peu, ne le trouvant pas... Donc, pour l'instant, c'est sans gravité.

            ***********************************
            En revanche, il faut voir d'où vient le problème sur le premier disque. Le mieux est de le traiter seul, indépendamment de l'autre.

            On a besoin pour ça de la console de réparation W7 ou du DVD d'installation . As-tu ça sous la main ?
            0
          2. Oui j'ai le cd d'installation de W7 sous la main. Je dois faire quoi stp?
            0
          3. Re,

            Laisse le debian débranché...
            Tu démarres sur le DVD W7, tu choisis "réparer l'ordinateur" et non installer. Tu vas jusqu'à l'invite de commandes, et tu tapes

            diskpart
            select disk 0
            list disk
            list volume
            list partition
            exit

            Tu fais une photo de tout ça et tu mets l'image sur www.cjoint.com
            0
        5. 0
          1. Tu parles que ça ne fonctionne pas... il n'y a aucun fichier dans la partition... moi, j'ai tout ça en plus (et je ne parle même pas du bootloader sur une partition séparée).

            autoexec.bat
            bcdedit.old.LOG
            bcdedit.old.LOG1
            bcdedit.old.LOG2
            bcdedit.older
            config.sys
            hiberfil.sys
            IO.SYS
            MSDOS.SYS
            pagefile.sys

            Tente tout de même une réparation avec l'option 1 de la console

            http://www.forum-vista.net/imgupl/010709/12-outilrecuperat.png

            Si c'est accepté, tente de redémarrer au cas où.

            puis,

            bootrec /fixmbr
            bootrec /fixboot
            bootrec /rebuildbcd (pour réparer le démarrage)

            Puis carrément

            sfc /scannow

            Enfin, tu refais l'option 1.

            On verra bien ce que ça raconte ensuite.
            0
          2. Bonjour lorsque je chosis l'option 1, il me dit: "L'outil de demarage systeme ne peut pas reparer automatiquement l'ordinateur".

            Je réinstalle W7?
            0
          3. Essaie les autres commandes d'abord... et refais un essai

            Et comme le dossier users est présent, tes données sont récupérables depuis Debian. Ce sera l'occasion de faire 2 choses.

            - copier les données présentes dans users
            - afficher le contenu de sda avec gparted... on verra ce qui aura été fait (ou non) par la réparation.
            0
        6. Tes manipulations ont très bien marché :D! Windows 7 remarche.
          Par contre en branchant le DD de Debian il n'y a plus GRUB mais W7 directement. Que dois-je faire stp?

          Merci beaucoup

          PS: je n'aurai plus accès à ce PC pendant quelques jours, donc ne vous etonnez pas si je ne reponds pas tout de suite à la manipulation que vous allez me demander de faire.
          0
          1. Bon, c'est déjà ça... Il est normal que ça démarre sur le disque 0 avant le disque 1.
            Il faut maintenant qu'on s'occupe de l'autre disque. Lorsque tu as débranché W7, Debian pouvait-il être lancé malgré le (second) message d'erreur que tu as signalé ?
            0
          2. Maintenant c'est le Disque de Debian qui m'affiche ce message lorsque je débranche celui de W7:
            Reboot and Select proper Boot device or insert Boot Media in selected Boot device and press a key
            0
          3. Laisse ton W7 débranché pour l'instant, et tu démarres sur le live-cd debian. Si gparted est proposé dessus, tu me fais une capture d'écran, ou sinon, tu fais un
            fdisk -l
            et aussi un
            blkid
            .

            On va traiter les deux disques à part... histoire de ne pas s'emmêler les pédales (j'ai comme l'impression que ton grub s'est installé à cheval sur les deux disques, et idem pour les partitions Windows... la partition sdb3 me semble "suspecte".
            0
        7. Bonsoir,

          Windows 7 ne marchait plus du tout donc je l'ai complétement réinstallé.
          Comment dois je faire pour remettre GRUB et avoir accès à Debian stp?

          Merci
          0
          1. Alors j'ai reussi à réinstaller Grub grâce à Boot Repair sur le live CD Ubuntu.
            Mais maintenant j'ai plusieurs Windows 7 qui apparaissent dans GRUB.
            En effet j'ai:
            Windows 7(loader /dev/sda1)
            Windows 7(loader /dev/sdb2)

            Pourquoi j'ai 2 boots pour Windows 7 sur des partitions et disques différents?
            De plus j'ai pas mal de memory test (memtest86+), comment je peux les enlever stp?
            Sinon par contre à chaque fois que je lance Windows 7 il me demande de lancer l'outil de redémarrage systeme ou de demander Windows normalement comme s'il voyait qu'il y a un problème. Je n'ose pas lancer l'outil de redémarrage système de peur d'écraser encore GRUB.

            Merci d'avance
            0
          2. Salut,

            Tu ne m'as pas écouté lorsque je t'ai dit qu'il faut traiter un disque après l'autre. A vue de nez, il semble que tu aies

            - Une partition de démarrage W7 sur la première partition d'un disque (sda1). Mais il s'agit peut-être simplement de l'entrée 40-custom qu'on a rajoutée qui se "manifeste".
            - Une partition de démarrage W7 sur la seconde partition de l'autre disque (sdb2)
            - Grub qui se trouve soit su l'un, soit sur l'autre.

            Bref, il faudrait tout recommencer depuis le début... Faire le point sur les partitions de chaque disque, Trouver où se trouve placé grub, et enfin (à la fin, virer les "memory test")... mais je n'en ai plus l'envie.

            Commence par faire sous debian

            chmod -x 40_custom 
            update-grub

            Refais un démarrage et dis-moi ce que grub raconte.
            0
          3. Honnetement j'en ai marre de faire toutes ces manips en plus c'est un PC dont je n'ai jamais accés directement. Dans ce cas là je vais tout réinstallé, c'est pourquoi peux tu me dire comment je dois procéder, dans quel ordre et quel disque dur doit être débranché pour que je réinstalle mes deux OS et que j'ai GRUB qui marche niquel et qui me donne accés à mes 2 OS stp?

            Merci
            0
          4. Essaie déjà la commande proposée plus haut, ça peut être suffisant.
            0
          5. Je l'avais déja faite à vrai dire, parce qu'au début j'avais 3 Windows 7 dans Grub (le 3eme étant celui qu'on avait ajouté dans 40_custom) je l'ai enlevé et j'ai fait cette manip. Ensuite il me restait les 2 autres et c'est là que j'ai posté mon message de 13:09.
            0
        8. Bonjour,

          Ou est la partition de démarage lorsque j'aurai installée Windwos 7?
          Elle se créée toute seule lors de l'installation?

          Merci
          0
          1. Oui.
            0
        9. Bonjour,

          En fait j'ai pu régler le problème sans tout réinstaller. Je me suis rendu compte que pour booter, Windows devait créé un repertoire boot dans un disque dur (ce qui correspond surement à la fameuse partition boot de Windows, je me trompe?).
          Comme j'avais 2 loaders pour W7, un sur /dev/sda1 et un sur /dev/sdb2, j'ai supprimé le dossier boot qui était sur /dev/sdb2 et je n'avais plus qu'un seul loader dans Grub pour Windows 7.
          Donc pour récapituler, pour réparer tout ca j'ai utiliser Boot-repair en live et j'ai supprimer le loader de trop puis un petit update-grub.

          Sinon sur un autre PC en installant les 2 OS comme tu me l'as décrit au dessus, en faisant pointer moi même grub vers Windows 7 au démarage comme cela:

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

          Ca n'a pas du tout marché, il me mettait "error" lorsque je démarrais Windows 7 sous Grub alors qu'il était bien installé sur /dev/sdb.

          Comment cela se fait-il?

          Merci
          0
          1. Re,

            Il faudrait une capture d'écran des deux DD pour te répondre de manière plus sûre.
            0