util:multiboots_windows
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | util:multiboots_windows [2018/11/17 12:54] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Multiboot Windows_xp-linux en utilisant le multiboot de Windows xp ====== | ||
+ | //**Une recette de Tyrtamos**// | ||
+ | //Cette info a déjà fait l' | ||
+ | ===== 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 (hd0,0) pour grub), 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. 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 à "/" | ||
+ | |||
+ | NB : j'ai déjà expérimenté et réussi ce qui suit dans 3 configurations différentes et avec plusieurs distributions: | ||
+ | |||
+ | * linux sur le 1er disque dur avec un portable, | ||
+ | * linux sur un 2ème disque dur interne (IDE), | ||
+ | * linux sur un disque dur USB2 avec un portable. | ||
+ | |||
+ | A noter que l' | ||
+ | |||
+ | A noter aussi que je n'ai jamais essayé avec des disques sata. | ||
+ | |||
+ | ===== Principe de solution: ===== | ||
+ | |||
+ | Au boot du PC, le bios démarre le programme situé sur le 1er secteur de 512 octet du disque désigné par le bios (en général le 1er disque c:\ pour windows, hda pour linux). Ce secteur est appelé " | ||
+ | |||
+ | C'est ce fichier c:\boot.ini qu'il faut modifier pour présenter un menu des différents systèmes d' | ||
+ | |||
+ | Afin que ce multiboot de windows xp puisse passer la main à un ou plusieurs linux, on peut utiliser 3 solutions: | ||
+ | |||
+ | * utilisation du logiciel " | ||
+ | * utilisation du logiciel " | ||
+ | * utilisation directe du " | ||
+ | |||
+ | ===== Solution avec " | ||
+ | |||
+ | ==== Installation de bootpart ==== | ||
+ | |||
+ | Sous Windows, on télécharge le programme bootpart (bootpa26.zip=version d'oct. 2005) sur le site: | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | 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' | ||
+ | |||
+ | ==== Mode opératoire ==== | ||
+ | |||
+ | On lance l' | ||
+ | |||
+ | A un certain moment, on se retrouve avec une page appelée " | ||
+ | |||
+ | La page " Expert " comporte une liste de chapitre d' | ||
+ | |||
+ | C'est ici qu'on choisit le chargeur (GRUB par exemple), ainsi que " l' | ||
+ | |||
+ | On valide et on continue l' | ||
+ | |||
+ | A la fin de la 1ère phase de l' | ||
+ | |||
+ | Sous winxp, on ouvre la console DOS: | ||
+ | |||
+ | * démarrer -> exécuter -> cmd | ||
+ | |||
+ | A l' | ||
+ | |||
+ | > cd \bootpart | ||
+ | |||
+ | On lance le programme bootpart sans paramètre: | ||
+ | |||
+ | > bootpart | ||
+ | |||
+ | L' | ||
+ | |||
+ | Ci-dessous l' | ||
+ | |||
+ | < | ||
+ | Physical number of disk 0 : b7c8b7c8 | ||
+ | 0 : C:* type=7 (HPFS/ | ||
+ | 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' | ||
+ | |||
+ | > bootpart /? | ||
+ | |||
+ | Admettons que le numéro de la partition linux soit " | ||
+ | |||
+ | > bootpart xx lba c: | ||
+ | |||
+ | lba est optionnel, et sert à forcer la gestion des grands disques. | ||
+ | |||
+ | c: | ||
+ | |||
+ | "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 winxp et Suse linux v 10.0. On choisit Suse linux v 10.0, et l' | ||
+ | |||
+ | Désormais, le menu du multiboot de windows xp apparaîtra à chaque boot, conformément à boot.ini. | ||
+ | |||
+ | ==== Vérification ==== | ||
+ | |||
+ | Sous windows. Il faut d' | ||
+ | |||
+ | Toujours dans l' | ||
+ | |||
+ | < | ||
+ | [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=" | ||
+ | c: | ||
+ | </ | ||
+ | |||
+ | En fait, bootpart n'a fait qu' | ||
+ | |||
+ | Option cosmétique: | ||
+ | |||
+ | Tout d' | ||
+ | |||
+ | Dans les options de windows explorer, faire: outils -> options des dossiers -> affichage" | ||
+ | |||
+ | * cocher " | ||
+ | * cocher " | ||
+ | * décocher " | ||
+ | * décocher " | ||
+ | |||
+ | Ce dernier pt étant un pt de sécurité: ça évitera de cliquer sur " | ||
+ | |||
+ | Sous winxp, reprenons la console dos de tout à l' | ||
+ | |||
+ | 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é " | ||
+ | |||
+ | 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. | ||
+ | |||
+ | ===== Solution avec grubinstall.exe de windows ===== | ||
+ | |||
+ | On utilise ici la version windows de grub: " | ||
+ | |||
+ | L' | ||
+ | |||
+ | Vous pouvez même lancer l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Téléchargement de grubinstall ==== | ||
+ | |||
+ | Ls site web qui parle de grubinstall.exe est ici: http:// | ||
+ | |||
+ | Vous pouvez télécharger grubinstall.zip ici: https:// | ||
+ | |||
+ | ==== Mode opératoire ==== | ||
+ | |||
+ | Ce programme est un programme DOS qui n'a pas besoin d' | ||
+ | |||
+ | On crée un second répertoire: | ||
+ | |||
+ | < | ||
+ | # Menu grub | ||
+ | # | ||
+ | color white/blue black/ | ||
+ | default 0 | ||
+ | timeout 8 | ||
+ | # | ||
+ | title SUSE LINUX 10.0 dans hda5 | ||
+ | root (hd0,4) | ||
+ | kernel / | ||
+ | initrd / | ||
+ | # | ||
+ | title Suse Linux 10.0 dans hda5 (avec chainloader) | ||
+ | chainloader (hd0,4)+1 | ||
+ | # | ||
+ | title Failsafe -- SUSE LINUX 10.0 dans hda5 | ||
+ | root (hd0,4) | ||
+ | kernel / | ||
+ | initrd / | ||
+ | # | ||
+ | title Windows xp sp2 | ||
+ | chainloader (hd0, | ||
+ | </ | ||
+ | |||
+ | Vous voyez qu'on peut lancer la suse de 2 manières différentes, | ||
+ | |||
+ | Il faut modifier le fichier texte " | ||
+ | |||
+ | c: | ||
+ | |||
+ | Mais il faut neutraliser avant les drapeaux s (système) et h (caché) du fichier en console DOS, avec | ||
+ | |||
+ | > attrib -r -s -h c: | ||
+ | |||
+ | et les restaurer après: | ||
+ | |||
+ | > attrib +r -s -h c: | ||
+ | |||
+ | Pour la configuration, | ||
+ | |||
+ | Si vous êtes dans une configuration similaire à la mienne (c:\ windows dans hda1), vous faites: | ||
+ | |||
+ | > cd \grub | ||
+ | > grubinstall | ||
+ | |||
+ | Et c'est tout: il est difficile de faire plus simple. D' | ||
+ | |||
+ | Si vous êtes dans une situation plus complexe, par exemple la partition système de windows dans hdb2, et les stage1, 2 et menu.lst à d' | ||
+ | |||
+ | > grubinstall | ||
+ | |||
+ | Il y a encore d' | ||
+ | |||
+ | Au boot de windows, et avant que windows ne soit chargé, apparait le menu du multiboot de windows (c: | ||
+ | |||
+ | La désinstallation est super simple: elle consiste à effacer la ligne "menu grub" dans c: | ||
+ | |||
+ | Solution avec le stage1 du linux installé: | ||
+ | |||
+ | * au lieu de rebooter sur windows à la fin de la 1ère phase d' | ||
+ | |||
+ | * Lorsque l' | ||
+ | |||
+ | dd if=/ | ||
+ | |||
+ | Ce qui fabrique le fichier bootlin.bin à la racine des répertoires linux ("/" | ||
+ | |||
+ | * Il faut ensuite transporter ce fichier / | ||
+ | |||
+ | * On passe ensuite sous windows pour ajuster le boot.ini en conséquence, | ||
+ | |||
+ | * Le reste est pareil. | ||
+ | |||
+ | Mais ça ne marche que si linux est sur le même disque que windows ! En effet, contrairement à la solution " | ||
+ | |||
+ | On peut alors utiliser une petite astuce qui est la suivante: | ||
+ | |||
+ | 1. créer une petite partition (10 Mo suffisent) sur le 1er disque (hda). J' | ||
+ | |||
+ | 2. à la 1ère phase d' | ||
+ | |||
+ | 3. A la fin de l' | ||
+ | |||
+ | Il faut donc en déduire que le programme d' | ||
+ | |||
+ | Mais dans ce cas, je préfère quand même bootpart ou grubinstall.exe qui ne nécessitent pas la création d'une partition supplémentaire sur hda. | ||
+ | |||
+ | ===== Références documentaires: | ||
+ | |||
+ | Pour ceux qui ne haïssent pas trop windows, je recommande chaleureusement l' | ||
+ | |||
+ | ---- | ||
+ | // |
util/multiboots_windows.txt · Dernière modification : 2018/11/17 12:54 de 127.0.0.1