Avec l’arrivée des bêtas de Windows 7, je me suis rendu compte que quelque chose n’allait pas dans la configuration du gestionnaire d’amorçage de Windows puisque je n’arrivais plus à lancer GRUB à partir de celui-ci. A la place, j’obtenais un message d’erreur indiquant que le fichier contenant l’image de mon secteur d’amorçage n’avait pas été trouvé. J’ai enfin corrigé mon erreur et cette fois-ci, je vous donne la méthode qui fonctionne pour charger GRUB ou LILO à partir du gestionnaire de démarrage de Windows 7 ou Vista.
Dans ce billet, nous supposerons que vous avez déjà l’image du secteur d’amorçage de votre partition Linux et qu’il se nomme BOOTSECT.LIN. Vous n’avez qu’à suivre les instructions ci-dessous, en sachant qu’en réponse à chaque commande entrée, le programme doit vous indiquer que l’opération a réussi.
- Ouvrez l’invite de commandes avec les droits administrateur
- Créez une entrée vierge sans omettre le nom qui apparaîtra au démarrage en tapant :
où
bcdedit /create /d "[description]" /application BOOTSECTOR[description]correspond au nom à donner à l’entrée. Par exemple :bcdedit /create /d "Linux" /application BOOTSECTOR. Le programme doit indiquer que l’opération a réussi et donner l’ID de l’entrée créée. Gardez bien cet ID, il va servir pour la suite. Notons-le « {ID} ». - Tapez ensuite
bcdedit /set {ID} device partition=X:où X: est le lecteur contenant le fichier (C:,D:…) pour préciser sur quel disque se trouve le fichier image de votre secteur d’amorçage. - Ensuite, tapez
bcdedit /set {ID} path [chemin-vers-le-fichier-image]\BOOTSECT.LINoù[chemin-vers-le-fichier-image]est le chemin vers votre fichier image. Par exemplebcdedit /set {ID} path \BOOTSECT.LIN. - Pour ajouter l’entrée au menu de démarrage, tapez
bcdedit /displayorder {ID} /addlast. - Pour gérer le temps avant le choix par défaut, tapez
bcdedit /timeout [delai]où [delai] correspond au temps en secondes.
Voilà, l’opération est terminée. Si vous souhaitez vérifier que tout est en ordre, tapez simplement bcdedit /enum pour afficher toutes les entrées du catalogue. Vous devriez y trouver la vôtre. L’entrée apparaîtra alors au prochain démarrage.
Navigation
- « Billet précédent : Blog Windows 7 sur CNETFrance – Semaine 40 : Paint.NET et les rubans
- » Billet suivant : Blog Windows 7 sur CNETFrance – Semaine 41 : la nouvelle barre des tâches et Windows 8
Commentaires ( 13 Commentaires )
Eh oui ça marche. Mais pourquoi faire simple quand on peut faire compliquer. Surtout quand on a l’esprit tordu.
J’ai fait plus compliquer et là ça ne marche plus. Enfin depuis que j’ai installé Mandriva 2010. J’ai 2 disque durs en SATA. Les 2 disques sont amorçables, le choix du disque de démarrage peut se faire au niveau du BIOS. J’ai installé Mandriva (lanceur Lilo) sur le disque 0 avec un XP. Ai fait une image du secteur de démarrage Mandriva avec Bootpart. Ai modifié le fichier boot.ini en conséquence. Quand je démarre sur le disque 0, j’ai bien accès à Windows ou à Mandriva. Ça marche. Sur le disque 1, j’ai Vista et XP. j’ai donc un là aussi un fichier boot.ini, que j’ai adapté pour démarrer les XP des disques 0 et 1 : pas de problème, ça marche. Par contre, j’ai voulu lancer aussi Mandriva depuis le disque 1 en écrivant la ligne de commande sur le fichier boot.ini du disque 1 et en copiant une image du secteur de boot de Mandriva du disque 0 sur la partition de démarrage du disque 1. Et là, Mandriva ne veut plus démarrer. Je ne comprends plus où se trouve le problème, d’autant plus qu’avant l’installation de Mandriva 2010 j’avais Mandriva 2007 (lanceur LILO), et ça marchait. Je n’arrive pas à voir d’où vient le problème.
Ca n’a rien à voir avec le billet, mais pour répondre à ta question, j’aimerais d’avoir savoir pourquoi tu copies ton fichier image sur cet autre disque.
Merci de ta réponse. J’ai été trop vite je n’avais pas vu que j’étais hors sujet. Mais pour te donner l’info demandée je dirais que j’ai tout essayé. J’ai essayé en donnant le chemin sur la partition de démarrage du disque puis celle du disque 1. Chaque fois échec. À la fin, j’étais amené à penser que lors de la création du fichier image, il y avait une info du disque sur lequel la partition de Mandriva se trouvait.
Justement, ce n’est pas le cas ? A vrai dire je n’en sais rien. Il n’y a pas de raison que ça fonctionne pour une autre partition mais pas pour un autre disque. Surtout que je l’ai déjà fait si je me souviens bien.
C’est bien ce que je me dis aussi. D’autant plus que ça fonctionnait bien avant, avec Mandriva 2007. Il a suffit que j’installe Mandriva 2010 pour que plus rien ne fonctionne. Peut-être était-ce parce que j’avais choisi Grub au lieu de LILO ? J’ai donc refait l’install avec LILO en mode texte et là, en recommençant le processus de création du fichier image du secteur de boot de la partition Mandriva, j’ai pu relancer Mandriva, mais seulement en démarrant le gestionnaire de démarrage du disque 0. Pas moyen de lancer Mandriva depuis le gestionnaire de démarrage du disque 1.
Ha oui, j’ai pas testé avec LILO et je ne me souviens plus de son comportement.
Je suis presque sûr que le problème provient du fait que le gestionnaire de démarrage est sur le disque 1 alors que Mandriva est sur le disque 0. La copie du secteur de Boot de la partition Mandriva devrait ? donner une indication sur la partition où Mandriva est situé. Ou la copie réalisée avec Bootpart est défectueuse. Pourtant elle a bien 512 octets. Lorsque le système la lit, il donne comme message : cannot load from harddisk. Donc il la lit mais il doit manquer QQ chose. Peut-être en faisant cette copie depuis Mandriva ? À voir.
Après avoir fait une copie du secteur de boot de Mandriva, depuis Mandriva, par la commande # dd/ if=/dev/etc. …..
et copié ce fichier image dans la partition de démarrage du disque 1, tout marche à la perfection. Y compris depuis le lanceur de Vista qui lit le fichier boot.ini et propose l’entrée Mandiva. Je n’ai pas touché bcdedit.
Je pense que le fichier image réalisé par Bootpart, même s’il pèse bien 512 octets, ne comporte pas toutes les indications nécessaires au démarrage. Puisque sur les 512 octets, il comporte des indications texte : son origine, et un message en cas de défaut de fonctionnement, qui prennent qq octets. Peut-être que la copie du secteur qu’il fait n’est que des 444 octets de la routine d’amorçage ? Et en tout cas insuffisante pour démarrer depuis un deuxième disque dur. Conclusion : dans le cas d’un deuxième disque dur il faut obligatoirement faire une copie du secteur de boot depuis Linux.
C’est bon à savoir ! Personnellement je n’utilise plus bootpart depuis longtemps…
Bonjour, a tous:
La où je bloque, c’est comment mettre un image Linux sur la partition virtuel VHD pour le lanceur « bootloader » ?
Dans l’attente, merci pour le tutos.
Jocker0146 peux-tu expliquer un peu plus ton problème ?
Bonjour,
la news est ancienne mais c’est exactement ce que je veux faire.J’ai installé Ubuntu 11.04 (ext4) sur le disque 0 et grub est installé sur le disque 0 aussi (le disque est dans un Rack, donc le boot devait pouvoir se faire via ce disque uniquement ).
BCDEDIT est quand à lui installé sur le disque 1 (partition o:) et windows 7 sur le disque 3 (c:).
Tout ceci ne pose pas de problèmes … L’ennui est votre ligne de commande suivante
« bcdedit /set {ID} device partition=X: où X: est le lecteur contenant le fichier (C:,D:…) »
En effet, je ne peux pas spécifier un lecteur dans mon cas, car il n’y a pas de lettre assigné pour Ubuntu (et il m’est impossible de réaliser cette opération via Gestion des disques de W7, la seule opération autorisée sur les partitions du disque 0 sont « supprimer le volume », pas très intéressant ) …
N’y a t-il pas moyen de lui spécifier un disque puis une partition à la place d’une lettre de lecteur ?
Merci
Bonsoir,
m’est avis que vous n’avez pas lu le billet correctement : « Dans ce billet, nous supposerons que vous avez déjà l’image du secteur d’amorçage de votre partition Linux et qu’il se nomme BOOTSECT.LIN. ». L’entrée ne doit pas mentionner la partition sur laquelle est installé Linux, mais la partition sur laquelle est le fichier image du secteur de démarrage de GRUB ou LILO.
Sous Linux, vous pouvez créer ce fichier image avec la commande « dd ».
