Gros probleme avec grub

Résolu
Salut à tous. Je suis nouveau sur ce forum, et aussi novice. Voila mon problème.
Suite à une mauvaise manipulation, j'ai du réinstaller Windows xp. Ensuite j'ai installé Ubuntu, avec un multiboot, puis réinstallé windows. J'avais perdu le multiboot au démarrage. Pour résoudre le problème j'ai démarré sur le cd Ubuntu et tapé la commande pour réinstaller Grub.
En apparence tout marchait, j'ai pu choisir Ubuntu au démarrage, mais lorsque je lance Windows, ca ne marche pas. Il me dit qu'il y a une erreur.
J'espere que vous pourrez m'aider, je suis dans un sacré pétrain AU SECOURS !!!!
Merci beaucoup
Alex-9094
Configuration: Linux
Firefox 2.0.0.11

39 réponses

Résumé de la discussion

Dans un système en multiboot avec Windows XP et Ubuntu, la réinstallation de Windows puis la réinstallation de grub ont mené à un démarrage problématique de Windows malgré l’accès à Ubuntu. Les éléments de réponse essentiels passent par la vérification de la partition Windows et du root dans grub, puis la modification du fichier grub pour lancer Windows via chainloader et l'ajustement du boot flag. D'autres conseils recommandent d'éditer menu.lst, ou d'utiliser fdisk pour basculer le flag boot sur la partition Windows (par exemple sda2), puis de réécrire la table et redémarrer. Une étape pratique montre que créer le répertoire de montage et monter la partition Windows peut être nécessaire lorsque l'on travaille en chroot.

Bobot (l’IA à votre service)
  1. Merci à vous pour tous vos petits problème de boot, ceci ma permis de régler et surtout de comprend le mieu ! lors d'une mise a jour de ubuntu 8.4, ce malin a changer l'ordre des partitions et également supprimer tout se qui n'était pas du linux dans le menu.lst lol ! La solution un bon fdisk - l en root vous compter ou se trouve votre partition vista et vous la rajouté gentillement dans votre menu.lst ! j'espère que je pourrais aider les autres a qui sa pourrais très surment arrivé ! merci encore a vous

    Linux c'est Beau
    Windows C'est mal mais c'est internationnal !
    1. quand je vais dans 'bureau', a gauche il y a les differentes partitions. j en reconnait 3 ;
      la partition windows
      celle de linux
      et la grosse qui reste c est a dire sda4/sda5

      il en reste donc 2 ;
      / , avec des fichiers linux
      /media, avec des fichiers windows. Dedans il y a des dossiers comme RECYCLER, Systeme volume information.

      Sinon j ai tape ca mais je ne suis pas sur que ce soit juste;
      ubuntu@ubuntu:~$ ls sda1
      ls: sda1: No such file or directory
      ubuntu@ubuntu:~$ ls /sda1
      ls: /sda1: No such file or directory
      1. Modérateur
        Essaie de voir dans un premier temps depuis le LiveCD s'il y a quelque chose sur "sda1" (à mon avis non).

        Ensuite à partir de "fdsik" (comme tu l'avais fait plus haut pour remettre le flag de boot) essaie de repasser cette partition en tant que "swap" et dans la foulée de réinstaller "grub"...
        1. ca donne ca

          Disk /dev/sda: 250.0 GB, 250059350016 bytes
          255 heads, 63 sectors/track, 30401 cylinders
          Units = cylinders of 16065 * 512 = 8225280 bytes
          Disk identifier: 0xbe08d558

          Device Boot Start End Blocks Id System
          /dev/sda1 * 1 116 931738+ 7 HPFS/NTFS
          /dev/sda2 117 8880 70396798+ 7 HPFS/NTFS
          /dev/sda3 8881 15776 55392120 83 Linux
          /dev/sda4 15777 30401 117475312+ f W95 Ext'd (LBA)
          /dev/sda5 15777 30401 117475281 b W95 FAT32

          je suppose que tu avais raison, que la swap est alteree car elle est en NTFS...
          1. je ne pense pas, enfin je n y ait pas touche lors de la reinstallation. sinon comment savoir ca ?
            Merci
            Je reviens dans 30 min.
            1. Modérateur
              Ben à partir d'un LiveCD et la commande "/sbin/fdisk -l" (ou sudo /sbin/fdisk -l).
          2. Modérateur
            Salut,

            La commande serait plutôt :
            grub-install /dev/sda
            mais il faudrait auparavant savoir si la table des partitions n'a pas été altérée par la réinstallation de Windows, je pense notamment à la partition de swap qui était en 1er...
            1. Merci
              Il me dit qu il est 'already mounted or busy'
              ensuite quand je tape 'chroot /mnt/sda3 /bin/bash' je n ai rien en retour.
              Ensuite je met ' grub-install /dev/hda --root-directory=/mnt/hdaX --recheck ' et ca me fait 'mkdir: cannot create directory `/mnt/hdaX/boot': No such file or directory'
              1. Modérateur
                Salut,

                un point de montage c'est un répertoire, donc il faut le créer avant de faire mount
                mkdir /mnt/sda3 && mount /dev/sda3 /mnt/sda3
                1. Quand je tape aussi ' mount /dev/sda3 /mnt/sda3 ' en root
                  il me met 'mount: mount point /mnt/sda3 does not exist'
                  1. Salut Jipicy,
                    j ai vu ds d autres sujets que tu es tres rapide et surtout efficace, donc je te re-demande de l aide.
                    J a eu un probleme avec windows et j ai du le reinstaller. Comme prevu je n ai plus grub mais je n arrive pas a le reinstaller. J ai fait le tour de pas mal de forums et essayer quelques trucs.
                    Quand je tape grub-install /dev/sda3 ca me fait Could not find device for /boot: Not found or not a block device.
                    j ai essaye d autres commandes mais rien ne marche.
                    Merci
                    Alex-9094
                    1. Modérateur
                      De rien, mais faut pas exagérer non plus, génie loin de là (ou alors sans bouillir ;-)) ), mais passionné c'est sûr ;-))
                      1. T'es un génieeeeeeeeeeeeeeeeeeeeeeeeeeee
                        J'ai entré "w" une 2e fois, puis redémarré. Ca marche, je peu choisir entre mes 2 OS !!!!
                        Merci beaucoup de ton aide, et d'avoir consacré du temps à mon problème.
                        A+
                        Alex-9094
                        1. A la fin, lorsque je demande de réecrire la table des partitions, il me dit qu'elle est altérée.

                          Commande (m pour l'aide): w
                          La table de partitions a été altérée!

                          Appel de ioctl() pour relire la table de partitions.

                          AVERTISSEMENT: la re-lecture de la table de partitions a échoué avec l'erreur 16: Périphérique ou ressource occupé.
                          Le kernel va continuer d'utiliser l'ancienne table.
                          La nouvelle table sera utilisé lors du prochain réamorçage.
                          Synchronisation des disques.

                          je ne sais pas si ca va fonctionner, donc je reboot quand même ou pas ?
                          Sinon pour changer le flag il n'y a pas Gparted ? peut etre que ca peut marcher
                          1. Modérateur
                            Oui, avec la commande :
                            sudo fdisk /dev/sda
                            qui lances le programme "fdisk" avec lequel tu vas pouvoir éditer la table des partitions.

                            Une fois lancer, tapes "m" puis "Entrée" pour afficher l'aide.

                            Tapes "p" pour afficher la table des partitions, qui t'affichera la même chose que la commande tapée plus haut, à savoir :
                             Disque /dev/sda: 250.0 Go, 250059350016 octets
                            255 heads, 63 sectors/track, 30401 cylinders
                            Units = cylindres of 16065 * 512 = 8225280 bytes
                            Disk identifier: 0xbe08d558
                            
                            Périphérique Amorce Début Fin Blocs Id Système
                            /dev/sda1 * 1 116 931738+ 82 Linux swap / Solaris
                            /dev/sda2 117 8880 70396798+ 7 HPFS/NTFS
                            /dev/sda3 8881 15776 55392120 83 Linux
                            /dev/sda4 15777 30401 117475312+ f W95 Etendu (LBA)
                            /dev/sda5 15777 30401 117475281 b W95 FAT32
                            Il faut donc basculer le "flag" de boot sur la partition Windows.

                            Tapes "a", qui va te demander d'entrer le numéro de la partition.
                            Tapes "2"
                            Puis tu tapes "w" pour récrire la table des partitions et quitter le programme.

                            Puis reboot et prière ;-))
                            1. Ca y est c'est fait.
                              Excuse moi je suis un peu lent à comprendre mais je viens de commencer. Il y a des trucs qui me parlent pas trop pour l'instant.
                              Ensuite tu as parlé de table de partition ?
                              Alex-9094
                              1. Modérateur
                                Dans le fichier "/boot/grub/menu.lst" il suffit juste de modifier (hd0,0) par (hd0,1) dans l'entrée concernant Windows :
                                title Windows XP Media Center Edition
                                root (hd0,1)
                                avec un éditeur comme gedit par exemple :
                                sudo gedit /boot/grub/menu.lst
                                1. A ok je comprend, enfin je crois.
                                  Mais quand tu dis modifier le fichier grub, ca veut dire que je tappe ce que tu m'as mis ou c'est autre chose ?
                                  Sinon je me le sens c'est bon
                                  Alex-9094
                                  1. Modérateur
                                    Ok, modifies ton fichier grub comme suit, la partie en "gras"(enfin la partie concernant Windows) :
                                    title Windows XP Media Center Edition
                                    root (hd0,1)
                                    savedefault
                                    makeactive
                                    chainloader +1
                                    boot 
                                    Par contre il va te falloir éditer ta table des partitions et modifier le "flag" qui définit la partition "boutable"...
                                    Actuellement c'est la partition de "swap" (sda1) qui a le flag de boot et il faudrait le passer sur la partition d'XP (sda2).

                                    Tu te le sens ?
                                    • 1
                                    • 2