boot

Upload: badr-tahir

Post on 14-Oct-2015

15 views

Category:

Documents


0 download

TRANSCRIPT

  • http://courstechinfo.be/OS/boot.html 1/4

    La procdure damorage dun PC Boot Le "boot" ou "boostrap" dsigne les tapes successives du dmarrage.

    Ce terme ferait rfrence une histoire rocambolesque Les Aventures du Baron de Mnchhausen qui, pour se sortir de sables mouvants, aurait tir de toutes ses forces sur les languettes de ses bottes.

    A la mise sous tension ou aprs un reset, le processeur fonctionne en mode rel. Toutes les adresses des instructions et des donnes auxquelles il accde sont des adresses relles, des adresses physiques qui ne vont pas au del de 1 Mo. Le processeur est dautre part incapable daller chercher les instructions du systme dexploitation se trouvant sur le disque dur, le CD ou la disquette. Il va chercher ses premires instructions dans la ROM du BIOS ladresse FFFF0, 16 bytes avant la fin du premier mga octet. L se trouve une instruction de saut vers dautres instructions du BIOS qui initialisent et testent la mmoire centrale et dautres composants internes, lcran et le clavier. Ce test est appel le POST.

    POST Le Post est un test des fonctions vitales du hardware par le PC lui-mme POST est lacronyme de Power On Selft Test (auto test au dmarrage). Les erreurs constates au tout dbut de ce test sont signales par des codes sonores qui dpendent des dfauts constats mais qui varient aussi dun constructeur lautre. Un bip bref signale que la premire partie de ce test sest termine sans encombre et que le systme est capable dutiliser la console pour la suite de la communication. Le test de la RAM, linventaire du matriel ou les messages derreurs peuvent maintenant safficher lcran. Une fois cette premire tape ralise et si le POST na pas rencontr derreurs fatales, le BIOS consulte la RAM CMOS pour y savoir quels disques peuvent servir de disque systme, A: et C: par exemple.

    MBR Le premier secteur du disque systme est appel MBR - Master Boot Record. Les 512 octets de ce secteur sont chargs en mmoire centrale. La structure du MBR est identique pour tous les systmes dexploitation :

    Les 446 premiers octets contiennent un petit programme dont le but est de rechercher la partition active.

    Les 64 octets contiennent la table de partition quatre entres de 16 octets chacune. Les 2 derniers contiennent le magic number AA55 dont la prsence, vrifie par le

    BIOS, atteste la validit du secteur MBR. Le code du MBR, une fois charg dans la mmoire, peut tre lu et excut par le processeur. Il teste la table de partition pour connatre la partition amorable (appele aussi "partition active" ou bootable) ou encore volume systme La partition amorable est celle dont le premier secteur, le secteur damorage. Elle abrite le chargeur de dmarrage (aussi appel IPL "Initial Program Load") qui charge le systme dexploitation en mmoire vive avant den lancer lexcution :

    - cest soit un code qui lance lOS se trouvant sur la mme partition - soit un gestionnaire damorage (bootmanager) qui prsente un choix entre plusieurs

    systmes dexploitation.

  • http://courstechinfo.be/OS/boot.html 2/4

    Lancement du systme dexploitation Si lOS est le MS-DOS, le programme du secteur damorage recherche les fichiers

    IO.SYS (le gestionnaire dentres/sorties) et MSDOS.SYS (le gestionnaire de disques et de fichiers) puis lance leur excution. Le systme dexploitation est en place, le programme damorage a termin sa mission. Le DOS lit CONFIG.SYS et charge linterprteur de commande, COMMAND.COM . Ce dernier excute les instructions du fichier de commande AUTOEXEC.BAT puis affiche linvite de commande ( prompt) pour indiquer quil est prt recevoir vos commandes

    Avec Linux, cest au LILO, le Linux Loader, que le secteur damorage passe la main, moins que LILO ne soit plac directement dans le MBR.

    Les utilisateur de Ubuntu auront fait la connaissance de GRUB un autre Boot Loader encore.

    Si lOS est Windows 95 ou 98, les deux premiers fichiers recherchs et excuts sont cette fois IO.SYS et WINBOOT.SYS. Le fichier CONFIG.SYS nest plus daucune utilit mais AUTOEXEC.BAT, lui aussi tomb en dsutude, sil est prsent est toujours excut automatiquement avant le dmarrage de Windows.

    Avec Windows NT, 2000 ou XP, le code du secteur de boot recherche le NT Loader = le fichier systme \ntldr cache sur la racine du volume. Jusquici le systme tournait en mode rel 16 bits, le NTLDR a maintenant accs lentiret de la mmoire physique. Il cre des tables de pages et active la pagination pour fonctionner en mode protg avec un espace dadressage continu. NTLDR dmarre les pilotes du systme de fichiers, il a ds lors accs aux rpertoires du volume. Il lit le fichier \BOOT.INI, efface lcran et si Boot.ini fait rfrence plus dun systme dexploitation affiche la slection en accordant gnralement 30 secondes pour la modifier.

    [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000

    Professionnel" /fastdetect

    Le systme dexploitation slectionn est ensuite charg. Il appelle Ntdetect.com un programme en mode rel 16 bits qui fait appel au BIOS pour connatre la configuration de base du PC. Il charge ensuite les fichiers Ntoskrnl.exe et Hal.dll pour initialiser le noyau (kernel). NTLDR lit ensuite la ruche SYSTEM (\Windows\System32\Config\System) savoir quels pilotes sont ncessaires lamorage. Sous lindication Dmarrage de Windows une barre de progression avance pour chaque nouveau pilote charg. NTLDR passe la main au noyau.

    Pour plus dinformations sur ce sujet et le multiboot en particulier, un site dcouvrir : www.bellamyjc.org

  • http://courstechinfo.be/OS/boot.html 3/4

    Le noyau note dans HKEY_LOCAL_MACHINE \ HARDWARE \ DESCRIPTION les donnes collectes prcdemment par Ntdetect. Il lance les pilotes damorages chargs par NTLDR puis va chercher dans le registre les pilotes de priphriques qui ont 0x1 pour valeur de chargement. Dmarrage du Session Manager smss.exe, puis prend en compte diffrentes cls du registre pour terminer des oprations diffres depuis la session prcdente, ouvrir des DLL, initialiser des variables du registre et crer des variables denvironnement A ce stade lcran passe dans le mode vido VGA au mode vido dfini dans le profil par dfaut. Le processus douverture de session est lanc et apparat la bote de dialogue douverture de session. Dautres services sont encore lancs automatiquement (ceux qui dans le registre ont une valeur de chargement de 0x2)

    Les fichiers de configuration du DOS in memoriam

    Avant de clore ce chapitre, voici encore quelques explications propos de ces deux fichiers qui lpoque du DOS et de Windows 3.x servaient configurer la machine. Ils subsistent encore sous Windows 9x pour tre remplacs ensuite par ce quon appelle le registre de Windows . Ces fichiers contenaient une srie de commandes que nous examinons partir de deux exemples tirs dune disquette de dmarrage DOS:

    CONFIG.SYS 1 2 3 4 5 6

    DEVICE=A:\DOS\HIMEM.SYS DOS=HIGH COUNTRY=032,850,A:\DOS\COUNTRY.SYS DEVICE=A:\DOS\ANSI.SYS DEVICE=A:\DOS\DISPLAY.SYS CON=(EGA,,2) FILES=30

    CONFIG.SYS est un fichier texte. Chaque ligne commence par un mot cl suivi du signe gal et dun ou plusieurs paramtres spars par des virgules. Il ne peut pas il y avoir despace avant ni aprs le signe gal. Le mot cl DEVICE semploie pour spcifier les pilotes de priphriques (device driver) qui doivent tre chargs au dmarrage de la machine. Ce sont alors des programmes rsidants. 1 HIMEM.SYS est le gestionnaire de mmoire qui sous DOS donne accs la

    mmoire tendue. 2 DOS=HIGH commande au DOS de se placer en mmoire haute, gre par

    HYMEM.SYS, pour laisser plus de place en mmoire conventionnelle. 3 COUNTRY sert dfinir les paramtres nationaux

    Le code 032 est lindicatif tlphonique de la Belgique. Cest de ce code que dpendent les options montaires ainsi que les formats daffichage de la date et de lheure. 850 est le code page Latin 1 mais la page de code par dfaut (437) contient dj les caractres accentus ncessaires au franais.

  • http://courstechinfo.be/OS/boot.html 4/4

    4 ANSI.SYS est le device driver qui gre lcran selon la norme ANSI - American National Standard Institute . On peut ensuite grer la position du curseur ou les couleurs des caractres laide de commande squences ESC .

    5 DISPLAY.SYS est le pilote de priphrique qui gre les pages de code. La mme ligne prcise le type dcran ( EGA ou LCD), les paramtres suivants concernent nouveau les pages de codes. Les deux parenthses qui suivent indiquent que lon prend la page de codes par dfaut, Le 1 qui suit indique que lutilisateur nutilisera quune seule page de codes. Les caractres accentus se trouvant de toute faon aussi bien dans la page 437 que dans la 850.

    6 FILE=30 tait une commande pour spcifier le nombre de fichiers pouvant tre ouverts simultanment. Il fut un temps o il fallait doser de tels paramtres en fonction de la quantit de mmoire dont on disposait.

    AUTOEXEC.BAT 1 2 3 4 5 6 7 8

    @ECHO OFF A:\DOS\SMARTDRV.EXE /X PROMPT $e[1;32;40m$p$e[1;33;40m$g$e[0;37;40m PATH A:\DOS MODE CON CODEPAGE PREPARE=((850) A:\DOS\EGA.CPI) MODE CON CODEPAGE SELECT=850 KEYB BE,,A:\DOS\KEYBOARD.SYS doskey

    AUTOEXEC.BAT est aussi un fichier texte. Les lignes sont des commandes interprtes par COMMAND.COM et excutes au dmarrage juste avant de rendre la main lutilisateur. 1 @ECHO OFF masque laffichage des lignes de ce fichier 2 A:\DOS\SMARTDRV.EXE /X exploite la mmoire tendue gre maintenant par

    HYMEM.SYS pour en faire une mmoire cache disque. 3 La commande PROMPT avait dhabitude $P$G comme seuls paramtres. Ici des

    squences escape ont t ajoutes pour faire une invite en couleurs. Ce genre de gadget est possible grce au driver ANSI.SYS charg par CONFIG.SYS

    4 Le PATH ou chemin de recherche indique la liste des rpertoires auxquels linterprteur devra accder pour y chercher les commandes externes et les applications que lutilisateur pourrait invoquer.

    5 et 6 Prparation de la page de codes en indiquant dans quel fichier trouver ces codes 7 Choix du clavier 8 Lancer lutilitaire qui permet de rappeler les commandes introduites laide des

    flches.