multiboot et GAG

Transcription

multiboot et GAG
Installer grub sur le secteur de boot d'une partition et ajouter un chargeur externe
Structure du MBR ...........................................................................................................................2
Installer grub sur le secteur de boot d'une partition..............................................................................3
les partitions utiles: df......................................................................................................................3
Installer grub....................................................................................................................................3
Démarrer grub..................................................................................................................................4
Trouver la partition de linux:...........................................................................................................4
Installer Grub sur la partition / (/boot) de linux..............................................................................5
Chargeur de demarrage indépendant de linux......................................................................................6
Utiliser le boot.ini de windows xp...................................................................................................6
GAG, EL GESTOR DE ARRANQUE GRAFICO.........................................................................7
Installer .......................................................................................................................................7
disquette bootable:..................................................................................................................7
Sous DOS (console windows)...........................................................................................7
Depuis LINUX..................................................................................................................7
CD bootable:...........................................................................................................................8
Paramétrer GAG :.......................................................................................................................8
1
Structure du MBR La routine de boot est codée sur : 442 octets
Une éventuelle signature (uniquement avec Windows) sur : 4 octets (1 double mot ou dword)
Table des partition primaires sur : 4x16 octets (16 octets par partitions)
Le Magic Number sur : 2 octets (1 mot ou word)
A l'octet 510 du MBR le mot 0x55AA, appelé Nombre Magique ou Magic Number, doit impérativement être présent pour que le BIOS charge et exécute la routine de démarrage présente dans le MBR. En effet, après la phase de test du BIOS (appelée POST), le BIOS lit le premier secteur des périphériques amorçables qui ont été définis par l'utilisateur à l'aide du programme SETUP (Section BOOT DEVICE ORDERING). Lorsqu'il trouve un périphérique contenant le Magic Number 0x55AA (ou 0xAA55), il charge le code d'amorçage à l'adresse mémoire 0x7C00 et l'exécute. La main est alors donnée au système d'exploitation ou au boot loader par ce code d'amorcage.
Contenu
Taille en octet
Code de chargement
446
Table de partitions
16*nombre_de_partitions
Magic Number (0xAA55) 2
Secteur boot d'une partition
Chaque partition contient un secteur de boot sur ses premiers secteurs. Le secteur de boot est à la partition, ce que le MBR est au disque dur: Elle contient deux parties: •
Des données qui indiquent les propriétés de la partition, comme par exemple le nom de volume, ou le système de fichiers. •
Un programme d'amorçage qui démarre le système d'exploitation. Si la partition contient un système d'exploitation, le programme stocké sur le secteur de boot sert à le démarrer. Le secteur de boot doit être exécuté par le programme du MBR. Si la partition n'est pas amorçable, elle contient généralement un programme qui affiche un message d'erreur comme "Pas de système d'exploitation", au cas où cette partition serait exécutée. Lorsqu'on démarre à partir du disque dur, le code contenu dans le master boot record examine la table des partitions (qui se trouve aussi à cet endroit), identifie la partition active (marquée << bootable >> ), lit le secteur de boot de celle­ci, puis exécute le code qui s'y trouve. Contrairement au programme du boot d'une disquette, le programme du secteur de partition ne va pas charger directement le système mais va charger un autre secteur qui lui est le vrai secteur de boot.
Pour savoir quel secteur charger, il regarde la fameuse table de partition située providentiellement à la fin du secteur de partition juste avant le 55h,AAh. Comme le BIOS vient de charger ce secteur, la table se trouve en mémoire à l'adresse 07C0h:1BEh et occupe 64 octets.
Cette table permet de diviser un disque dur en morçeaux de taille variable appelés partitions. Ces morceaux sont indépendants et cela permet donc d'avoir plusieurs systèmes d'exploitation sur un même disque dur. Comme la place est limitée dans le secteur de partition, on n'a que quatre entrées 2
dans la table . Chaque entrée contient les informations suivantes :
Adresse Taille Fonction
0
1
Etat de la partition (80h bootable sinon 00h)
1
1
Tête où commence la partition
2
2
Secteur et cylindre où commence la partition
4
1
Type de partition (ex 04h DOS avec FAT 16 bits)
5
1
Tête de fin de partition
6
2
Secteur et cylindre de fin de partition
8
4
Position du secteur de boot de la partition en secteur par rapport au secteur de partition
12
4
Nombre de secteur de la partition
Le programme du secteur de partition va donc chercher une partition bootable et charger le premier secteur en 07C0:0000h après s'être déplacé ailleurs. Il vérifie qu'il contient bien un programme utilisable en regardant si il se termine bien par 55h,0AAh. Puis il passe la main à ce programme qui est le véritable programme de boot, équivalent à celui qui se trouve sur le premier secteur d'une disquette.
Le code dans le secteur de boot de la partition fait la même chose que le code du secteur de boot d'une disquette : il lit le noyau dans la partition et le lance. Cependant, les détails changent, car il n'est généralement pas utile d'avoir une partition séparée juste pour contenir l'image du noyau. Le code dans le secteur de boot de la partition ne peut donc simplement lire le disque séquentiellement, il doit trouver les secteurs où le système de fichiers les a mis. Installer grub sur le secteur de boot d'une partition
les partitions utiles: df
exemple:
df
Sys. de fich. 1K­blocs Occupé Disponible Capacité Monté sur
/dev/hda3 21924468 3443344 17367420 17% /
...
/dev/hda5 23711000 19950636 2555896 89% /home
Installer grub
#apt­get install grub
3
Démarrer grub
GRUB possède son propre interpréteur de commandes,On peut le démarrer, dans une console, avec la commande : sudo grub ­­batch
Ouvrez un terminal puis : sudo grub –batch
Pour afficher la liste des commandes, appuyer sur TAB, pour connaître l'utilisation d'une commande : grub>help commande
grub numérote les partitions à partir de 0 (sous la forme (hd0,0)), donc on a dans le cas ou le premier disque installé est en hda et le deuxième en hdb :
•
•
•
la partition hda1 devient (hd0,0) la partition hda2 devient (hd0,1) la partition hdb1 devient (hd1,0)... Attention, la numérotation se fait en nombre de disque installé ! Il n'y a pas de correspondance entre /dev/hda et hd0 de grub. Si votre premier disque est sur hdc ou hde il sera quand même numéroté hd0
Pour obtenir la liste de vos disque utilisez l'auto­completion, dans le shell avec la touche tabulation : > hd( + tab
Trouver la partition de linux:
grub> find /boot/grub/stage1
Cette commande retourne le numéro de la partition sur laquelle est installée linux (et les autres), de la forme (hd0,2). grub> find /boot/grub/stage1
(hd0,2)
(hd0,5)
(hd1,0)
.... il peut y avoir plusieurs versions de linux installées (regardez la definition de votre répertoire / dans /etc/fstab et /boot/grub/menu.lst pour ne pas vous tromper
michel@BurDebian:~$ grep "/ " /etc/fstab /dev/hda6 / ext3 defaults,errors=remount­ro 0 1 michel@BurDebian:~$ grep ­B 1 "^root" /boot/grub/menu.lst title Debian GNU/Linux, kernel 2.6.18­5­686 root (hd0,5) ­­ title Debian GNU/Linux, kernel 2.6.18­5­686 (single­user mode) root (hd0,5) ­­ title Debian GNU/Linux, kernel 2.6.18­4­686 root (hd0,5) ­­ title Debian GNU/Linux, kernel 2.6.18­4­686 (single­user mode) root (hd0,5) ­­ title Other operating systems: root 4
­­ title Microsoft Windows XP Professionnel root (hd0,0) ­­ title Ubuntu, kernel 2.6.20­16­generic (on /dev/hda3) root (hd0,2) ­­ title Ubuntu, kernel 2.6.20­16­generic (recovery mode) (on /dev/hda3) root (hd0,2) ­­ Installer Grub sur la partition / (/boot) de linux
grub> root (hd?,?)
Renseignez ici la partition sur laquelle est installée linux, dans notre cas : root (hd0,2) . La commande root sert à indiquer à GRUB sur quel hdd/partition il pourra trouver ses fichier­
images, ce sera sa racine à lui. Sur un système Linux installé sur une seule partition, cette information sera la meme que celle du root de l'OS. Mais sur un système où le répertoire /boot est sur une autre partition, ce sera cette partition là qu'il faudra désigner ici.
grub> setup (hd?,?)
Puis, vous lui indiquez ou il doit s'installer
•
•
•
setup (hd0) installe Grub dans le MBR du premier disque
setup (hd0,4) installe Grub sur la première partition logique du disque 0 (hd0,4) que l'on nomme aussi hda5 setup (hd1,5) installe Grub sur la deuxième partition logique du disque 1. Utile seulement si Ubuntu est installée sur (hd1,5) que l'on nomme aussi hdb6
Ici, Vous choisirez setup (hd0,2) qui est, dans notre exemple, la partition contenant Ubuntu grub> setup (hd0,2)
un exemple complet:
grub> find /boot/grub/stage1
find /boot/grub/stage1
(hd0,2)
(hd0,5)
(hd1,0)
grub> root (hd0,2)
root (hd0,2)
grub> setup (hd0,2)
setup (hd0,2)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0,2)"... failed (this is not fatal)
Running "embed /boot/grub/e2fs_stage1_5 (hd0,2)"... failed (this is not fatal)
Running "install /boot/grub/stage1 (hd0,2) /boot/grub/stage2 p /boot/grub/menu.lst "... succeeded
Done.
5
Chargeur de demarrage indépendant de linux
Utiliser le boot.ini de windows xp
1. Faites une copie de votre secteur de boot Linux depuis la partition /boot en utilisant la commande suivante (en supposant que la partition /boot est /dev/hda2): dd if=/dev/hda2 of=/linux.bin bs=512 count=1 2. Copiez le fichier linux.bin vers une partition FAT32 (vfat) ou vers une disquette.
3. Rebooter sous Windows • Copier le fichier linux.bin vers C:\ • Lancer Notepad et editer le fichier C:\boot.ini. Noter que C:\boot.ini est un fichier système caché, donc il est probablement invisible dans l'explorateur de fichiers Windows. Pour editer le fichier, essayer : Demarrer­>Executer et taper: notepad C:\boot.ini. Ajouter la ligne suivante à la fin du fichier: c:\linux.bin="Linux" Si votre système de fichier est NTFS(et non FAT32), vous devez editer le fichier C:\boot.ini sous un compte utilisateur appartenant au groupe "Administrateur". Pour rendre le fichier C:\boot.ini modifiable, vous pouvez au choix : •
•
•
•
•
En utilisant l'explorateur de fichier • Aller à Outils­>Options des dossiers­>Affichage et selectionner Afficher les fichiers et les dossiers cachés et déselectionner Masquer les fichiers protégés du système d'exploitation (Recommandé). Clic droit sur le fichier, visualisez les Propriétés et décochez Lecture seule. Vous pouvez maintenant éditer le fichier Après avoir modifier le fichier, il est recommandé de rétablir les propriétés du fichier dans leur état original. Utilisez l'invite de commande MS DOS • Rendre le fichier modifiable: C:\attrib ­R ­S ­H boot.ini. Après avoir terminé l'édition du fichier, pour rétablir les paramétres originaux : C:\attrib +R +S +H boot.ini exemple:
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
c:\linux.bin="Linux"
6
GAG, EL GESTOR DE ARRANQUE GRAFICO
http://gag.sourceforge.net/es­index.html GAG a l'avantage d'être freeware.
http://www.rastersoft.com/gageng.htm
GAG n'est pas le seul mais ,testé sur de très nombreuses machine avec des configuration différente il n'a jamais eu aucun problèmes. Et il est en Français(ainsi qu'une douzaine d'autres langues).
Les explications pour installer GAG sont en anglais, tout au moins la première partie qui consiste à décompresser un fichier image sur une disquette.
Installer .
Sur le site vous allez télécharger le fichier gag4x.zip.
C'est un fichier "zippé" qu'il faut décompresser sur votre disque dur.
disquette bootable:
○
Sous DOS (console windows)
Cette archive contient le programme RAWRITE2 , qui sert a écrire le fichier image DISK.DSK sur une disquette.
Ce programme s'utilise en ligne de commande.
Ouvrez une fenêtre MS­DOS.
Mettez vous dans le dossier dans lequel se trouvent RAWRITE et DISk.DSK.
Après avoir inséré une disquette vierge et formatée dans le lecteur a:,
tapez la ligne RAWRITE2.EXE ­f DISK.DSK ­d A: et validez par entrer. Plus simple, utilisez le fichier INSTALL.BAT
La disquette créé n'est pas lisible sous WINDOWS, ni même sous DOS.Elle ne peut servir qu'a démarrer l'ordinateur !
○
Depuis LINUX
Insérez une disquette formatée et tapez:
dd if=disk.dsk of=/dev/fd0 bs=512 count=2880
rem Pour faire une copie binaire exacte (génération de disquette d'installation) : dd if=fichier_sur le disque_dur of=/dev/fd0 Principales options de la commande dd. Option
Signification
7
if=
Fichier à copier.
of=
Fichier destination.
count= Nombre de blocs à lire ou à sauvegarder.
Taille des blocs en octets avec laquelle les données seront lues, converties et réécrites (512 par défaut).
bs=
skip=
Nombre de blocs à sauter avant la lecture.
seek=
Nombre de blocs à sauter avant l'écriture.
conv=
Effectue différents types de conversion : ebcdic en jeu de caractères EBCDIC, ascii en jeu de caractères ASCII, lcase en minuscules, ucase en majuscules.
2880 X 512=1474560 ou si vous préférez:
cat disk.dsk > /dev/fd0
Maintenant, pour installer GAG, il suffit de démarrer l'ordinateur avec
cette disquette et suivre les indications en Francais...
CD bootable:
Dans le dossier, il existe aussi une image iso
qui peut servir à créer un
cd bootable.
Paramétrer GAG :
Booter sur la disquette ( ou le cd) GAG
choisir installer GAG choisir le clavier
choisir la langue
Arrivé à l'écran principal, taper sur C pour configurer
­Taper j, ajouter un nouvel OS (Operating System).
­Les lettres de partitions "bootable" (primaire) apparaissent en noir.
Sélectionnez la lettre de la partition que vous voulez démarrer.
Ou un numéro de disque dur (physique) si vous en avez plusieurs.
­Entrez une description (ex "windows XP").
­Vous pouvez mettre un mot de passe ou appuyer sur "entrée".
­Choisissez une icône.
­Répétez l'opération pour chaque partition sur laquelle vous désirez démarrer.
Lorsque vous avez terminé, vous pouvez utiliser l'option "sauver du disque dur"
ou "sur disquette".
Choisissez ensuite l'option "retourner à l'écran principal".
Cet écran sera celui que vous verrez au démarrage de votre ordinateur (si vous sauvez sur disque !).
Il suffit de taper le chiffre correspondant à la partition sur laquelle vous désirez démarrer.
L'option "timer de démarrage" vous permet de sélectionner une partition par défaut
et un timing au bout duquel elle démarrera automatiquement.
8
Lorsque vous sauvegardez GAG sur le disque dur, il s'installe sur une partie
du disque invisible pour l'utilisateur : la MBR (Master Boot Record).
Pour le supprimer il faut utiliser Fdisk ou fixmbr (entre autre)
9

Documents pareils