Moteur de recherche du wiki de kameleon-facile et du forum Alionet
 

Multiboot avec le chargeur windows et bootpart

Problème à résoudre

On a un PC avec windows XP (home ou pro) implanté de manière courante sur le 1er disque (C:\pour windows, hda1 pour linux) et on veut installer en plus une ou plusieurs distribution(s) linux, sans toucher au MBR de Windows XP, en utilisant le multiboot de Windows XP et le programme bootpart. On prendra la suse 10.0 pour exemple.

On va considérer ici que le problème des partitions a déjà été résolu: la partition principale linux choisie (affectée à ”/”) sera, par exemple hdb5 (1ère partition logique de la partition étendue du 2ème disque).

Ce qui suit a été expérimenté dans plusieurs configurations:

  • linux sur le 1er disque ide
  • linux sur l'un des disques ide suivants
  • linux sur disque externe usb

Deux remarques concernant l'installation sur disque dur usb:

  • le multiboot winxp est alors une solution particulièrement adaptée aux portables, parce que l'absence du disque usb n'empêche pas l'accès à windows.
  • mais il faut corriger la suse pour qu'elle charge les modules usb plus tôt dans le processus de boot (sinon elle ne reconnait pas le disque usb au boot)

Principe:

Au boot du PC, le bios charge et exécute le programme situé sur le 1er secteur de 512 octet du disque désigné par le bios pour booter (en général le 1er disque c:\ pour windows, hda pour linux). Ce secteur est appelé “MBR” (Master Boot Record). Celui-ci contient en plus des infos sur les partitions de ce disque.

Le rôle du MBR “windows” est de passer la main au chargeur de windows xp (qui s'appelle “NTLDR” = NT Loader), qui lit le fichier c:\boot.ini, qui dit quel système d'exploitation il faut lancer.

C'est ce fichier c:\boot.ini qu'il faut modifier pour présenter un menu des différents systèmes d'exploitation à lancer, y compris un ou plusieurs linux.

Pour établir le lien entre ce multiboot windows xp et le linux à lancer, on utilise le logiciel “bootpart.exe”.

Installation de bootpart

Sous Windows, on télécharge le programme bootpart (bootpa26.zip=version d'oct. 2005) sur le site:

http://www.winimage.com/bootpart.htm

On le décompresse et on place le résultat dans un répertoire c:\bootpart créé à cette occasion. Attention: c'est un programme dos et pas windows, il n'y a pas de programme d'installation et il n'est pas placé ni à placer dans “c:\program files”.

Mode opératoire

On lance l'installation de la suse 10.0 par le 1er cd ou par le dvd d'installation.

A un certain moment, on se retrouve avec une page appelée “Paramètres d'installation ”. Cette page comporte 2 onglets : “Aperçu ” et Expert”. On clique sur Expert. C'est souvent le cas aussi pour les autres distributions: en général pour implanter ce multiboot, il ne faut pas laisser le mode par défaut.

La page ” Expert ” comporte une liste de chapitre d'installation. On clique sur le chapitre qui nous intéresse qui s'appelle ” Paramètres du chargeur d'amorçage ”.

C'est ici qu'on choisit le chargeur (GRUB par exemple), ainsi que ” l'emplacement du chargeur d'amorçage ”. Et là, au lieu de choisir ” secteur maître d'amorçage de /dev/hda ” qui correspond au MBR, on choisit ” secteur d'amorçage de la partition d'amorçage /dev/hdb5 ”, qui doit être la partition root de votre linux (celle affectée à ”/”).

On valide et on continue l'installation.

A la fin de la 1ère phase de l'installation, le pc reboote sur …Windows! Normal. On laisse faire.

Sous winxp, on ouvre la console DOS:

  • démarrer→exécuter→cmd

A l'intérieur de la fenêtre dos, et au prompt du dos (”>”), on se place dans le répertoire bootpart:

  • >cd \bootpart

On lance le programme bootpart sans paramètre:

  • >bootpart

L'exécution sans paramètre donne la liste de toutes les partitions de tous les disques du pc, avec un numéro attribué en début de ligne à chacune d'entre elles. On repère le numéro attribué à notre partition linux, celle affectée à ”/”. Le formatage de chaque partition étant indiqué, on recherche celle marquée ”<linux native>” (souvent avec un astérisque au début qui devrait identifier les partitions “actives”, c'est à dire reconnues amorçable dans la table des partitions).

Ci-dessous l'exemple avec un portable (1 seul disque) :

  • Physical number of disk 0 : b7c8b7c8
  • 0 : C:* type=7 (HPFS/NTFS), size= 77200326 KB, Lba Pos=63
  • 1 : C: type=f (Win95 XInt 13 extended), size= 20482875 KB, Lba Pos=154400715
  • 2 : C:* type=83 (Linux native), size= 18434556 KB, Lba Pos=154400778
  • 3 : C: type=5 (Extended), size= 2048287 KB, Lba Pos=191269890
  • 4 : C: type=82 (Linux swap), size= 2048256 KB, Lba Pos=191269953

Dans cet exemple, c'est la partition numéro 2 qui est la partition linux.

Si vous voulez plus d'infos sur bootpart, faites:

  • >bootpart /?

Admettons que le numéro de la partition linux soit “xx”. On lance ensuite:

  • >bootpart xx lba c:\bootsuse.bin “Suse linux v 10.0”

lba est optionnel, et sert à forcer la gestion des grands disques.

c:\bootsuse.bin est n'importe quel nom de fichier que vous avez choisi (format 8.3 svp).

“Suse linux v 10.0” est le titre qui apparaitra au menu du multiboot winxp

Voilà, c'est fait.

On retire le cd de linux, et on reboote le pc. On se retrouve donc devant le menu multiboot de winxp (conforme au boot.ini), qui propose windows xp et Suse linux v 10.0. On choisit Suse linux v 10.0, et l'installation de la suse se poursuit normalement jusqu'à la fin.

Désormais, le menu du multiboot de windows xp apparaîtra à chaque boot, conformément à boot.ini.

Vérification:

Sous windows. Il faut d'abord que winxp permette le listage des fichiers cachés: dans l'explorateur windows, prendre “outils” et “options de dossiers” et “affichage”. On coche le choix “afficher les fichiers et dossiers cachés”.

Toujours dans l'explorateur windows, si on examine le contenu de c:\boot.ini avec un éditeur de texte type “bloc-notes” (pas de traitement de texte svp!), on voit quelque chose comme cela:

  • [boot loader]
  • timeout=10
  • default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
  • [operating systems]
  • multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=“Microsoft Windows XP Edition familiale” /fastdetect /NoExecute=OptIn
  • c:\bootsuse.bin=“Suse linux v 10.0”

En fait, bootpart n'a fait qu'ajouter la dernière ligne, qui renvoie au fichier c:\bootsuse.bin, qu'il a créé à notre demande. C'est ce même fichier qui passera la main au grub de linux là où il a été installé, c'est à dire au début de votre partition linux.

Option cosmétique:

Comment changer après coup le libellé proposé par boot.ini ? En fait, ce n'est pas trivial, car boot.ini a deux attributs: caché (H) et système(S). Pour modifier boot.ini, il faut donc annuler ces deux attributs et les remettre après.

Sous winxp, reprenons la console dos de tout à l'heure (démarrer→exécuter→cmd)

On change de répertoire:

  • >cd \

On annule les attributs qui nous gênent:

  • >attrib -H -S boot.ini

On peut alors modifier le libellé “Suse Linux v 10.0” et le remplacer par n'importe quoi d'autre, par exemple “Suse Linux v 10.0 sur hda5” (toujours avec un éditeur de texte type “bloc-notes”), et on enregistre.

On restaure les bons attributs:

  • >attrib +H +S boot.ini

C'est fait !

ATTENTION: si vous abimez boot.ini, plus rien ne marche !! Faites une sauvegarde (boot.ini.sav par exemple) que vous saurez retrouver sous console de récupération winxp.

Références documentaires

Pour ceux qui ne haïssent pas trop windows, recommandation chaleureuse pour l'excellent site de Bellamy: http://www.bellamyjc.org/ qui contient tout un chapitre consacré au multiboot, ainsi qu'aux procédures de récupération du MBR de Windows XP quand on s'est planté…

 
alionet/howto/multiboot_chargeur_windows_bootpart.txt · Dernière modification: 2008/08/31 11:26 (édition externe)
 
Llicence GNU/FDL
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Hébergé gracieusement par Eurimpex, UsedTrucks, EuropeTrucks et UsedCarsOnly