{"version":"1.1","schema_version":"1.1.0","plugin_version":"1.1.2","url":"https://ipom.fr/2019/06/11/demarrer-un-systeme-dexploitation/","llm_html_url":"https://ipom.fr/2019/06/11/demarrer-un-systeme-dexploitation/llm","llm_json_url":"https://ipom.fr/2019/06/11/demarrer-un-systeme-dexploitation/llm.json","manifest_url":"https://ipom.fr/llm-endpoints-manifest.json","language":"fr-FR","locale":"fr_FR","title":"Démarrer un système d&#39;exploitation","site":{"name":"iPom","url":"https://ipom.fr/"},"author":{"id":1,"name":"Maximus63","url":"https://ipom.fr/author/maximus/"},"published_at":"2019-06-11T03:49:55+00:00","modified_at":"2019-06-11T03:49:55+00:00","word_count":3872,"reading_time_seconds":1162,"summary":"Comment gérez-vous ce premier programme? Paul Krzyzanowski 26 janvier 2015 Un système d’exploitation est parfois décrit comme «le premier programme». celui qui vous permet d’exécuter d’autres programmes. Cependant, il est généralement stocké en tant que fichier (ou, plus généralement, une collection de fichiers) sur un disque. Comment fonctionne ce &quot;premier&quot; programme? Panneau avant du PDP [&hellip;]","summary_points":["Contenus\nToggleComment gérez-vous ce premier programme?Étape 1: le Master Boot RecordÉtape 2: l&#39;enregistrement de démarrage en volumeAu-delà de WindowsAu revoir, BIOS.","Bonjour UEFIDémarrer avec UEFIMac plus anciensLe Mac aujourd&#39;hui\n    Comment gérez-vous ce premier programme?","Paul Krzyzanowski \n    26 janvier 2015 \n\nUn système d’exploitation est parfois décrit comme «le premier programme».","celui qui vous permet d’exécuter d’autres programmes."],"topics":["Apple"],"entities":[],"entities_metadata":[{"id":9,"name":"Apple","slug":"apple","taxonomy":"category","count":6020,"url":"https://ipom.fr/category/apple/"}],"tags":["Apple"],"content_hash":"f57f9c2cf7fbf479144163fa788363de","plain_text":"Contenus\nToggleComment gérez-vous ce premier programme?Étape 1: le Master Boot RecordÉtape 2: l&#39;enregistrement de démarrage en volumeAu-delà de WindowsAu revoir, BIOS. Bonjour UEFIDémarrer avec UEFIMac plus anciensLe Mac aujourd&#39;hui\n    Comment gérez-vous ce premier programme? \n    Paul Krzyzanowski \n    26 janvier 2015 \n\nUn système d’exploitation est parfois décrit comme «le premier programme».\ncelui qui vous permet d’exécuter d’autres programmes. Cependant, il est généralement stocké\nen tant que fichier (ou, plus généralement, une collection de fichiers) sur un disque.\nComment fonctionne ce &quot;premier&quot; programme?\nPanneau avant du PDP – 11/70\nLe système d&#39;exploitation est chargé via un amorçage processus, plus\nsuccinctement appelé démarrage. UNE chargeur de démarrage est un programme dont\ntâche est de charger un plus grand\nprogramme, tel que le système d&#39;exploitation. \nLorsque vous allumez un ordinateur, sa mémoire est généralement non initialisée. Par conséquent,\nil n&#39;y a rien à courir. De bonne heure\nles ordinateurs auraient du matériel qui permettrait à l&#39;opérateur de\nappuyez sur un bouton pour charger une séquence d&#39;octets à partir de cartes perforées,\nbande de papier perforée, ou un lecteur de bande. Allume l’ordinateur\npanneau définirait la source des données et l&#39;adresse de la mémoire cible.\nDans certains cas, le logiciel du chargeur de démarrage serait câblé comme\nmémoire non volatile (dans les premiers ordinateurs, ce serait une grille de\nfils avec des coupures aux endroits appropriés où un 0-bit était nécessaire).\nDans les premiers systèmes de mini-ordinateurs et de micro-ordinateurs,\nun opérateur informatique utiliserait les interrupteurs\nle panneau avant de l’ordinateur pour basculer dans le code et le charger dans un fichier plus volumineux.\nprogramme, en programmant chaque emplacement de mémoire, puis en démarrant la\nprogramme. Ce programme peut faire quelque chose de fondamental, comme lire successivement\noctets en mémoire d’une bande de papier attachée à un téléscripteur. \nDans les systèmes ultérieurs, la mémoire en lecture seule contiendrait un petit chargeur de démarrage\nqui aurait l&#39;intelligence de base pour lire, par exemple, le premier secteur\n(512 octets) d&#39;un disque.\nComme ce programme initial devait être aussi réduit que possible, il serait\navoir des capacités minimales. Ce qui est souvent arrivé c&#39;est que la botte\nchargeur chargerait un autre chargeur de démarrage, appelé un Deuxième étape\nchargeur, qui était plus sophistiqué. Ce chargeur de deuxième étape\naurait une erreur de vérification, parmi éventuellement d&#39;autres fonctionnalités, telles que\ndonnant à l&#39;utilisateur un choix de systèmes d&#39;exploitation à démarrer, la possibilité\ncharger un logiciel de diagnostic ou activer les modes de diagnostic dans\nsystème opérateur. Ce chargeur de démarrage en plusieurs étapes, avoir une botte\nloader charger un plus gros chargeur de démarrage, est appelé chargement de la chaîne.\nLe chargeur de démarrage effectue souvent une initialisation de base du système\nmatériel et chargera ensuite le système d&#39;exploitation. Une fois le fonctionnement\nsystème est chargé, le chargeur de démarrage lui transfère le contrôle et est\nne sont plus nécessaires. Le système d&#39;exploitation va s&#39;initialiser,\nconfigurer le matériel du système (par exemple, configurer la gestion de la mémoire, définir\nminuteries, définissez les interruptions) et chargez les pilotes de périphérique, si nécessaire.\nPour concrétiser l’exemple du processus de démarrage, prenons un exemple.\nRegardez les ordinateurs compatibles Intel 32 bits (nous allons arriver un peu aux systèmes 64 bits). Ce\nL’architecture est appelée IA – 32 (architecture Intel, 32 bits) et\ndéfinit le jeu d&#39;instructions de la plupart des microprocesseurs Intel depuis le\nIntel 80386 introduit en 1986. Il est toujours pris en charge sur\nDerniers processeurs d’Intel.\nUn ordinateur basé sur IA – 32 devrait avoir un BIOS (Système d&#39;entrée / sortie de base,\nqui comprend le firmware du chargeur de démarrage) en mémoire non volatile\n(ROM dans le passé et mémoire flash NOR ces jours-ci). Le BIOS est un\ndescendant du BIOS trouvé sur les premiers systèmes CP / M en ce qu&#39;il contient\nfonctions de bas niveau pour accéder à certains périphériques de base du système, tels que\neffectuer des E / S sur le disque, lire à partir du clavier et accéder au\naffichage vidéo. Il contient également du code pour charger un chargeur de démarrage étape 1.\nLorsque la CPU est réinitialisée au démarrage, l’ordinateur démarre à l’exécution.\nemplacement mémoire 0xffff0 (L’architecture IA – 32 utilise un\nsegment: forme d&#39;adressage offset; le segment de code est défini sur\n0xf000 et le pointeur d&#39;instruction est réglé sur fff0).\nLe processeur démarre dans mode réel, ce qui lui donne accès à\nseulement un espace d&#39;adressage mémoire de 20 bits et lui fournit un accès direct à\nE / S, interruptions et mémoire (adressage 32 bits et mémoire virtuelle)\nentre en jeu lorsque le processeur est mis en mode protégé).\nL&#39;emplacement sur 0xffff0 est en fait à la fin de la\nBIOS ROM et contient une instruction de saut à une région du\nBIOS contenant le code de démarrage. \nAu démarrage, le BIOS passe par la séquence suivante:\n\nAuto-test à la mise sous tension (POST)\nDétecter le BIOS de la carte vidéo (puce) et exécuter son code pour initialiser le matériel vidéo\nDétecter tout autre BIOS de périphérique et invoquer ses fonctions d&#39;initialisation\nAfficher l&#39;écran de démarrage du BIOS\nEffectuer un bref test de mémoire (identifier la quantité de mémoire disponible dans le système)\nDéfinir les paramètres de mémoire et de lecteur\nConfigurer les périphériques Plug &amp; Play (traditionnellement les périphériques à bus PCI)\nAttribuer des ressources (canaux DMA et IRQ)\nIdentifier le périphérique de démarrage\n\nLorsque le BIOS identifie le périphérique d’amorçage (généralement l’un des plusieurs\ndisques qui ont été étiquetés en tant que disque amorçable), il lit\nbloquer 0 de cet appareil dans l&#39;emplacement mémoire 0x7c00 et\nsaute là.\nÉtape 1: le Master Boot Record\nCe premier bloc de disque, le bloc 0, est appelé le Enregistrement de démarrage principal (MBR) et contient\nla première étape du chargeur de démarrage. Comme la taille de bloc standard est de 512 octets, le chargeur de démarrage complet doit tenir\ndans cet espace. Le contenu du MBR est: \n\nPremier chargeur de démarrage (≤ 440 octets)\nSignature de disque (4 octets)\nTable de partition de disque, qui identifie différentes régions du disque (16 octets par partition × 4 partitions)\n\nÉtape 2: l&#39;enregistrement de démarrage en volume\nUne fois que le BIOS transfère le contrôle au début du MBR qui était\nchargé en mémoire, le code MBR parcourt sa table de partition\net charge le Enregistrement de démarrage en volume (VBR) pour cette partition.\nLe VBR est une séquence de blocs consécutifs commençant\nau premier bloc de disque du destinataire\ncloison. Le premier bloc du VBR identifie le type de partition\net la taille et contient un Chargeur de programme initial (IPL), qui est un code qui\nchargera les blocs supplémentaires qui composent le deuxième étape démarrage\nchargeur. Sur les systèmes dérivés de Windows NT (Windows Server, par exemple)\n2012, Windows 8), l’IPL charge un programme appelé NTLDR, qui charge ensuite\nle système d&#39;exploitation.\nUne des raisons pour lesquelles les chargeurs de démarrage de bas niveau ont des difficultés avec\ncharger un système d’exploitation complet, en particulier un système pouvant être composé de plusieurs\nfichiers, est que cela nécessite la possibilité d&#39;analyser un système de fichiers\nstructure. Cela signifie comprendre comment les répertoires et les noms de fichiers\nsont disposés et comment trouver les blocs de données qui correspondent à un\nfichier spécifique. Sans beaucoup de code, il est beaucoup plus facile de simplement\nlire des blocs consécutifs. Un chargeur de niveau supérieur, tel que NTLDR de Microsoft,\npeut lire les formats de fichier NTFS, FAT et ISO 9660 (CD).\nAu-delà de Windows\nIl existe de nombreuses variantes pour démarrer d&#39;autres systèmes d&#39;exploitation sur un PC Intel.\nUn chargeur de démarrage populaire sur les systèmes Linux est\nGRUB, ou GRand Unified\nChargeur de démarrage. GRUB est également un chargeur de démarrage multi-étages. Le BIOS, bien sûr, fait ce qu’il fait toujours:\nidentifie un périphérique amorçable, charge le Master Boot Record et transfère le contrôle à ce dernier\ncode.\nSous GRUB, le MBR contient généralement un chargeur de démarrage de première étape appelé GRUB Stage 1. Ce chargeur de démarrage de l&#39;étape 1 se charge GRUB Stage 2.\nLe chargeur de l&#39;étape 2 présente à l&#39;utilisateur un choix de systèmes d&#39;exploitation à démarrer et permet à l&#39;utilisateur de spécifier\ntous les paramètres de démarrage supplémentaires pour ces systèmes (par exemple, forcer la mémoire maximale, activer le débogage). Alors\nlit dans le noyau du système d’exploitation sélectionné et lui transfère le contrôle.\nUn problème spécifique lié à l’utilisation de GRUB pour démarrer Windows est que Windows n’est pas compatible.\nMultiboot\nconforme. Multiboot est une spécification de la Free Software Foundation permettant de charger plusieurs systèmes d&#39;exploitation à l&#39;aide de\nun chargeur de démarrage unique. Dans ce cas, GRUB simule un processus de démarrage Windows classique. Il\ndémarre un chargeur de démarrage qui résiderait normalement dans le MBR\n(ou exécutez le programme de menu de démarrage Windows). À partir de ce moment, GRUB n’a plus sa place, Windows\nn&#39;a aucune idée de ce qui s&#39;est passé et le processus de démarrage natif de Windows prend le relais.\nAu revoir, BIOS. Bonjour UEFI\nLorsque les architectures 64 bits ont émergé pour remplacer les architectures 32 bits, le BIOS commençait à paraître\nassez daté. Intel a entrepris de créer une spécification du successeur du BIOS sans restrictions sur\navoir à exécuter le code de démarrage en mode 16 bits avec un adressage 20 bits. Cette spécification est appelée Interface de micrologiciel extensible unifiée,\nou UEFI.\nBien que développé par Intel, il était géré depuis 2005 par le Unified EFI Forum. Il\nest utilisé par de nombreux systèmes 64 bits plus récents, y compris les Mac, qui prennent également en charge le BIOS existant pour exécuter Windows.\nParmi les fonctionnalités prises en charge par EFI, citons:\n\nComposants du BIOS\npréservé certains composants du BIOS, y compris l&#39;alimentation\n gestion (configuration avancée et interface d&#39;alimentation, ACPI)\n et des composants de gestion du système (par exemple, lecture et définition de la date).\nPrise en charge des disques plus grands\nLe BIOS ne supportait que quatre partitions par disque, avec une capacité\n jusqu&#39;à 2,2 To par partition. UEFI supporte une partition maximale\n taille de 9,4 ZB (9,4 × 1021 octets).\nPas besoin de démarrer en mode 16 bits (réel)\nL’environnement d’exécution préalable au démarrage vous donne un accès direct à toute la mémoire système.\nPilotes de périphérique\nUEFI inclut les pilotes de périphérique, y compris la capacité d&#39;interpréter\n EFI Byte Code (EBC) indépendant de l&#39;architecture. Utilisation des systèmes d&#39;exploitation\n Cependant, comme avec le BIOS, leurs propres pilotes\n les pilotes ne sont généralement utilisés que pour le processus de démarrage.\nGestionnaire de démarrage\nCeci est important. L&#39;ancien BIOS n&#39;avait que l&#39;intelligence\n charger un seul bloc, ce qui nécessite un démarrage en plusieurs étapes\n processus. L&#39;UEFI a son propre interpréteur de commande\n et gestionnaire de démarrage complet. Vous n&#39;avez plus besoin d&#39;un démarrage dédié\n chargeur. Tant que vous placez les fichiers de démarrage dans le fichier de démarrage UEFI\n partition, formatée en tant que système de fichiers FAT (la norme\n format du système de fichiers dans les anciens systèmes Windows; un qui à peu près\n chaque système d&#39;exploitation sait comment gérer).\nExtensibilité\nLe firmware est extensible. Les extensions au format UEFI peuvent être chargées dans une mémoire non volatile.\n\nDémarrer avec UEFI\nAvec UEFI, le Master Boot Record n’est plus nécessaire.\nstocker un chargeur de démarrage de niveau 1; L&#39;UEFI a l&#39;intelligence d&#39;analyser un fichier\nsystème et charger un fichier seul, même si ce fichier n’occupe pas\nblocs de disques contigus.\nAu lieu de cela, l&#39;UEFI lit le GUID (Unique au monde\nIDentifier) Table de partition (TPG), qui est situé dans\nbloque immédiatement après le bloc 0 (où se trouve toujours le MBR)\npour des raisons d&#39;héritage). Le GPT décrit la disposition de la partition\ntable sur un disque. A partir de là, le chargeur de démarrage EFI identifie le fichier EFI.\nPartition système. Cette partition système contient des chargeurs de démarrage pour\ntous les systèmes d&#39;exploitation installés sur d&#39;autres partitions du\ndispositif. Pour les systèmes Windows compatibles EFI,\nL&#39;UEFI charge le\nGestionnaire de démarrage de Windows (bootmgfw.efi). Pour les anciens systèmes NT 64 bits, EFI\nchargerait IA64ldr. Pour Linux, il y a beaucoup d&#39;options. Deux communs\nd’utiliser une version compatible EFI de GRUB (le Grand Unified\nBootloader) et chargez un fichier tel que grub.efi ou avoir une charge EFI\ncharge elilo.efi, le chargeur EFI.\nEn général, même avec UEFI, l’approche dominante consiste à charger un\nchargeur dédié à un système d&#39;exploitation spécifique plutôt que de charge\nce système d&#39;exploitation directement. Cependant, la nécessité d&#39;un système multi-étapes\nprocessus de démarrage qui nécessite le chargement de plusieurs chargeurs de démarrage est non\nplus nécessaire. \nNotre discussion entière jusqu’à présent s’est concentrée sur le démarrage avec Intel\nArchitecture basée sur PC (qui comprend la compatibilité IA – 32 / IA – 64\narchitectures, telles que celles de AMD). C&#39;est l&#39;architecture dominante\nd’aujourd’hui (ordinateurs portables par le biais de serveurs), mais il existe de très nombreuses\npériphériques non-Intel, en particulier dans les périphériques intégrés, tels que\ncomme les téléphones cellulaires. Et eux?\nIl existe de nombreuses implémentations du processus de démarrage. Beaucoup intégré\nLes périphériques ne chargeront pas de système d’exploitation mais en auront déjà un.\nstocké dans une mémoire non volatile (telle que flash ou ROM). Ceux qui\ncharger un système d&#39;exploitation, comme les téléphones Android basés sur ARM, par exemple,\nexécuter le code dans la mémoire en lecture seule (généralement dans la mémoire flash NOR)\nlorsque l&#39;appareil est allumé. Ce\nLe code d’amorçage est intégré à l’ASIC de la CPU sur certains périphériques.\nn&#39;avez pas besoin d&#39;une puce de mémoire flash séparée sur la carte.\nLorsque le système est réinitialisé (ce qui inclut une mise sous tension), le processeur\nest en mode superviseur (SVC) et les interruptions sont désactivées. Sur ARM\nsystèmes le processeur commence l&#39;exécution à l&#39;adresse\n0x00000000. La mémoire flash contenant le code de démarrage est\nmappé à l&#39;adresse 0x00000000 à la réinitialisation. Ce code effectue divers\ninitialisations, y compris la mise en place d&#39;une table de vecteur d&#39;exception\ndans la DRAM et la copie du code d’application de la ROM vers la DRAM (le code est exécuté plus rapidement)\nen DRAM). Le code remappe la DRAM à l&#39;adresse 0, donc\nmasquer la mémoire flash (le processeur a\nun bit REMAP pour changer le mappage de la mémoire flash). La mémoire\nle système est ensuite initialisé. Cela implique la configuration de la protection de la mémoire\net mettre en place les piles système. Les périphériques d’E / S sont ensuite initialisés et le\nle processeur est changé en mode utilisateur. Le firmware de démarrage détecte le démarrage\nsupport, charge et exécute le chargeur de démarrage de deuxième étape (si nécessaire).\nLa deuxième\nLe chargeur de démarrage est souvent GRUB pour les grands systèmes ou uBoot pour\nsystèmes embarqués. Ce chargeur de seconde étape charge les charges d’exploitation\nsystème et lui transfère le contrôle.\nAnciennes versions basées sur PowerPC des systèmes Apple Macintosh,\nOS 8 et OS X, étaient basés sur Open Firmware. Firmware ouvert\nest originaire de Sun et était utilisé sur des ordinateurs Sun non Intel.\nUne fois que Apple est passé aux systèmes Intel, il a adopté UEFI comme microprogramme au niveau de l’amorçage.\nMac plus anciens\nOpen Firmware est stocké dans la ROM et, à l&#39;instar du BIOS de l&#39;ordinateur, est exécuté à la mise sous tension.\nDepuis que Open Firmware a été conçu pour être indépendant de la plate-forme, il est\nimplémenté en Forth (un langage simple basé sur une pile) et compilé en bytecodes plutôt que natif\ninstructions de la machine. Le firmware contient un interpréteur de code d&#39;octet.\nContrairement au BIOS, Open Firmware fournit à l’utilisateur une ligne de commande\nprocesseur à partir duquel on peut éditer les paramètres de configuration du système,\ntels que réduire la quantité de mémoire physique, déboguer le système ou\nmême démarrer un serveur telnet pour pouvoir interagir avec le firmware\net démarrez le processus à partir d’une machine distante via une connexion Ethernet.\nAvant de démarrer le système d’exploitation, Open Firmware génère une arborescence de périphériques en analysant les composants de la carte mère et des périphériques d’extension. \nComme le BIOS du PC, Open Firmware contient des pilotes de périphérique que le logiciel\nprocessus de démarrage dans le firmware peut utiliser pour accéder au disque, clavier,\nsurveiller et réseau. Cependant, ces pilotes sont tous implémentés en FCode,\nle quatrième système de bytecode. Aussi, comme le BIOS, ces pilotes sont\nutilisé uniquement pendant le processus de démarrage. Le système d&#39;exploitation lui-même a\nses propres pilotes d&#39;exécution natifs.\nContrairement au BIOS, Open Firmware pourrait analyser les systèmes de fichiers HFS / HFS +\n(le système de fichiers natif sur Mac), vous pouvez donc utiliser le logiciel Open Firmware\ninterprète de commande à charger dans un fichier de démarrage à partir du disque dur et\nexécuter. Par défaut, Open Firmware charge un fichier à partir du système.\ncloison. Sur les systèmes OS 9, il s’agissait du fichier intitulé «Mac OS ROM».\ndans le Système dossier. Sur les systèmes OS X, il se charge\n/ Système / Bibliothèque / CoreServices / BootX. BootX est le chargeur de démarrage\nqui se charge ensuite dans le noyau.\nLe Mac aujourd&#39;hui\nLe Mac utilise UEFI pour le micrologiciel de son système.\nLorsque le Mac démarre, le premier code qui est exécuté est le\nBootROM. Ceci configure les pilotes EFI pour les périphériques matériels pertinents,\ninitialise certaines des interfaces matérielles, valide que suffisamment\nla mémoire est disponible et effectue un bref test automatique à la mise sous tension.\nContrairement au BIOS du PC, qui ne connaissait rien des systèmes de fichiers et pouvait\nlire des blocs de disque bruts, UEFI sur Mac a\nété prolongé pour analyser les deux FAT\n(systèmes de fichiers hérités DOS / Windows) et HFS + (Mac natif) sur un disque.\nIl lit le GPT (GUID Partition Table) pour identifier les partitions de disque.\nLe volume de démarrage par défaut est stocké dans la NVRAM. \nAu lieu de spécifier un chemin d&#39;accès à un chargeur de démarrage, le volume HFS +\nen-tête (données au début d’un système de fichiers HFS +) pointe vers\nune dossier béni ou répertoire béni (voir le\nbénisse la commande.\nSi un répertoire est béni, cela indique au micrologiciel EFI de regarder dans\nce répertoire pour le chargeur de démarrage. Si un fichier est béni,\nqui indique au micrologiciel EFI de charger ce fichier en tant que chargeur de démarrage\n(il existe des variantes supplémentaires, telles que le démarrage à partir d’un disque non monté\nle volume).\nPar défaut, le chargeur de démarrage est situé dans\n/System/Library/CoreServices/boot.efi sur la racine (souvent\nseulement) partition du disque.\nSinon, le micrologiciel prend en charge le téléchargement d’une seconde étape.\nchargeur de démarrage ou un noyau à partir d&#39;un serveur de réseau (serveur netboot).\nQuand le boot.efi fichier est chargé, l’ordinateur affiche un\nlogo Apple métallique sur l&#39;écran. Le chargeur de démarrage se charge dans le\nnoyau ainsi que les extensions de pilote essentielles, qui s&#39;exécutent ensuite\nlancé, qui exécute les divers scripts et programmes de démarrage.\nUne fois le noyau chargé, l’engrenage en rotation apparaît sous le\nLogo Apple. Lorsque le noyau exécute le premier processus, lancé, la\nl&#39;écran devient bleu.\nVous trouverez une description du démarrage d’OS X dans\nQu&#39;est-ce que Mac OS X?\nPour prendre en charge l’amorçage des systèmes d’exploitation basés sur le BIOS, tels que les anciens\nSystèmes Windows et Linux utilisant GRUB ou un autre logiciel compatible BIOS\nchargeurs de démarrage, l’EFI installe un «module de support de compatibilité»\n(CSM) du firmware du système. Cela commence alors un\nProcessus de démarrage basé sur le BIOS. Ce module de support de compatibilité est\nchargé uniquement lorsque l&#39;utilisateur sélectionne Windows comme système d&#39;exploitation par défaut à démarrer. le\nLe processus de démarrage est maintenant un démarrage standard basé sur le BIOS. Le maître botte\nRecord (MBR) est chargé et exécuté, ce qui localise et charge\nl&#39;enregistrement de démarrage en volume de la partition Windows (ou Linux).\nRéférences de démarrage Mac\nRéférences Mac OS X:\nCeci est une version mise à jour du document original qui a été écrit le 14 septembre 2010.","paragraphs":["Contenus\nToggleComment gérez-vous ce premier programme?Étape 1: le Master Boot RecordÉtape 2: l&#39;enregistrement de démarrage en volumeAu-delà de WindowsAu revoir, BIOS. Bonjour UEFIDémarrer avec UEFIMac plus anciensLe Mac aujourd&#39;hui\n    Comment gérez-vous ce premier programme? \n    Paul Krzyzanowski \n    26 janvier 2015","Un système d’exploitation est parfois décrit comme «le premier programme».\ncelui qui vous permet d’exécuter d’autres programmes. Cependant, il est généralement stocké\nen tant que fichier (ou, plus généralement, une collection de fichiers) sur un disque.\nComment fonctionne ce &quot;premier&quot; programme?\nPanneau avant du PDP – 11/70\nLe système d&#39;exploitation est chargé via un amorçage processus, plus\nsuccinctement appelé démarrage. UNE chargeur de démarrage est un programme dont\ntâche est de charger un plus grand\nprogramme, tel que le système d&#39;exploitation. \nLorsque vous allumez un ordinateur, sa mémoire est généralement non initialisée. Par conséquent,\nil n&#39;y a rien à courir. De bonne heure\nles ordinateurs auraient du matériel qui permettrait à l&#39;opérateur de\nappuyez sur un bouton pour charger une séquence d&#39;octets à partir de cartes perforées,\nbande de papier perforée, ou un lecteur de bande. Allume l’ordinateur\npanneau définirait la source des données et l&#39;adresse de la mémoire cible.\nDans certains cas, le logiciel du chargeur de démarrage serait câblé comme\nmémoire non volatile (dans les premiers ordinateurs, ce serait une grille de\nfils avec des coupures aux endroits appropriés où un 0-bit était nécessaire).\nDans les premiers systèmes de mini-ordinateurs et de micro-ordinateurs,\nun opérateur informatique utiliserait les interrupteurs\nle panneau avant de l’ordinateur pour basculer dans le code et le charger dans un fichier plus volumineux.\nprogramme, en programmant chaque emplacement de mémoire, puis en démarrant la\nprogramme. Ce programme peut faire quelque chose de fondamental, comme lire successivement\noctets en mémoire d’une bande de papier attachée à un téléscripteur. \nDans les systèmes ultérieurs, la mémoire en lecture seule contiendrait un petit chargeur de démarrage\nqui aurait l&#39;intelligence de base pour lire, par exemple, le premier secteur\n(512 octets) d&#39;un disque.\nComme ce programme initial devait être aussi réduit que possible, il serait\navoir des capacités minimales. Ce qui est souvent arrivé c&#39;est que la botte\nchargeur chargerait un autre chargeur de démarrage, appelé un Deuxième étape\nchargeur, qui était plus sophistiqué. Ce chargeur de deuxième étape\naurait une erreur de vérification, parmi éventuellement d&#39;autres fonctionnalités, telles que\ndonnant à l&#39;utilisateur un choix de systèmes d&#39;exploitation à démarrer, la possibilité\ncharger un logiciel de diagnostic ou activer les modes de diagnostic dans\nsystème opérateur. Ce chargeur de démarrage en plusieurs étapes, avoir une botte\nloader charger un plus gros chargeur de démarrage, est appelé chargement de la chaîne.\nLe chargeur de démarrage effectue souvent une initialisation de base du système\nmatériel et chargera ensuite le système d&#39;exploitation. Une fois le fonctionnement\nsystème est chargé, le chargeur de démarrage lui transfère le contrôle et est\nne sont plus nécessaires. Le système d&#39;exploitation va s&#39;initialiser,\nconfigurer le matériel du système (par exemple, configurer la gestion de la mémoire, définir\nminuteries, définissez les interruptions) et chargez les pilotes de périphérique, si nécessaire.\nPour concrétiser l’exemple du processus de démarrage, prenons un exemple.\nRegardez les ordinateurs compatibles Intel 32 bits (nous allons arriver un peu aux systèmes 64 bits). Ce\nL’architecture est appelée IA – 32 (architecture Intel, 32 bits) et\ndéfinit le jeu d&#39;instructions de la plupart des microprocesseurs Intel depuis le\nIntel 80386 introduit en 1986. Il est toujours pris en charge sur\nDerniers processeurs d’Intel.\nUn ordinateur basé sur IA – 32 devrait avoir un BIOS (Système d&#39;entrée / sortie de base,\nqui comprend le firmware du chargeur de démarrage) en mémoire non volatile\n(ROM dans le passé et mémoire flash NOR ces jours-ci). Le BIOS est un\ndescendant du BIOS trouvé sur les premiers systèmes CP / M en ce qu&#39;il contient\nfonctions de bas niveau pour accéder à certains périphériques de base du système, tels que\neffectuer des E / S sur le disque, lire à partir du clavier et accéder au\naffichage vidéo. Il contient également du code pour charger un chargeur de démarrage étape 1.\nLorsque la CPU est réinitialisée au démarrage, l’ordinateur démarre à l’exécution.\nemplacement mémoire 0xffff0 (L’architecture IA – 32 utilise un\nsegment: forme d&#39;adressage offset; le segment de code est défini sur\n0xf000 et le pointeur d&#39;instruction est réglé sur fff0).\nLe processeur démarre dans mode réel, ce qui lui donne accès à\nseulement un espace d&#39;adressage mémoire de 20 bits et lui fournit un accès direct à\nE / S, interruptions et mémoire (adressage 32 bits et mémoire virtuelle)\nentre en jeu lorsque le processeur est mis en mode protégé).\nL&#39;emplacement sur 0xffff0 est en fait à la fin de la\nBIOS ROM et contient une instruction de saut à une région du\nBIOS contenant le code de démarrage. \nAu démarrage, le BIOS passe par la séquence suivante:","Auto-test à la mise sous tension (POST)\nDétecter le BIOS de la carte vidéo (puce) et exécuter son code pour initialiser le matériel vidéo\nDétecter tout autre BIOS de périphérique et invoquer ses fonctions d&#39;initialisation\nAfficher l&#39;écran de démarrage du BIOS\nEffectuer un bref test de mémoire (identifier la quantité de mémoire disponible dans le système)\nDéfinir les paramètres de mémoire et de lecteur\nConfigurer les périphériques Plug &amp; Play (traditionnellement les périphériques à bus PCI)\nAttribuer des ressources (canaux DMA et IRQ)\nIdentifier le périphérique de démarrage","Lorsque le BIOS identifie le périphérique d’amorçage (généralement l’un des plusieurs\ndisques qui ont été étiquetés en tant que disque amorçable), il lit\nbloquer 0 de cet appareil dans l&#39;emplacement mémoire 0x7c00 et\nsaute là.\nÉtape 1: le Master Boot Record\nCe premier bloc de disque, le bloc 0, est appelé le Enregistrement de démarrage principal (MBR) et contient\nla première étape du chargeur de démarrage. Comme la taille de bloc standard est de 512 octets, le chargeur de démarrage complet doit tenir\ndans cet espace. Le contenu du MBR est:","Premier chargeur de démarrage (≤ 440 octets)\nSignature de disque (4 octets)\nTable de partition de disque, qui identifie différentes régions du disque (16 octets par partition × 4 partitions)","Étape 2: l&#39;enregistrement de démarrage en volume\nUne fois que le BIOS transfère le contrôle au début du MBR qui était\nchargé en mémoire, le code MBR parcourt sa table de partition\net charge le Enregistrement de démarrage en volume (VBR) pour cette partition.\nLe VBR est une séquence de blocs consécutifs commençant\nau premier bloc de disque du destinataire\ncloison. Le premier bloc du VBR identifie le type de partition\net la taille et contient un Chargeur de programme initial (IPL), qui est un code qui\nchargera les blocs supplémentaires qui composent le deuxième étape démarrage\nchargeur. Sur les systèmes dérivés de Windows NT (Windows Server, par exemple)\n2012, Windows 8), l’IPL charge un programme appelé NTLDR, qui charge ensuite\nle système d&#39;exploitation.\nUne des raisons pour lesquelles les chargeurs de démarrage de bas niveau ont des difficultés avec\ncharger un système d’exploitation complet, en particulier un système pouvant être composé de plusieurs\nfichiers, est que cela nécessite la possibilité d&#39;analyser un système de fichiers\nstructure. Cela signifie comprendre comment les répertoires et les noms de fichiers\nsont disposés et comment trouver les blocs de données qui correspondent à un\nfichier spécifique. Sans beaucoup de code, il est beaucoup plus facile de simplement\nlire des blocs consécutifs. Un chargeur de niveau supérieur, tel que NTLDR de Microsoft,\npeut lire les formats de fichier NTFS, FAT et ISO 9660 (CD).\nAu-delà de Windows\nIl existe de nombreuses variantes pour démarrer d&#39;autres systèmes d&#39;exploitation sur un PC Intel.\nUn chargeur de démarrage populaire sur les systèmes Linux est\nGRUB, ou GRand Unified\nChargeur de démarrage. GRUB est également un chargeur de démarrage multi-étages. Le BIOS, bien sûr, fait ce qu’il fait toujours:\nidentifie un périphérique amorçable, charge le Master Boot Record et transfère le contrôle à ce dernier\ncode.\nSous GRUB, le MBR contient généralement un chargeur de démarrage de première étape appelé GRUB Stage 1. Ce chargeur de démarrage de l&#39;étape 1 se charge GRUB Stage 2.\nLe chargeur de l&#39;étape 2 présente à l&#39;utilisateur un choix de systèmes d&#39;exploitation à démarrer et permet à l&#39;utilisateur de spécifier\ntous les paramètres de démarrage supplémentaires pour ces systèmes (par exemple, forcer la mémoire maximale, activer le débogage). Alors\nlit dans le noyau du système d’exploitation sélectionné et lui transfère le contrôle.\nUn problème spécifique lié à l’utilisation de GRUB pour démarrer Windows est que Windows n’est pas compatible.\nMultiboot\nconforme. Multiboot est une spécification de la Free Software Foundation permettant de charger plusieurs systèmes d&#39;exploitation à l&#39;aide de\nun chargeur de démarrage unique. Dans ce cas, GRUB simule un processus de démarrage Windows classique. Il\ndémarre un chargeur de démarrage qui résiderait normalement dans le MBR\n(ou exécutez le programme de menu de démarrage Windows). À partir de ce moment, GRUB n’a plus sa place, Windows\nn&#39;a aucune idée de ce qui s&#39;est passé et le processus de démarrage natif de Windows prend le relais.\nAu revoir, BIOS. Bonjour UEFI\nLorsque les architectures 64 bits ont émergé pour remplacer les architectures 32 bits, le BIOS commençait à paraître\nassez daté. Intel a entrepris de créer une spécification du successeur du BIOS sans restrictions sur\navoir à exécuter le code de démarrage en mode 16 bits avec un adressage 20 bits. Cette spécification est appelée Interface de micrologiciel extensible unifiée,\nou UEFI.\nBien que développé par Intel, il était géré depuis 2005 par le Unified EFI Forum. Il\nest utilisé par de nombreux systèmes 64 bits plus récents, y compris les Mac, qui prennent également en charge le BIOS existant pour exécuter Windows.\nParmi les fonctionnalités prises en charge par EFI, citons:","Composants du BIOS\npréservé certains composants du BIOS, y compris l&#39;alimentation\n gestion (configuration avancée et interface d&#39;alimentation, ACPI)\n et des composants de gestion du système (par exemple, lecture et définition de la date).\nPrise en charge des disques plus grands\nLe BIOS ne supportait que quatre partitions par disque, avec une capacité\n jusqu&#39;à 2,2 To par partition. UEFI supporte une partition maximale\n taille de 9,4 ZB (9,4 × 1021 octets).\nPas besoin de démarrer en mode 16 bits (réel)\nL’environnement d’exécution préalable au démarrage vous donne un accès direct à toute la mémoire système.\nPilotes de périphérique\nUEFI inclut les pilotes de périphérique, y compris la capacité d&#39;interpréter\n EFI Byte Code (EBC) indépendant de l&#39;architecture. Utilisation des systèmes d&#39;exploitation\n Cependant, comme avec le BIOS, leurs propres pilotes\n les pilotes ne sont généralement utilisés que pour le processus de démarrage.\nGestionnaire de démarrage\nCeci est important. L&#39;ancien BIOS n&#39;avait que l&#39;intelligence\n charger un seul bloc, ce qui nécessite un démarrage en plusieurs étapes\n processus. L&#39;UEFI a son propre interpréteur de commande\n et gestionnaire de démarrage complet. Vous n&#39;avez plus besoin d&#39;un démarrage dédié\n chargeur. Tant que vous placez les fichiers de démarrage dans le fichier de démarrage UEFI\n partition, formatée en tant que système de fichiers FAT (la norme\n format du système de fichiers dans les anciens systèmes Windows; un qui à peu près\n chaque système d&#39;exploitation sait comment gérer).\nExtensibilité\nLe firmware est extensible. Les extensions au format UEFI peuvent être chargées dans une mémoire non volatile.","Démarrer avec UEFI\nAvec UEFI, le Master Boot Record n’est plus nécessaire.\nstocker un chargeur de démarrage de niveau 1; L&#39;UEFI a l&#39;intelligence d&#39;analyser un fichier\nsystème et charger un fichier seul, même si ce fichier n’occupe pas\nblocs de disques contigus.\nAu lieu de cela, l&#39;UEFI lit le GUID (Unique au monde\nIDentifier) Table de partition (TPG), qui est situé dans\nbloque immédiatement après le bloc 0 (où se trouve toujours le MBR)\npour des raisons d&#39;héritage). Le GPT décrit la disposition de la partition\ntable sur un disque. A partir de là, le chargeur de démarrage EFI identifie le fichier EFI.\nPartition système. Cette partition système contient des chargeurs de démarrage pour\ntous les systèmes d&#39;exploitation installés sur d&#39;autres partitions du\ndispositif. Pour les systèmes Windows compatibles EFI,\nL&#39;UEFI charge le\nGestionnaire de démarrage de Windows (bootmgfw.efi). Pour les anciens systèmes NT 64 bits, EFI\nchargerait IA64ldr. Pour Linux, il y a beaucoup d&#39;options. Deux communs\nd’utiliser une version compatible EFI de GRUB (le Grand Unified\nBootloader) et chargez un fichier tel que grub.efi ou avoir une charge EFI\ncharge elilo.efi, le chargeur EFI.\nEn général, même avec UEFI, l’approche dominante consiste à charger un\nchargeur dédié à un système d&#39;exploitation spécifique plutôt que de charge\nce système d&#39;exploitation directement. Cependant, la nécessité d&#39;un système multi-étapes\nprocessus de démarrage qui nécessite le chargement de plusieurs chargeurs de démarrage est non\nplus nécessaire. \nNotre discussion entière jusqu’à présent s’est concentrée sur le démarrage avec Intel\nArchitecture basée sur PC (qui comprend la compatibilité IA – 32 / IA – 64\narchitectures, telles que celles de AMD). C&#39;est l&#39;architecture dominante\nd’aujourd’hui (ordinateurs portables par le biais de serveurs), mais il existe de très nombreuses\npériphériques non-Intel, en particulier dans les périphériques intégrés, tels que\ncomme les téléphones cellulaires. Et eux?\nIl existe de nombreuses implémentations du processus de démarrage. Beaucoup intégré\nLes périphériques ne chargeront pas de système d’exploitation mais en auront déjà un.\nstocké dans une mémoire non volatile (telle que flash ou ROM). Ceux qui\ncharger un système d&#39;exploitation, comme les téléphones Android basés sur ARM, par exemple,\nexécuter le code dans la mémoire en lecture seule (généralement dans la mémoire flash NOR)\nlorsque l&#39;appareil est allumé. Ce\nLe code d’amorçage est intégré à l’ASIC de la CPU sur certains périphériques.\nn&#39;avez pas besoin d&#39;une puce de mémoire flash séparée sur la carte.\nLorsque le système est réinitialisé (ce qui inclut une mise sous tension), le processeur\nest en mode superviseur (SVC) et les interruptions sont désactivées. Sur ARM\nsystèmes le processeur commence l&#39;exécution à l&#39;adresse\n0x00000000. La mémoire flash contenant le code de démarrage est\nmappé à l&#39;adresse 0x00000000 à la réinitialisation. Ce code effectue divers\ninitialisations, y compris la mise en place d&#39;une table de vecteur d&#39;exception\ndans la DRAM et la copie du code d’application de la ROM vers la DRAM (le code est exécuté plus rapidement)\nen DRAM). Le code remappe la DRAM à l&#39;adresse 0, donc\nmasquer la mémoire flash (le processeur a\nun bit REMAP pour changer le mappage de la mémoire flash). La mémoire\nle système est ensuite initialisé. Cela implique la configuration de la protection de la mémoire\net mettre en place les piles système. Les périphériques d’E / S sont ensuite initialisés et le\nle processeur est changé en mode utilisateur. Le firmware de démarrage détecte le démarrage\nsupport, charge et exécute le chargeur de démarrage de deuxième étape (si nécessaire).\nLa deuxième\nLe chargeur de démarrage est souvent GRUB pour les grands systèmes ou uBoot pour\nsystèmes embarqués. Ce chargeur de seconde étape charge les charges d’exploitation\nsystème et lui transfère le contrôle.\nAnciennes versions basées sur PowerPC des systèmes Apple Macintosh,\nOS 8 et OS X, étaient basés sur Open Firmware. Firmware ouvert\nest originaire de Sun et était utilisé sur des ordinateurs Sun non Intel.\nUne fois que Apple est passé aux systèmes Intel, il a adopté UEFI comme microprogramme au niveau de l’amorçage.\nMac plus anciens\nOpen Firmware est stocké dans la ROM et, à l&#39;instar du BIOS de l&#39;ordinateur, est exécuté à la mise sous tension.\nDepuis que Open Firmware a été conçu pour être indépendant de la plate-forme, il est\nimplémenté en Forth (un langage simple basé sur une pile) et compilé en bytecodes plutôt que natif\ninstructions de la machine. Le firmware contient un interpréteur de code d&#39;octet.\nContrairement au BIOS, Open Firmware fournit à l’utilisateur une ligne de commande\nprocesseur à partir duquel on peut éditer les paramètres de configuration du système,\ntels que réduire la quantité de mémoire physique, déboguer le système ou\nmême démarrer un serveur telnet pour pouvoir interagir avec le firmware\net démarrez le processus à partir d’une machine distante via une connexion Ethernet.\nAvant de démarrer le système d’exploitation, Open Firmware génère une arborescence de périphériques en analysant les composants de la carte mère et des périphériques d’extension. \nComme le BIOS du PC, Open Firmware contient des pilotes de périphérique que le logiciel\nprocessus de démarrage dans le firmware peut utiliser pour accéder au disque, clavier,\nsurveiller et réseau. Cependant, ces pilotes sont tous implémentés en FCode,\nle quatrième système de bytecode. Aussi, comme le BIOS, ces pilotes sont\nutilisé uniquement pendant le processus de démarrage. Le système d&#39;exploitation lui-même a\nses propres pilotes d&#39;exécution natifs.\nContrairement au BIOS, Open Firmware pourrait analyser les systèmes de fichiers HFS / HFS +\n(le système de fichiers natif sur Mac), vous pouvez donc utiliser le logiciel Open Firmware\ninterprète de commande à charger dans un fichier de démarrage à partir du disque dur et\nexécuter. Par défaut, Open Firmware charge un fichier à partir du système.\ncloison. Sur les systèmes OS 9, il s’agissait du fichier intitulé «Mac OS ROM».\ndans le Système dossier. Sur les systèmes OS X, il se charge\n/ Système / Bibliothèque / CoreServices / BootX. BootX est le chargeur de démarrage\nqui se charge ensuite dans le noyau.\nLe Mac aujourd&#39;hui\nLe Mac utilise UEFI pour le micrologiciel de son système.\nLorsque le Mac démarre, le premier code qui est exécuté est le\nBootROM. Ceci configure les pilotes EFI pour les périphériques matériels pertinents,\ninitialise certaines des interfaces matérielles, valide que suffisamment\nla mémoire est disponible et effectue un bref test automatique à la mise sous tension.\nContrairement au BIOS du PC, qui ne connaissait rien des systèmes de fichiers et pouvait\nlire des blocs de disque bruts, UEFI sur Mac a\nété prolongé pour analyser les deux FAT\n(systèmes de fichiers hérités DOS / Windows) et HFS + (Mac natif) sur un disque.\nIl lit le GPT (GUID Partition Table) pour identifier les partitions de disque.\nLe volume de démarrage par défaut est stocké dans la NVRAM. \nAu lieu de spécifier un chemin d&#39;accès à un chargeur de démarrage, le volume HFS +\nen-tête (données au début d’un système de fichiers HFS +) pointe vers\nune dossier béni ou répertoire béni (voir le\nbénisse la commande.\nSi un répertoire est béni, cela indique au micrologiciel EFI de regarder dans\nce répertoire pour le chargeur de démarrage. Si un fichier est béni,\nqui indique au micrologiciel EFI de charger ce fichier en tant que chargeur de démarrage\n(il existe des variantes supplémentaires, telles que le démarrage à partir d’un disque non monté\nle volume).\nPar défaut, le chargeur de démarrage est situé dans\n/System/Library/CoreServices/boot.efi sur la racine (souvent\nseulement) partition du disque.\nSinon, le micrologiciel prend en charge le téléchargement d’une seconde étape.\nchargeur de démarrage ou un noyau à partir d&#39;un serveur de réseau (serveur netboot).\nQuand le boot.efi fichier est chargé, l’ordinateur affiche un\nlogo Apple métallique sur l&#39;écran. Le chargeur de démarrage se charge dans le\nnoyau ainsi que les extensions de pilote essentielles, qui s&#39;exécutent ensuite\nlancé, qui exécute les divers scripts et programmes de démarrage.\nUne fois le noyau chargé, l’engrenage en rotation apparaît sous le\nLogo Apple. Lorsque le noyau exécute le premier processus, lancé, la\nl&#39;écran devient bleu.\nVous trouverez une description du démarrage d’OS X dans\nQu&#39;est-ce que Mac OS X?\nPour prendre en charge l’amorçage des systèmes d’exploitation basés sur le BIOS, tels que les anciens\nSystèmes Windows et Linux utilisant GRUB ou un autre logiciel compatible BIOS\nchargeurs de démarrage, l’EFI installe un «module de support de compatibilité»\n(CSM) du firmware du système. Cela commence alors un\nProcessus de démarrage basé sur le BIOS. Ce module de support de compatibilité est\nchargé uniquement lorsque l&#39;utilisateur sélectionne Windows comme système d&#39;exploitation par défaut à démarrer. le\nLe processus de démarrage est maintenant un démarrage standard basé sur le BIOS. Le maître botte\nRecord (MBR) est chargé et exécuté, ce qui localise et charge\nl&#39;enregistrement de démarrage en volume de la partition Windows (ou Linux).\nRéférences de démarrage Mac\nRéférences Mac OS X:\nCeci est une version mise à jour du document original qui a été écrit le 14 septembre 2010."],"content_blocks":[{"id":"text-1","type":"text","heading":"","plain_text":"Contenus\nToggleComment gérez-vous ce premier programme?Étape 1: le Master Boot RecordÉtape 2: l&#39;enregistrement de démarrage en volumeAu-delà de WindowsAu revoir, BIOS. Bonjour UEFIDémarrer avec UEFIMac plus anciensLe Mac aujourd&#39;hui\n    Comment gérez-vous ce premier programme? \n    Paul Krzyzanowski \n    26 janvier 2015","html":"<p>Contenus\nToggleComment gérez-vous ce premier programme?Étape 1: le Master Boot RecordÉtape 2: l&#039;enregistrement de démarrage en volumeAu-delà de WindowsAu revoir, BIOS. Bonjour UEFIDémarrer avec UEFIMac plus anciensLe Mac aujourd&#039;hui\n    Comment gérez-vous ce premier programme? \n    Paul Krzyzanowski \n    26 janvier 2015</p>"},{"id":"text-2","type":"text","heading":"","plain_text":"Un système d’exploitation est parfois décrit comme «le premier programme».\ncelui qui vous permet d’exécuter d’autres programmes. Cependant, il est généralement stocké\nen tant que fichier (ou, plus généralement, une collection de fichiers) sur un disque.\nComment fonctionne ce &quot;premier&quot; programme?\nPanneau avant du PDP – 11/70\nLe système d&#39;exploitation est chargé via un amorçage processus, plus\nsuccinctement appelé démarrage. UNE chargeur de démarrage est un programme dont\ntâche est de charger un plus grand\nprogramme, tel que le système d&#39;exploitation. \nLorsque vous allumez un ordinateur, sa mémoire est généralement non initialisée. Par conséquent,\nil n&#39;y a rien à courir. De bonne heure\nles ordinateurs auraient du matériel qui permettrait à l&#39;opérateur de\nappuyez sur un bouton pour charger une séquence d&#39;octets à partir de cartes perforées,\nbande de papier perforée, ou un lecteur de bande. Allume l’ordinateur\npanneau définirait la source des données et l&#39;adresse de la mémoire cible.\nDans certains cas, le logiciel du chargeur de démarrage serait câblé comme\nmémoire non volatile (dans les premiers ordinateurs, ce serait une grille de\nfils avec des coupures aux endroits appropriés où un 0-bit était nécessaire).\nDans les premiers systèmes de mini-ordinateurs et de micro-ordinateurs,\nun opérateur informatique utiliserait les interrupteurs\nle panneau avant de l’ordinateur pour basculer dans le code et le charger dans un fichier plus volumineux.\nprogramme, en programmant chaque emplacement de mémoire, puis en démarrant la\nprogramme. Ce programme peut faire quelque chose de fondamental, comme lire successivement\noctets en mémoire d’une bande de papier attachée à un téléscripteur. \nDans les systèmes ultérieurs, la mémoire en lecture seule contiendrait un petit chargeur de démarrage\nqui aurait l&#39;intelligence de base pour lire, par exemple, le premier secteur\n(512 octets) d&#39;un disque.\nComme ce programme initial devait être aussi réduit que possible, il serait\navoir des capacités minimales. Ce qui est souvent arrivé c&#39;est que la botte\nchargeur chargerait un autre chargeur de démarrage, appelé un Deuxième étape\nchargeur, qui était plus sophistiqué. Ce chargeur de deuxième étape\naurait une erreur de vérification, parmi éventuellement d&#39;autres fonctionnalités, telles que\ndonnant à l&#39;utilisateur un choix de systèmes d&#39;exploitation à démarrer, la possibilité\ncharger un logiciel de diagnostic ou activer les modes de diagnostic dans\nsystème opérateur. Ce chargeur de démarrage en plusieurs étapes, avoir une botte\nloader charger un plus gros chargeur de démarrage, est appelé chargement de la chaîne.\nLe chargeur de démarrage effectue souvent une initialisation de base du système\nmatériel et chargera ensuite le système d&#39;exploitation. Une fois le fonctionnement\nsystème est chargé, le chargeur de démarrage lui transfère le contrôle et est\nne sont plus nécessaires. Le système d&#39;exploitation va s&#39;initialiser,\nconfigurer le matériel du système (par exemple, configurer la gestion de la mémoire, définir\nminuteries, définissez les interruptions) et chargez les pilotes de périphérique, si nécessaire.\nPour concrétiser l’exemple du processus de démarrage, prenons un exemple.\nRegardez les ordinateurs compatibles Intel 32 bits (nous allons arriver un peu aux systèmes 64 bits). Ce\nL’architecture est appelée IA – 32 (architecture Intel, 32 bits) et\ndéfinit le jeu d&#39;instructions de la plupart des microprocesseurs Intel depuis le\nIntel 80386 introduit en 1986. Il est toujours pris en charge sur\nDerniers processeurs d’Intel.\nUn ordinateur basé sur IA – 32 devrait avoir un BIOS (Système d&#39;entrée / sortie de base,\nqui comprend le firmware du chargeur de démarrage) en mémoire non volatile\n(ROM dans le passé et mémoire flash NOR ces jours-ci). Le BIOS est un\ndescendant du BIOS trouvé sur les premiers systèmes CP / M en ce qu&#39;il contient\nfonctions de bas niveau pour accéder à certains périphériques de base du système, tels que\neffectuer des E / S sur le disque, lire à partir du clavier et accéder au\naffichage vidéo. Il contient également du code pour charger un chargeur de démarrage étape 1.\nLorsque la CPU est réinitialisée au démarrage, l’ordinateur démarre à l’exécution.\nemplacement mémoire 0xffff0 (L’architecture IA – 32 utilise un\nsegment: forme d&#39;adressage offset; le segment de code est défini sur\n0xf000 et le pointeur d&#39;instruction est réglé sur fff0).\nLe processeur démarre dans mode réel, ce qui lui donne accès à\nseulement un espace d&#39;adressage mémoire de 20 bits et lui fournit un accès direct à\nE / S, interruptions et mémoire (adressage 32 bits et mémoire virtuelle)\nentre en jeu lorsque le processeur est mis en mode protégé).\nL&#39;emplacement sur 0xffff0 est en fait à la fin de la\nBIOS ROM et contient une instruction de saut à une région du\nBIOS contenant le code de démarrage. \nAu démarrage, le BIOS passe par la séquence suivante:","html":"<p>Un système d’exploitation est parfois décrit comme «le premier programme».\ncelui qui vous permet d’exécuter d’autres programmes. Cependant, il est généralement stocké\nen tant que fichier (ou, plus généralement, une collection de fichiers) sur un disque.\nComment fonctionne ce &quot;premier&quot; programme?\nPanneau avant du PDP – 11/70\nLe système d&#039;exploitation est chargé via un amorçage processus, plus\nsuccinctement appelé démarrage. UNE chargeur de démarrage est un programme dont\ntâche est de charger un plus grand\nprogramme, tel que le système d&#039;exploitation. \nLorsque vous allumez un ordinateur, sa mémoire est généralement non initialisée. Par conséquent,\nil n&#039;y a rien à courir. De bonne heure\nles ordinateurs auraient du matériel qui permettrait à l&#039;opérateur de\nappuyez sur un bouton pour charger une séquence d&#039;octets à partir de cartes perforées,\nbande de papier perforée, ou un lecteur de bande. Allume l’ordinateur\npanneau définirait la source des données et l&#039;adresse de la mémoire cible.\nDans certains cas, le logiciel du chargeur de démarrage serait câblé comme\nmémoire non volatile (dans les premiers ordinateurs, ce serait une grille de\nfils avec des coupures aux endroits appropriés où un 0-bit était nécessaire).\nDans les premiers systèmes de mini-ordinateurs et de micro-ordinateurs,\nun opérateur informatique utiliserait les interrupteurs\nle panneau avant de l’ordinateur pour basculer dans le code et le charger dans un fichier plus volumineux.\nprogramme, en programmant chaque emplacement de mémoire, puis en démarrant la\nprogramme. Ce programme peut faire quelque chose de fondamental, comme lire successivement\noctets en mémoire d’une bande de papier attachée à un téléscripteur. \nDans les systèmes ultérieurs, la mémoire en lecture seule contiendrait un petit chargeur de démarrage\nqui aurait l&#039;intelligence de base pour lire, par exemple, le premier secteur\n(512 octets) d&#039;un disque.\nComme ce programme initial devait être aussi réduit que possible, il serait\navoir des capacités minimales. Ce qui est souvent arrivé c&#039;est que la botte\nchargeur chargerait un autre chargeur de démarrage, appelé un Deuxième étape\nchargeur, qui était plus sophistiqué. Ce chargeur de deuxième étape\naurait une erreur de vérification, parmi éventuellement d&#039;autres fonctionnalités, telles que\ndonnant à l&#039;utilisateur un choix de systèmes d&#039;exploitation à démarrer, la possibilité\ncharger un logiciel de diagnostic ou activer les modes de diagnostic dans\nsystème opérateur. Ce chargeur de démarrage en plusieurs étapes, avoir une botte\nloader charger un plus gros chargeur de démarrage, est appelé chargement de la chaîne.\nLe chargeur de démarrage effectue souvent une initialisation de base du système\nmatériel et chargera ensuite le système d&#039;exploitation. Une fois le fonctionnement\nsystème est chargé, le chargeur de démarrage lui transfère le contrôle et est\nne sont plus nécessaires. Le système d&#039;exploitation va s&#039;initialiser,\nconfigurer le matériel du système (par exemple, configurer la gestion de la mémoire, définir\nminuteries, définissez les interruptions) et chargez les pilotes de périphérique, si nécessaire.\nPour concrétiser l’exemple du processus de démarrage, prenons un exemple.\nRegardez les ordinateurs compatibles Intel 32 bits (nous allons arriver un peu aux systèmes 64 bits). Ce\nL’architecture est appelée IA – 32 (architecture Intel, 32 bits) et\ndéfinit le jeu d&#039;instructions de la plupart des microprocesseurs Intel depuis le\nIntel 80386 introduit en 1986. Il est toujours pris en charge sur\nDerniers processeurs d’Intel.\nUn ordinateur basé sur IA – 32 devrait avoir un BIOS (Système d&#039;entrée / sortie de base,\nqui comprend le firmware du chargeur de démarrage) en mémoire non volatile\n(ROM dans le passé et mémoire flash NOR ces jours-ci). Le BIOS est un\ndescendant du BIOS trouvé sur les premiers systèmes CP / M en ce qu&#039;il contient\nfonctions de bas niveau pour accéder à certains périphériques de base du système, tels que\neffectuer des E / S sur le disque, lire à partir du clavier et accéder au\naffichage vidéo. Il contient également du code pour charger un chargeur de démarrage étape 1.\nLorsque la CPU est réinitialisée au démarrage, l’ordinateur démarre à l’exécution.\nemplacement mémoire 0xffff0 (L’architecture IA – 32 utilise un\nsegment: forme d&#039;adressage offset; le segment de code est défini sur\n0xf000 et le pointeur d&#039;instruction est réglé sur fff0).\nLe processeur démarre dans mode réel, ce qui lui donne accès à\nseulement un espace d&#039;adressage mémoire de 20 bits et lui fournit un accès direct à\nE / S, interruptions et mémoire (adressage 32 bits et mémoire virtuelle)\nentre en jeu lorsque le processeur est mis en mode protégé).\nL&#039;emplacement sur 0xffff0 est en fait à la fin de la\nBIOS ROM et contient une instruction de saut à une région du\nBIOS contenant le code de démarrage. \nAu démarrage, le BIOS passe par la séquence suivante:</p>"},{"id":"text-3","type":"text","heading":"","plain_text":"Auto-test à la mise sous tension (POST)\nDétecter le BIOS de la carte vidéo (puce) et exécuter son code pour initialiser le matériel vidéo\nDétecter tout autre BIOS de périphérique et invoquer ses fonctions d&#39;initialisation\nAfficher l&#39;écran de démarrage du BIOS\nEffectuer un bref test de mémoire (identifier la quantité de mémoire disponible dans le système)\nDéfinir les paramètres de mémoire et de lecteur\nConfigurer les périphériques Plug &amp; Play (traditionnellement les périphériques à bus PCI)\nAttribuer des ressources (canaux DMA et IRQ)\nIdentifier le périphérique de démarrage","html":"<p>Auto-test à la mise sous tension (POST)\nDétecter le BIOS de la carte vidéo (puce) et exécuter son code pour initialiser le matériel vidéo\nDétecter tout autre BIOS de périphérique et invoquer ses fonctions d&#039;initialisation\nAfficher l&#039;écran de démarrage du BIOS\nEffectuer un bref test de mémoire (identifier la quantité de mémoire disponible dans le système)\nDéfinir les paramètres de mémoire et de lecteur\nConfigurer les périphériques Plug &amp; Play (traditionnellement les périphériques à bus PCI)\nAttribuer des ressources (canaux DMA et IRQ)\nIdentifier le périphérique de démarrage</p>"},{"id":"text-4","type":"text","heading":"","plain_text":"Lorsque le BIOS identifie le périphérique d’amorçage (généralement l’un des plusieurs\ndisques qui ont été étiquetés en tant que disque amorçable), il lit\nbloquer 0 de cet appareil dans l&#39;emplacement mémoire 0x7c00 et\nsaute là.\nÉtape 1: le Master Boot Record\nCe premier bloc de disque, le bloc 0, est appelé le Enregistrement de démarrage principal (MBR) et contient\nla première étape du chargeur de démarrage. Comme la taille de bloc standard est de 512 octets, le chargeur de démarrage complet doit tenir\ndans cet espace. Le contenu du MBR est:","html":"<p>Lorsque le BIOS identifie le périphérique d’amorçage (généralement l’un des plusieurs\ndisques qui ont été étiquetés en tant que disque amorçable), il lit\nbloquer 0 de cet appareil dans l&#039;emplacement mémoire 0x7c00 et\nsaute là.\nÉtape 1: le Master Boot Record\nCe premier bloc de disque, le bloc 0, est appelé le Enregistrement de démarrage principal (MBR) et contient\nla première étape du chargeur de démarrage. Comme la taille de bloc standard est de 512 octets, le chargeur de démarrage complet doit tenir\ndans cet espace. Le contenu du MBR est:</p>"},{"id":"text-5","type":"text","heading":"","plain_text":"Premier chargeur de démarrage (≤ 440 octets)\nSignature de disque (4 octets)\nTable de partition de disque, qui identifie différentes régions du disque (16 octets par partition × 4 partitions)","html":"<p>Premier chargeur de démarrage (≤ 440 octets)\nSignature de disque (4 octets)\nTable de partition de disque, qui identifie différentes régions du disque (16 octets par partition × 4 partitions)</p>"},{"id":"text-6","type":"text","heading":"","plain_text":"Étape 2: l&#39;enregistrement de démarrage en volume\nUne fois que le BIOS transfère le contrôle au début du MBR qui était\nchargé en mémoire, le code MBR parcourt sa table de partition\net charge le Enregistrement de démarrage en volume (VBR) pour cette partition.\nLe VBR est une séquence de blocs consécutifs commençant\nau premier bloc de disque du destinataire\ncloison. Le premier bloc du VBR identifie le type de partition\net la taille et contient un Chargeur de programme initial (IPL), qui est un code qui\nchargera les blocs supplémentaires qui composent le deuxième étape démarrage\nchargeur. Sur les systèmes dérivés de Windows NT (Windows Server, par exemple)\n2012, Windows 8), l’IPL charge un programme appelé NTLDR, qui charge ensuite\nle système d&#39;exploitation.\nUne des raisons pour lesquelles les chargeurs de démarrage de bas niveau ont des difficultés avec\ncharger un système d’exploitation complet, en particulier un système pouvant être composé de plusieurs\nfichiers, est que cela nécessite la possibilité d&#39;analyser un système de fichiers\nstructure. Cela signifie comprendre comment les répertoires et les noms de fichiers\nsont disposés et comment trouver les blocs de données qui correspondent à un\nfichier spécifique. Sans beaucoup de code, il est beaucoup plus facile de simplement\nlire des blocs consécutifs. Un chargeur de niveau supérieur, tel que NTLDR de Microsoft,\npeut lire les formats de fichier NTFS, FAT et ISO 9660 (CD).\nAu-delà de Windows\nIl existe de nombreuses variantes pour démarrer d&#39;autres systèmes d&#39;exploitation sur un PC Intel.\nUn chargeur de démarrage populaire sur les systèmes Linux est\nGRUB, ou GRand Unified\nChargeur de démarrage. GRUB est également un chargeur de démarrage multi-étages. Le BIOS, bien sûr, fait ce qu’il fait toujours:\nidentifie un périphérique amorçable, charge le Master Boot Record et transfère le contrôle à ce dernier\ncode.\nSous GRUB, le MBR contient généralement un chargeur de démarrage de première étape appelé GRUB Stage 1. Ce chargeur de démarrage de l&#39;étape 1 se charge GRUB Stage 2.\nLe chargeur de l&#39;étape 2 présente à l&#39;utilisateur un choix de systèmes d&#39;exploitation à démarrer et permet à l&#39;utilisateur de spécifier\ntous les paramètres de démarrage supplémentaires pour ces systèmes (par exemple, forcer la mémoire maximale, activer le débogage). Alors\nlit dans le noyau du système d’exploitation sélectionné et lui transfère le contrôle.\nUn problème spécifique lié à l’utilisation de GRUB pour démarrer Windows est que Windows n’est pas compatible.\nMultiboot\nconforme. Multiboot est une spécification de la Free Software Foundation permettant de charger plusieurs systèmes d&#39;exploitation à l&#39;aide de\nun chargeur de démarrage unique. Dans ce cas, GRUB simule un processus de démarrage Windows classique. Il\ndémarre un chargeur de démarrage qui résiderait normalement dans le MBR\n(ou exécutez le programme de menu de démarrage Windows). À partir de ce moment, GRUB n’a plus sa place, Windows\nn&#39;a aucune idée de ce qui s&#39;est passé et le processus de démarrage natif de Windows prend le relais.\nAu revoir, BIOS. Bonjour UEFI\nLorsque les architectures 64 bits ont émergé pour remplacer les architectures 32 bits, le BIOS commençait à paraître\nassez daté. Intel a entrepris de créer une spécification du successeur du BIOS sans restrictions sur\navoir à exécuter le code de démarrage en mode 16 bits avec un adressage 20 bits. Cette spécification est appelée Interface de micrologiciel extensible unifiée,\nou UEFI.\nBien que développé par Intel, il était géré depuis 2005 par le Unified EFI Forum. Il\nest utilisé par de nombreux systèmes 64 bits plus récents, y compris les Mac, qui prennent également en charge le BIOS existant pour exécuter Windows.\nParmi les fonctionnalités prises en charge par EFI, citons:","html":"<p>Étape 2: l&#039;enregistrement de démarrage en volume\nUne fois que le BIOS transfère le contrôle au début du MBR qui était\nchargé en mémoire, le code MBR parcourt sa table de partition\net charge le Enregistrement de démarrage en volume (VBR) pour cette partition.\nLe VBR est une séquence de blocs consécutifs commençant\nau premier bloc de disque du destinataire\ncloison. Le premier bloc du VBR identifie le type de partition\net la taille et contient un Chargeur de programme initial (IPL), qui est un code qui\nchargera les blocs supplémentaires qui composent le deuxième étape démarrage\nchargeur. Sur les systèmes dérivés de Windows NT (Windows Server, par exemple)\n2012, Windows 8), l’IPL charge un programme appelé NTLDR, qui charge ensuite\nle système d&#039;exploitation.\nUne des raisons pour lesquelles les chargeurs de démarrage de bas niveau ont des difficultés avec\ncharger un système d’exploitation complet, en particulier un système pouvant être composé de plusieurs\nfichiers, est que cela nécessite la possibilité d&#039;analyser un système de fichiers\nstructure. Cela signifie comprendre comment les répertoires et les noms de fichiers\nsont disposés et comment trouver les blocs de données qui correspondent à un\nfichier spécifique. Sans beaucoup de code, il est beaucoup plus facile de simplement\nlire des blocs consécutifs. Un chargeur de niveau supérieur, tel que NTLDR de Microsoft,\npeut lire les formats de fichier NTFS, FAT et ISO 9660 (CD).\nAu-delà de Windows\nIl existe de nombreuses variantes pour démarrer d&#039;autres systèmes d&#039;exploitation sur un PC Intel.\nUn chargeur de démarrage populaire sur les systèmes Linux est\nGRUB, ou GRand Unified\nChargeur de démarrage. GRUB est également un chargeur de démarrage multi-étages. Le BIOS, bien sûr, fait ce qu’il fait toujours:\nidentifie un périphérique amorçable, charge le Master Boot Record et transfère le contrôle à ce dernier\ncode.\nSous GRUB, le MBR contient généralement un chargeur de démarrage de première étape appelé GRUB Stage 1. Ce chargeur de démarrage de l&#039;étape 1 se charge GRUB Stage 2.\nLe chargeur de l&#039;étape 2 présente à l&#039;utilisateur un choix de systèmes d&#039;exploitation à démarrer et permet à l&#039;utilisateur de spécifier\ntous les paramètres de démarrage supplémentaires pour ces systèmes (par exemple, forcer la mémoire maximale, activer le débogage). Alors\nlit dans le noyau du système d’exploitation sélectionné et lui transfère le contrôle.\nUn problème spécifique lié à l’utilisation de GRUB pour démarrer Windows est que Windows n’est pas compatible.\nMultiboot\nconforme. Multiboot est une spécification de la Free Software Foundation permettant de charger plusieurs systèmes d&#039;exploitation à l&#039;aide de\nun chargeur de démarrage unique. Dans ce cas, GRUB simule un processus de démarrage Windows classique. Il\ndémarre un chargeur de démarrage qui résiderait normalement dans le MBR\n(ou exécutez le programme de menu de démarrage Windows). À partir de ce moment, GRUB n’a plus sa place, Windows\nn&#039;a aucune idée de ce qui s&#039;est passé et le processus de démarrage natif de Windows prend le relais.\nAu revoir, BIOS. Bonjour UEFI\nLorsque les architectures 64 bits ont émergé pour remplacer les architectures 32 bits, le BIOS commençait à paraître\nassez daté. Intel a entrepris de créer une spécification du successeur du BIOS sans restrictions sur\navoir à exécuter le code de démarrage en mode 16 bits avec un adressage 20 bits. Cette spécification est appelée Interface de micrologiciel extensible unifiée,\nou UEFI.\nBien que développé par Intel, il était géré depuis 2005 par le Unified EFI Forum. Il\nest utilisé par de nombreux systèmes 64 bits plus récents, y compris les Mac, qui prennent également en charge le BIOS existant pour exécuter Windows.\nParmi les fonctionnalités prises en charge par EFI, citons:</p>"},{"id":"text-7","type":"text","heading":"","plain_text":"Composants du BIOS\npréservé certains composants du BIOS, y compris l&#39;alimentation\n gestion (configuration avancée et interface d&#39;alimentation, ACPI)\n et des composants de gestion du système (par exemple, lecture et définition de la date).\nPrise en charge des disques plus grands\nLe BIOS ne supportait que quatre partitions par disque, avec une capacité\n jusqu&#39;à 2,2 To par partition. UEFI supporte une partition maximale\n taille de 9,4 ZB (9,4 × 1021 octets).\nPas besoin de démarrer en mode 16 bits (réel)\nL’environnement d’exécution préalable au démarrage vous donne un accès direct à toute la mémoire système.\nPilotes de périphérique\nUEFI inclut les pilotes de périphérique, y compris la capacité d&#39;interpréter\n EFI Byte Code (EBC) indépendant de l&#39;architecture. Utilisation des systèmes d&#39;exploitation\n Cependant, comme avec le BIOS, leurs propres pilotes\n les pilotes ne sont généralement utilisés que pour le processus de démarrage.\nGestionnaire de démarrage\nCeci est important. L&#39;ancien BIOS n&#39;avait que l&#39;intelligence\n charger un seul bloc, ce qui nécessite un démarrage en plusieurs étapes\n processus. L&#39;UEFI a son propre interpréteur de commande\n et gestionnaire de démarrage complet. Vous n&#39;avez plus besoin d&#39;un démarrage dédié\n chargeur. Tant que vous placez les fichiers de démarrage dans le fichier de démarrage UEFI\n partition, formatée en tant que système de fichiers FAT (la norme\n format du système de fichiers dans les anciens systèmes Windows; un qui à peu près\n chaque système d&#39;exploitation sait comment gérer).\nExtensibilité\nLe firmware est extensible. Les extensions au format UEFI peuvent être chargées dans une mémoire non volatile.","html":"<p>Composants du BIOS\npréservé certains composants du BIOS, y compris l&#039;alimentation\n gestion (configuration avancée et interface d&#039;alimentation, ACPI)\n et des composants de gestion du système (par exemple, lecture et définition de la date).\nPrise en charge des disques plus grands\nLe BIOS ne supportait que quatre partitions par disque, avec une capacité\n jusqu&#039;à 2,2 To par partition. UEFI supporte une partition maximale\n taille de 9,4 ZB (9,4 × 1021 octets).\nPas besoin de démarrer en mode 16 bits (réel)\nL’environnement d’exécution préalable au démarrage vous donne un accès direct à toute la mémoire système.\nPilotes de périphérique\nUEFI inclut les pilotes de périphérique, y compris la capacité d&#039;interpréter\n EFI Byte Code (EBC) indépendant de l&#039;architecture. Utilisation des systèmes d&#039;exploitation\n Cependant, comme avec le BIOS, leurs propres pilotes\n les pilotes ne sont généralement utilisés que pour le processus de démarrage.\nGestionnaire de démarrage\nCeci est important. L&#039;ancien BIOS n&#039;avait que l&#039;intelligence\n charger un seul bloc, ce qui nécessite un démarrage en plusieurs étapes\n processus. L&#039;UEFI a son propre interpréteur de commande\n et gestionnaire de démarrage complet. Vous n&#039;avez plus besoin d&#039;un démarrage dédié\n chargeur. Tant que vous placez les fichiers de démarrage dans le fichier de démarrage UEFI\n partition, formatée en tant que système de fichiers FAT (la norme\n format du système de fichiers dans les anciens systèmes Windows; un qui à peu près\n chaque système d&#039;exploitation sait comment gérer).\nExtensibilité\nLe firmware est extensible. Les extensions au format UEFI peuvent être chargées dans une mémoire non volatile.</p>"},{"id":"text-8","type":"text","heading":"","plain_text":"Démarrer avec UEFI\nAvec UEFI, le Master Boot Record n’est plus nécessaire.\nstocker un chargeur de démarrage de niveau 1; L&#39;UEFI a l&#39;intelligence d&#39;analyser un fichier\nsystème et charger un fichier seul, même si ce fichier n’occupe pas\nblocs de disques contigus.\nAu lieu de cela, l&#39;UEFI lit le GUID (Unique au monde\nIDentifier) Table de partition (TPG), qui est situé dans\nbloque immédiatement après le bloc 0 (où se trouve toujours le MBR)\npour des raisons d&#39;héritage). Le GPT décrit la disposition de la partition\ntable sur un disque. A partir de là, le chargeur de démarrage EFI identifie le fichier EFI.\nPartition système. Cette partition système contient des chargeurs de démarrage pour\ntous les systèmes d&#39;exploitation installés sur d&#39;autres partitions du\ndispositif. Pour les systèmes Windows compatibles EFI,\nL&#39;UEFI charge le\nGestionnaire de démarrage de Windows (bootmgfw.efi). Pour les anciens systèmes NT 64 bits, EFI\nchargerait IA64ldr. Pour Linux, il y a beaucoup d&#39;options. Deux communs\nd’utiliser une version compatible EFI de GRUB (le Grand Unified\nBootloader) et chargez un fichier tel que grub.efi ou avoir une charge EFI\ncharge elilo.efi, le chargeur EFI.\nEn général, même avec UEFI, l’approche dominante consiste à charger un\nchargeur dédié à un système d&#39;exploitation spécifique plutôt que de charge\nce système d&#39;exploitation directement. Cependant, la nécessité d&#39;un système multi-étapes\nprocessus de démarrage qui nécessite le chargement de plusieurs chargeurs de démarrage est non\nplus nécessaire. \nNotre discussion entière jusqu’à présent s’est concentrée sur le démarrage avec Intel\nArchitecture basée sur PC (qui comprend la compatibilité IA – 32 / IA – 64\narchitectures, telles que celles de AMD). C&#39;est l&#39;architecture dominante\nd’aujourd’hui (ordinateurs portables par le biais de serveurs), mais il existe de très nombreuses\npériphériques non-Intel, en particulier dans les périphériques intégrés, tels que\ncomme les téléphones cellulaires. Et eux?\nIl existe de nombreuses implémentations du processus de démarrage. Beaucoup intégré\nLes périphériques ne chargeront pas de système d’exploitation mais en auront déjà un.\nstocké dans une mémoire non volatile (telle que flash ou ROM). Ceux qui\ncharger un système d&#39;exploitation, comme les téléphones Android basés sur ARM, par exemple,\nexécuter le code dans la mémoire en lecture seule (généralement dans la mémoire flash NOR)\nlorsque l&#39;appareil est allumé. Ce\nLe code d’amorçage est intégré à l’ASIC de la CPU sur certains périphériques.\nn&#39;avez pas besoin d&#39;une puce de mémoire flash séparée sur la carte.\nLorsque le système est réinitialisé (ce qui inclut une mise sous tension), le processeur\nest en mode superviseur (SVC) et les interruptions sont désactivées. Sur ARM\nsystèmes le processeur commence l&#39;exécution à l&#39;adresse\n0x00000000. La mémoire flash contenant le code de démarrage est\nmappé à l&#39;adresse 0x00000000 à la réinitialisation. Ce code effectue divers\ninitialisations, y compris la mise en place d&#39;une table de vecteur d&#39;exception\ndans la DRAM et la copie du code d’application de la ROM vers la DRAM (le code est exécuté plus rapidement)\nen DRAM). Le code remappe la DRAM à l&#39;adresse 0, donc\nmasquer la mémoire flash (le processeur a\nun bit REMAP pour changer le mappage de la mémoire flash). La mémoire\nle système est ensuite initialisé. Cela implique la configuration de la protection de la mémoire\net mettre en place les piles système. Les périphériques d’E / S sont ensuite initialisés et le\nle processeur est changé en mode utilisateur. Le firmware de démarrage détecte le démarrage\nsupport, charge et exécute le chargeur de démarrage de deuxième étape (si nécessaire).\nLa deuxième\nLe chargeur de démarrage est souvent GRUB pour les grands systèmes ou uBoot pour\nsystèmes embarqués. Ce chargeur de seconde étape charge les charges d’exploitation\nsystème et lui transfère le contrôle.\nAnciennes versions basées sur PowerPC des systèmes Apple Macintosh,\nOS 8 et OS X, étaient basés sur Open Firmware. Firmware ouvert\nest originaire de Sun et était utilisé sur des ordinateurs Sun non Intel.\nUne fois que Apple est passé aux systèmes Intel, il a adopté UEFI comme microprogramme au niveau de l’amorçage.\nMac plus anciens\nOpen Firmware est stocké dans la ROM et, à l&#39;instar du BIOS de l&#39;ordinateur, est exécuté à la mise sous tension.\nDepuis que Open Firmware a été conçu pour être indépendant de la plate-forme, il est\nimplémenté en Forth (un langage simple basé sur une pile) et compilé en bytecodes plutôt que natif\ninstructions de la machine. Le firmware contient un interpréteur de code d&#39;octet.\nContrairement au BIOS, Open Firmware fournit à l’utilisateur une ligne de commande\nprocesseur à partir duquel on peut éditer les paramètres de configuration du système,\ntels que réduire la quantité de mémoire physique, déboguer le système ou\nmême démarrer un serveur telnet pour pouvoir interagir avec le firmware\net démarrez le processus à partir d’une machine distante via une connexion Ethernet.\nAvant de démarrer le système d’exploitation, Open Firmware génère une arborescence de périphériques en analysant les composants de la carte mère et des périphériques d’extension. \nComme le BIOS du PC, Open Firmware contient des pilotes de périphérique que le logiciel\nprocessus de démarrage dans le firmware peut utiliser pour accéder au disque, clavier,\nsurveiller et réseau. Cependant, ces pilotes sont tous implémentés en FCode,\nle quatrième système de bytecode. Aussi, comme le BIOS, ces pilotes sont\nutilisé uniquement pendant le processus de démarrage. Le système d&#39;exploitation lui-même a\nses propres pilotes d&#39;exécution natifs.\nContrairement au BIOS, Open Firmware pourrait analyser les systèmes de fichiers HFS / HFS +\n(le système de fichiers natif sur Mac), vous pouvez donc utiliser le logiciel Open Firmware\ninterprète de commande à charger dans un fichier de démarrage à partir du disque dur et\nexécuter. Par défaut, Open Firmware charge un fichier à partir du système.\ncloison. Sur les systèmes OS 9, il s’agissait du fichier intitulé «Mac OS ROM».\ndans le Système dossier. Sur les systèmes OS X, il se charge\n/ Système / Bibliothèque / CoreServices / BootX. BootX est le chargeur de démarrage\nqui se charge ensuite dans le noyau.\nLe Mac aujourd&#39;hui\nLe Mac utilise UEFI pour le micrologiciel de son système.\nLorsque le Mac démarre, le premier code qui est exécuté est le\nBootROM. Ceci configure les pilotes EFI pour les périphériques matériels pertinents,\ninitialise certaines des interfaces matérielles, valide que suffisamment\nla mémoire est disponible et effectue un bref test automatique à la mise sous tension.\nContrairement au BIOS du PC, qui ne connaissait rien des systèmes de fichiers et pouvait\nlire des blocs de disque bruts, UEFI sur Mac a\nété prolongé pour analyser les deux FAT\n(systèmes de fichiers hérités DOS / Windows) et HFS + (Mac natif) sur un disque.\nIl lit le GPT (GUID Partition Table) pour identifier les partitions de disque.\nLe volume de démarrage par défaut est stocké dans la NVRAM. \nAu lieu de spécifier un chemin d&#39;accès à un chargeur de démarrage, le volume HFS +\nen-tête (données au début d’un système de fichiers HFS +) pointe vers\nune dossier béni ou répertoire béni (voir le\nbénisse la commande.\nSi un répertoire est béni, cela indique au micrologiciel EFI de regarder dans\nce répertoire pour le chargeur de démarrage. Si un fichier est béni,\nqui indique au micrologiciel EFI de charger ce fichier en tant que chargeur de démarrage\n(il existe des variantes supplémentaires, telles que le démarrage à partir d’un disque non monté\nle volume).\nPar défaut, le chargeur de démarrage est situé dans\n/System/Library/CoreServices/boot.efi sur la racine (souvent\nseulement) partition du disque.\nSinon, le micrologiciel prend en charge le téléchargement d’une seconde étape.\nchargeur de démarrage ou un noyau à partir d&#39;un serveur de réseau (serveur netboot).\nQuand le boot.efi fichier est chargé, l’ordinateur affiche un\nlogo Apple métallique sur l&#39;écran. Le chargeur de démarrage se charge dans le\nnoyau ainsi que les extensions de pilote essentielles, qui s&#39;exécutent ensuite\nlancé, qui exécute les divers scripts et programmes de démarrage.\nUne fois le noyau chargé, l’engrenage en rotation apparaît sous le\nLogo Apple. Lorsque le noyau exécute le premier processus, lancé, la\nl&#39;écran devient bleu.\nVous trouverez une description du démarrage d’OS X dans\nQu&#39;est-ce que Mac OS X?\nPour prendre en charge l’amorçage des systèmes d’exploitation basés sur le BIOS, tels que les anciens\nSystèmes Windows et Linux utilisant GRUB ou un autre logiciel compatible BIOS\nchargeurs de démarrage, l’EFI installe un «module de support de compatibilité»\n(CSM) du firmware du système. Cela commence alors un\nProcessus de démarrage basé sur le BIOS. Ce module de support de compatibilité est\nchargé uniquement lorsque l&#39;utilisateur sélectionne Windows comme système d&#39;exploitation par défaut à démarrer. le\nLe processus de démarrage est maintenant un démarrage standard basé sur le BIOS. Le maître botte\nRecord (MBR) est chargé et exécuté, ce qui localise et charge\nl&#39;enregistrement de démarrage en volume de la partition Windows (ou Linux).\nRéférences de démarrage Mac\nRéférences Mac OS X:\nCeci est une version mise à jour du document original qui a été écrit le 14 septembre 2010.","html":"<p>Démarrer avec UEFI\nAvec UEFI, le Master Boot Record n’est plus nécessaire.\nstocker un chargeur de démarrage de niveau 1; L&#039;UEFI a l&#039;intelligence d&#039;analyser un fichier\nsystème et charger un fichier seul, même si ce fichier n’occupe pas\nblocs de disques contigus.\nAu lieu de cela, l&#039;UEFI lit le GUID (Unique au monde\nIDentifier) Table de partition (TPG), qui est situé dans\nbloque immédiatement après le bloc 0 (où se trouve toujours le MBR)\npour des raisons d&#039;héritage). Le GPT décrit la disposition de la partition\ntable sur un disque. A partir de là, le chargeur de démarrage EFI identifie le fichier EFI.\nPartition système. Cette partition système contient des chargeurs de démarrage pour\ntous les systèmes d&#039;exploitation installés sur d&#039;autres partitions du\ndispositif. Pour les systèmes Windows compatibles EFI,\nL&#039;UEFI charge le\nGestionnaire de démarrage de Windows (bootmgfw.efi). Pour les anciens systèmes NT 64 bits, EFI\nchargerait IA64ldr. Pour Linux, il y a beaucoup d&#039;options. Deux communs\nd’utiliser une version compatible EFI de GRUB (le Grand Unified\nBootloader) et chargez un fichier tel que grub.efi ou avoir une charge EFI\ncharge elilo.efi, le chargeur EFI.\nEn général, même avec UEFI, l’approche dominante consiste à charger un\nchargeur dédié à un système d&#039;exploitation spécifique plutôt que de charge\nce système d&#039;exploitation directement. Cependant, la nécessité d&#039;un système multi-étapes\nprocessus de démarrage qui nécessite le chargement de plusieurs chargeurs de démarrage est non\nplus nécessaire. \nNotre discussion entière jusqu’à présent s’est concentrée sur le démarrage avec Intel\nArchitecture basée sur PC (qui comprend la compatibilité IA – 32 / IA – 64\narchitectures, telles que celles de AMD). C&#039;est l&#039;architecture dominante\nd’aujourd’hui (ordinateurs portables par le biais de serveurs), mais il existe de très nombreuses\npériphériques non-Intel, en particulier dans les périphériques intégrés, tels que\ncomme les téléphones cellulaires. Et eux?\nIl existe de nombreuses implémentations du processus de démarrage. Beaucoup intégré\nLes périphériques ne chargeront pas de système d’exploitation mais en auront déjà un.\nstocké dans une mémoire non volatile (telle que flash ou ROM). Ceux qui\ncharger un système d&#039;exploitation, comme les téléphones Android basés sur ARM, par exemple,\nexécuter le code dans la mémoire en lecture seule (généralement dans la mémoire flash NOR)\nlorsque l&#039;appareil est allumé. Ce\nLe code d’amorçage est intégré à l’ASIC de la CPU sur certains périphériques.\nn&#039;avez pas besoin d&#039;une puce de mémoire flash séparée sur la carte.\nLorsque le système est réinitialisé (ce qui inclut une mise sous tension), le processeur\nest en mode superviseur (SVC) et les interruptions sont désactivées. Sur ARM\nsystèmes le processeur commence l&#039;exécution à l&#039;adresse\n0x00000000. La mémoire flash contenant le code de démarrage est\nmappé à l&#039;adresse 0x00000000 à la réinitialisation. Ce code effectue divers\ninitialisations, y compris la mise en place d&#039;une table de vecteur d&#039;exception\ndans la DRAM et la copie du code d’application de la ROM vers la DRAM (le code est exécuté plus rapidement)\nen DRAM). Le code remappe la DRAM à l&#039;adresse 0, donc\nmasquer la mémoire flash (le processeur a\nun bit REMAP pour changer le mappage de la mémoire flash). La mémoire\nle système est ensuite initialisé. Cela implique la configuration de la protection de la mémoire\net mettre en place les piles système. Les périphériques d’E / S sont ensuite initialisés et le\nle processeur est changé en mode utilisateur. Le firmware de démarrage détecte le démarrage\nsupport, charge et exécute le chargeur de démarrage de deuxième étape (si nécessaire).\nLa deuxième\nLe chargeur de démarrage est souvent GRUB pour les grands systèmes ou uBoot pour\nsystèmes embarqués. Ce chargeur de seconde étape charge les charges d’exploitation\nsystème et lui transfère le contrôle.\nAnciennes versions basées sur PowerPC des systèmes Apple Macintosh,\nOS 8 et OS X, étaient basés sur Open Firmware. Firmware ouvert\nest originaire de Sun et était utilisé sur des ordinateurs Sun non Intel.\nUne fois que Apple est passé aux systèmes Intel, il a adopté UEFI comme microprogramme au niveau de l’amorçage.\nMac plus anciens\nOpen Firmware est stocké dans la ROM et, à l&#039;instar du BIOS de l&#039;ordinateur, est exécuté à la mise sous tension.\nDepuis que Open Firmware a été conçu pour être indépendant de la plate-forme, il est\nimplémenté en Forth (un langage simple basé sur une pile) et compilé en bytecodes plutôt que natif\ninstructions de la machine. Le firmware contient un interpréteur de code d&#039;octet.\nContrairement au BIOS, Open Firmware fournit à l’utilisateur une ligne de commande\nprocesseur à partir duquel on peut éditer les paramètres de configuration du système,\ntels que réduire la quantité de mémoire physique, déboguer le système ou\nmême démarrer un serveur telnet pour pouvoir interagir avec le firmware\net démarrez le processus à partir d’une machine distante via une connexion Ethernet.\nAvant de démarrer le système d’exploitation, Open Firmware génère une arborescence de périphériques en analysant les composants de la carte mère et des périphériques d’extension. \nComme le BIOS du PC, Open Firmware contient des pilotes de périphérique que le logiciel\nprocessus de démarrage dans le firmware peut utiliser pour accéder au disque, clavier,\nsurveiller et réseau. Cependant, ces pilotes sont tous implémentés en FCode,\nle quatrième système de bytecode. Aussi, comme le BIOS, ces pilotes sont\nutilisé uniquement pendant le processus de démarrage. Le système d&#039;exploitation lui-même a\nses propres pilotes d&#039;exécution natifs.\nContrairement au BIOS, Open Firmware pourrait analyser les systèmes de fichiers HFS / HFS +\n(le système de fichiers natif sur Mac), vous pouvez donc utiliser le logiciel Open Firmware\ninterprète de commande à charger dans un fichier de démarrage à partir du disque dur et\nexécuter. Par défaut, Open Firmware charge un fichier à partir du système.\ncloison. Sur les systèmes OS 9, il s’agissait du fichier intitulé «Mac OS ROM».\ndans le Système dossier. Sur les systèmes OS X, il se charge\n/ Système / Bibliothèque / CoreServices / BootX. BootX est le chargeur de démarrage\nqui se charge ensuite dans le noyau.\nLe Mac aujourd&#039;hui\nLe Mac utilise UEFI pour le micrologiciel de son système.\nLorsque le Mac démarre, le premier code qui est exécuté est le\nBootROM. Ceci configure les pilotes EFI pour les périphériques matériels pertinents,\ninitialise certaines des interfaces matérielles, valide que suffisamment\nla mémoire est disponible et effectue un bref test automatique à la mise sous tension.\nContrairement au BIOS du PC, qui ne connaissait rien des systèmes de fichiers et pouvait\nlire des blocs de disque bruts, UEFI sur Mac a\nété prolongé pour analyser les deux FAT\n(systèmes de fichiers hérités DOS / Windows) et HFS + (Mac natif) sur un disque.\nIl lit le GPT (GUID Partition Table) pour identifier les partitions de disque.\nLe volume de démarrage par défaut est stocké dans la NVRAM. \nAu lieu de spécifier un chemin d&#039;accès à un chargeur de démarrage, le volume HFS +\nen-tête (données au début d’un système de fichiers HFS +) pointe vers\nune dossier béni ou répertoire béni (voir le\nbénisse la commande.\nSi un répertoire est béni, cela indique au micrologiciel EFI de regarder dans\nce répertoire pour le chargeur de démarrage. Si un fichier est béni,\nqui indique au micrologiciel EFI de charger ce fichier en tant que chargeur de démarrage\n(il existe des variantes supplémentaires, telles que le démarrage à partir d’un disque non monté\nle volume).\nPar défaut, le chargeur de démarrage est situé dans\n/System/Library/CoreServices/boot.efi sur la racine (souvent\nseulement) partition du disque.\nSinon, le micrologiciel prend en charge le téléchargement d’une seconde étape.\nchargeur de démarrage ou un noyau à partir d&#039;un serveur de réseau (serveur netboot).\nQuand le boot.efi fichier est chargé, l’ordinateur affiche un\nlogo Apple métallique sur l&#039;écran. Le chargeur de démarrage se charge dans le\nnoyau ainsi que les extensions de pilote essentielles, qui s&#039;exécutent ensuite\nlancé, qui exécute les divers scripts et programmes de démarrage.\nUne fois le noyau chargé, l’engrenage en rotation apparaît sous le\nLogo Apple. Lorsque le noyau exécute le premier processus, lancé, la\nl&#039;écran devient bleu.\nVous trouverez une description du démarrage d’OS X dans\nQu&#039;est-ce que Mac OS X?\nPour prendre en charge l’amorçage des systèmes d’exploitation basés sur le BIOS, tels que les anciens\nSystèmes Windows et Linux utilisant GRUB ou un autre logiciel compatible BIOS\nchargeurs de démarrage, l’EFI installe un «module de support de compatibilité»\n(CSM) du firmware du système. Cela commence alors un\nProcessus de démarrage basé sur le BIOS. Ce module de support de compatibilité est\nchargé uniquement lorsque l&#039;utilisateur sélectionne Windows comme système d&#039;exploitation par défaut à démarrer. le\nLe processus de démarrage est maintenant un démarrage standard basé sur le BIOS. Le maître botte\nRecord (MBR) est chargé et exécuté, ce qui localise et charge\nl&#039;enregistrement de démarrage en volume de la partition Windows (ou Linux).\nRéférences de démarrage Mac\nRéférences Mac OS X:\nCeci est une version mise à jour du document original qui a été écrit le 14 septembre 2010.</p>"}],"sections":[{"id":"text-1","heading":"Text","content":"Contenus\nToggleComment gérez-vous ce premier programme?Étape 1: le Master Boot RecordÉtape 2: l&#39;enregistrement de démarrage en volumeAu-delà de WindowsAu revoir, BIOS. Bonjour UEFIDémarrer avec UEFIMac plus anciensLe Mac aujourd&#39;hui\n    Comment gérez-vous ce premier programme? \n    Paul Krzyzanowski \n    26 janvier 2015"},{"id":"text-2","heading":"Text","content":"Un système d’exploitation est parfois décrit comme «le premier programme».\ncelui qui vous permet d’exécuter d’autres programmes. Cependant, il est généralement stocké\nen tant que fichier (ou, plus généralement, une collection de fichiers) sur un disque.\nComment fonctionne ce &quot;premier&quot; programme?\nPanneau avant du PDP – 11/70\nLe système d&#39;exploitation est chargé via un amorçage processus, plus\nsuccinctement appelé démarrage. UNE chargeur de démarrage est un programme dont\ntâche est de charger un plus grand\nprogramme, tel que le système d&#39;exploitation. \nLorsque vous allumez un ordinateur, sa mémoire est généralement non initialisée. Par conséquent,\nil n&#39;y a rien à courir. De bonne heure\nles ordinateurs auraient du matériel qui permettrait à l&#39;opérateur de\nappuyez sur un bouton pour charger une séquence d&#39;octets à partir de cartes perforées,\nbande de papier perforée, ou un lecteur de bande. Allume l’ordinateur\npanneau définirait la source des données et l&#39;adresse de la mémoire cible.\nDans certains cas, le logiciel du chargeur de démarrage serait câblé comme\nmémoire non volatile (dans les premiers ordinateurs, ce serait une grille de\nfils avec des coupures aux endroits appropriés où un 0-bit était nécessaire).\nDans les premiers systèmes de mini-ordinateurs et de micro-ordinateurs,\nun opérateur informatique utiliserait les interrupteurs\nle panneau avant de l’ordinateur pour basculer dans le code et le charger dans un fichier plus volumineux.\nprogramme, en programmant chaque emplacement de mémoire, puis en démarrant la\nprogramme. Ce programme peut faire quelque chose de fondamental, comme lire successivement\noctets en mémoire d’une bande de papier attachée à un téléscripteur. \nDans les systèmes ultérieurs, la mémoire en lecture seule contiendrait un petit chargeur de démarrage\nqui aurait l&#39;intelligence de base pour lire, par exemple, le premier secteur\n(512 octets) d&#39;un disque.\nComme ce programme initial devait être aussi réduit que possible, il serait\navoir des capacités minimales. Ce qui est souvent arrivé c&#39;est que la botte\nchargeur chargerait un autre chargeur de démarrage, appelé un Deuxième étape\nchargeur, qui était plus sophistiqué. Ce chargeur de deuxième étape\naurait une erreur de vérification, parmi éventuellement d&#39;autres fonctionnalités, telles que\ndonnant à l&#39;utilisateur un choix de systèmes d&#39;exploitation à démarrer, la possibilité\ncharger un logiciel de diagnostic ou activer les modes de diagnostic dans\nsystème opérateur. Ce chargeur de démarrage en plusieurs étapes, avoir une botte\nloader charger un plus gros chargeur de démarrage, est appelé chargement de la chaîne.\nLe chargeur de démarrage effectue souvent une initialisation de base du système\nmatériel et chargera ensuite le système d&#39;exploitation. Une fois le fonctionnement\nsystème est chargé, le chargeur de démarrage lui transfère le contrôle et est\nne sont plus nécessaires. Le système d&#39;exploitation va s&#39;initialiser,\nconfigurer le matériel du système (par exemple, configurer la gestion de la mémoire, définir\nminuteries, définissez les interruptions) et chargez les pilotes de périphérique, si nécessaire.\nPour concrétiser l’exemple du processus de démarrage, prenons un exemple.\nRegardez les ordinateurs compatibles Intel 32 bits (nous allons arriver un peu aux systèmes 64 bits). Ce\nL’architecture est appelée IA – 32 (architecture Intel, 32 bits) et\ndéfinit le jeu d&#39;instructions de la plupart des microprocesseurs Intel depuis le\nIntel 80386 introduit en 1986. Il est toujours pris en charge sur\nDerniers processeurs d’Intel.\nUn ordinateur basé sur IA – 32 devrait avoir un BIOS (Système d&#39;entrée / sortie de base,\nqui comprend le firmware du chargeur de démarrage) en mémoire non volatile\n(ROM dans le passé et mémoire flash NOR ces jours-ci). Le BIOS est un\ndescendant du BIOS trouvé sur les premiers systèmes CP / M en ce qu&#39;il contient\nfonctions de bas niveau pour accéder à certains périphériques de base du système, tels que\neffectuer des E / S sur le disque, lire à partir du clavier et accéder au\naffichage vidéo. Il contient également du code pour charger un chargeur de démarrage étape 1.\nLorsque la CPU est réinitialisée au démarrage, l’ordinateur démarre à l’exécution.\nemplacement mémoire 0xffff0 (L’architecture IA – 32 utilise un\nsegment: forme d&#39;adressage offset; le segment de code est défini sur\n0xf000 et le pointeur d&#39;instruction est réglé sur fff0).\nLe processeur démarre dans mode réel, ce qui lui donne accès à\nseulement un espace d&#39;adressage mémoire de 20 bits et lui fournit un accès direct à\nE / S, interruptions et mémoire (adressage 32 bits et mémoire virtuelle)\nentre en jeu lorsque le processeur est mis en mode protégé).\nL&#39;emplacement sur 0xffff0 est en fait à la fin de la\nBIOS ROM et contient une instruction de saut à une région du\nBIOS contenant le code de démarrage. \nAu démarrage, le BIOS passe par la séquence suivante:"},{"id":"text-3","heading":"Text","content":"Auto-test à la mise sous tension (POST)\nDétecter le BIOS de la carte vidéo (puce) et exécuter son code pour initialiser le matériel vidéo\nDétecter tout autre BIOS de périphérique et invoquer ses fonctions d&#39;initialisation\nAfficher l&#39;écran de démarrage du BIOS\nEffectuer un bref test de mémoire (identifier la quantité de mémoire disponible dans le système)\nDéfinir les paramètres de mémoire et de lecteur\nConfigurer les périphériques Plug &amp; Play (traditionnellement les périphériques à bus PCI)\nAttribuer des ressources (canaux DMA et IRQ)\nIdentifier le périphérique de démarrage"},{"id":"text-4","heading":"Text","content":"Lorsque le BIOS identifie le périphérique d’amorçage (généralement l’un des plusieurs\ndisques qui ont été étiquetés en tant que disque amorçable), il lit\nbloquer 0 de cet appareil dans l&#39;emplacement mémoire 0x7c00 et\nsaute là.\nÉtape 1: le Master Boot Record\nCe premier bloc de disque, le bloc 0, est appelé le Enregistrement de démarrage principal (MBR) et contient\nla première étape du chargeur de démarrage. Comme la taille de bloc standard est de 512 octets, le chargeur de démarrage complet doit tenir\ndans cet espace. Le contenu du MBR est:"},{"id":"text-5","heading":"Text","content":"Premier chargeur de démarrage (≤ 440 octets)\nSignature de disque (4 octets)\nTable de partition de disque, qui identifie différentes régions du disque (16 octets par partition × 4 partitions)"},{"id":"text-6","heading":"Text","content":"Étape 2: l&#39;enregistrement de démarrage en volume\nUne fois que le BIOS transfère le contrôle au début du MBR qui était\nchargé en mémoire, le code MBR parcourt sa table de partition\net charge le Enregistrement de démarrage en volume (VBR) pour cette partition.\nLe VBR est une séquence de blocs consécutifs commençant\nau premier bloc de disque du destinataire\ncloison. Le premier bloc du VBR identifie le type de partition\net la taille et contient un Chargeur de programme initial (IPL), qui est un code qui\nchargera les blocs supplémentaires qui composent le deuxième étape démarrage\nchargeur. Sur les systèmes dérivés de Windows NT (Windows Server, par exemple)\n2012, Windows 8), l’IPL charge un programme appelé NTLDR, qui charge ensuite\nle système d&#39;exploitation.\nUne des raisons pour lesquelles les chargeurs de démarrage de bas niveau ont des difficultés avec\ncharger un système d’exploitation complet, en particulier un système pouvant être composé de plusieurs\nfichiers, est que cela nécessite la possibilité d&#39;analyser un système de fichiers\nstructure. Cela signifie comprendre comment les répertoires et les noms de fichiers\nsont disposés et comment trouver les blocs de données qui correspondent à un\nfichier spécifique. Sans beaucoup de code, il est beaucoup plus facile de simplement\nlire des blocs consécutifs. Un chargeur de niveau supérieur, tel que NTLDR de Microsoft,\npeut lire les formats de fichier NTFS, FAT et ISO 9660 (CD).\nAu-delà de Windows\nIl existe de nombreuses variantes pour démarrer d&#39;autres systèmes d&#39;exploitation sur un PC Intel.\nUn chargeur de démarrage populaire sur les systèmes Linux est\nGRUB, ou GRand Unified\nChargeur de démarrage. GRUB est également un chargeur de démarrage multi-étages. Le BIOS, bien sûr, fait ce qu’il fait toujours:\nidentifie un périphérique amorçable, charge le Master Boot Record et transfère le contrôle à ce dernier\ncode.\nSous GRUB, le MBR contient généralement un chargeur de démarrage de première étape appelé GRUB Stage 1. Ce chargeur de démarrage de l&#39;étape 1 se charge GRUB Stage 2.\nLe chargeur de l&#39;étape 2 présente à l&#39;utilisateur un choix de systèmes d&#39;exploitation à démarrer et permet à l&#39;utilisateur de spécifier\ntous les paramètres de démarrage supplémentaires pour ces systèmes (par exemple, forcer la mémoire maximale, activer le débogage). Alors\nlit dans le noyau du système d’exploitation sélectionné et lui transfère le contrôle.\nUn problème spécifique lié à l’utilisation de GRUB pour démarrer Windows est que Windows n’est pas compatible.\nMultiboot\nconforme. Multiboot est une spécification de la Free Software Foundation permettant de charger plusieurs systèmes d&#39;exploitation à l&#39;aide de\nun chargeur de démarrage unique. Dans ce cas, GRUB simule un processus de démarrage Windows classique. Il\ndémarre un chargeur de démarrage qui résiderait normalement dans le MBR\n(ou exécutez le programme de menu de démarrage Windows). À partir de ce moment, GRUB n’a plus sa place, Windows\nn&#39;a aucune idée de ce qui s&#39;est passé et le processus de démarrage natif de Windows prend le relais.\nAu revoir, BIOS. Bonjour UEFI\nLorsque les architectures 64 bits ont émergé pour remplacer les architectures 32 bits, le BIOS commençait à paraître\nassez daté. Intel a entrepris de créer une spécification du successeur du BIOS sans restrictions sur\navoir à exécuter le code de démarrage en mode 16 bits avec un adressage 20 bits. Cette spécification est appelée Interface de micrologiciel extensible unifiée,\nou UEFI.\nBien que développé par Intel, il était géré depuis 2005 par le Unified EFI Forum. Il\nest utilisé par de nombreux systèmes 64 bits plus récents, y compris les Mac, qui prennent également en charge le BIOS existant pour exécuter Windows.\nParmi les fonctionnalités prises en charge par EFI, citons:"},{"id":"text-7","heading":"Text","content":"Composants du BIOS\npréservé certains composants du BIOS, y compris l&#39;alimentation\n gestion (configuration avancée et interface d&#39;alimentation, ACPI)\n et des composants de gestion du système (par exemple, lecture et définition de la date).\nPrise en charge des disques plus grands\nLe BIOS ne supportait que quatre partitions par disque, avec une capacité\n jusqu&#39;à 2,2 To par partition. UEFI supporte une partition maximale\n taille de 9,4 ZB (9,4 × 1021 octets).\nPas besoin de démarrer en mode 16 bits (réel)\nL’environnement d’exécution préalable au démarrage vous donne un accès direct à toute la mémoire système.\nPilotes de périphérique\nUEFI inclut les pilotes de périphérique, y compris la capacité d&#39;interpréter\n EFI Byte Code (EBC) indépendant de l&#39;architecture. Utilisation des systèmes d&#39;exploitation\n Cependant, comme avec le BIOS, leurs propres pilotes\n les pilotes ne sont généralement utilisés que pour le processus de démarrage.\nGestionnaire de démarrage\nCeci est important. L&#39;ancien BIOS n&#39;avait que l&#39;intelligence\n charger un seul bloc, ce qui nécessite un démarrage en plusieurs étapes\n processus. L&#39;UEFI a son propre interpréteur de commande\n et gestionnaire de démarrage complet. Vous n&#39;avez plus besoin d&#39;un démarrage dédié\n chargeur. Tant que vous placez les fichiers de démarrage dans le fichier de démarrage UEFI\n partition, formatée en tant que système de fichiers FAT (la norme\n format du système de fichiers dans les anciens systèmes Windows; un qui à peu près\n chaque système d&#39;exploitation sait comment gérer).\nExtensibilité\nLe firmware est extensible. Les extensions au format UEFI peuvent être chargées dans une mémoire non volatile."},{"id":"text-8","heading":"Text","content":"Démarrer avec UEFI\nAvec UEFI, le Master Boot Record n’est plus nécessaire.\nstocker un chargeur de démarrage de niveau 1; L&#39;UEFI a l&#39;intelligence d&#39;analyser un fichier\nsystème et charger un fichier seul, même si ce fichier n’occupe pas\nblocs de disques contigus.\nAu lieu de cela, l&#39;UEFI lit le GUID (Unique au monde\nIDentifier) Table de partition (TPG), qui est situé dans\nbloque immédiatement après le bloc 0 (où se trouve toujours le MBR)\npour des raisons d&#39;héritage). Le GPT décrit la disposition de la partition\ntable sur un disque. A partir de là, le chargeur de démarrage EFI identifie le fichier EFI.\nPartition système. Cette partition système contient des chargeurs de démarrage pour\ntous les systèmes d&#39;exploitation installés sur d&#39;autres partitions du\ndispositif. Pour les systèmes Windows compatibles EFI,\nL&#39;UEFI charge le\nGestionnaire de démarrage de Windows (bootmgfw.efi). Pour les anciens systèmes NT 64 bits, EFI\nchargerait IA64ldr. Pour Linux, il y a beaucoup d&#39;options. Deux communs\nd’utiliser une version compatible EFI de GRUB (le Grand Unified\nBootloader) et chargez un fichier tel que grub.efi ou avoir une charge EFI\ncharge elilo.efi, le chargeur EFI.\nEn général, même avec UEFI, l’approche dominante consiste à charger un\nchargeur dédié à un système d&#39;exploitation spécifique plutôt que de charge\nce système d&#39;exploitation directement. Cependant, la nécessité d&#39;un système multi-étapes\nprocessus de démarrage qui nécessite le chargement de plusieurs chargeurs de démarrage est non\nplus nécessaire. \nNotre discussion entière jusqu’à présent s’est concentrée sur le démarrage avec Intel\nArchitecture basée sur PC (qui comprend la compatibilité IA – 32 / IA – 64\narchitectures, telles que celles de AMD). C&#39;est l&#39;architecture dominante\nd’aujourd’hui (ordinateurs portables par le biais de serveurs), mais il existe de très nombreuses\npériphériques non-Intel, en particulier dans les périphériques intégrés, tels que\ncomme les téléphones cellulaires. Et eux?\nIl existe de nombreuses implémentations du processus de démarrage. Beaucoup intégré\nLes périphériques ne chargeront pas de système d’exploitation mais en auront déjà un.\nstocké dans une mémoire non volatile (telle que flash ou ROM). Ceux qui\ncharger un système d&#39;exploitation, comme les téléphones Android basés sur ARM, par exemple,\nexécuter le code dans la mémoire en lecture seule (généralement dans la mémoire flash NOR)\nlorsque l&#39;appareil est allumé. Ce\nLe code d’amorçage est intégré à l’ASIC de la CPU sur certains périphériques.\nn&#39;avez pas besoin d&#39;une puce de mémoire flash séparée sur la carte.\nLorsque le système est réinitialisé (ce qui inclut une mise sous tension), le processeur\nest en mode superviseur (SVC) et les interruptions sont désactivées. Sur ARM\nsystèmes le processeur commence l&#39;exécution à l&#39;adresse\n0x00000000. La mémoire flash contenant le code de démarrage est\nmappé à l&#39;adresse 0x00000000 à la réinitialisation. Ce code effectue divers\ninitialisations, y compris la mise en place d&#39;une table de vecteur d&#39;exception\ndans la DRAM et la copie du code d’application de la ROM vers la DRAM (le code est exécuté plus rapidement)\nen DRAM). Le code remappe la DRAM à l&#39;adresse 0, donc\nmasquer la mémoire flash (le processeur a\nun bit REMAP pour changer le mappage de la mémoire flash). La mémoire\nle système est ensuite initialisé. Cela implique la configuration de la protection de la mémoire\net mettre en place les piles système. Les périphériques d’E / S sont ensuite initialisés et le\nle processeur est changé en mode utilisateur. Le firmware de démarrage détecte le démarrage\nsupport, charge et exécute le chargeur de démarrage de deuxième étape (si nécessaire).\nLa deuxième\nLe chargeur de démarrage est souvent GRUB pour les grands systèmes ou uBoot pour\nsystèmes embarqués. Ce chargeur de seconde étape charge les charges d’exploitation\nsystème et lui transfère le contrôle.\nAnciennes versions basées sur PowerPC des systèmes Apple Macintosh,\nOS 8 et OS X, étaient basés sur Open Firmware. Firmware ouvert\nest originaire de Sun et était utilisé sur des ordinateurs Sun non Intel.\nUne fois que Apple est passé aux systèmes Intel, il a adopté UEFI comme microprogramme au niveau de l’amorçage.\nMac plus anciens\nOpen Firmware est stocké dans la ROM et, à l&#39;instar du BIOS de l&#39;ordinateur, est exécuté à la mise sous tension.\nDepuis que Open Firmware a été conçu pour être indépendant de la plate-forme, il est\nimplémenté en Forth (un langage simple basé sur une pile) et compilé en bytecodes plutôt que natif\ninstructions de la machine. Le firmware contient un interpréteur de code d&#39;octet.\nContrairement au BIOS, Open Firmware fournit à l’utilisateur une ligne de commande\nprocesseur à partir duquel on peut éditer les paramètres de configuration du système,\ntels que réduire la quantité de mémoire physique, déboguer le système ou\nmême démarrer un serveur telnet pour pouvoir interagir avec le firmware\net démarrez le processus à partir d’une machine distante via une connexion Ethernet.\nAvant de démarrer le système d’exploitation, Open Firmware génère une arborescence de périphériques en analysant les composants de la carte mère et des périphériques d’extension. \nComme le BIOS du PC, Open Firmware contient des pilotes de périphérique que le logiciel\nprocessus de démarrage dans le firmware peut utiliser pour accéder au disque, clavier,\nsurveiller et réseau. Cependant, ces pilotes sont tous implémentés en FCode,\nle quatrième système de bytecode. Aussi, comme le BIOS, ces pilotes sont\nutilisé uniquement pendant le processus de démarrage. Le système d&#39;exploitation lui-même a\nses propres pilotes d&#39;exécution natifs.\nContrairement au BIOS, Open Firmware pourrait analyser les systèmes de fichiers HFS / HFS +\n(le système de fichiers natif sur Mac), vous pouvez donc utiliser le logiciel Open Firmware\ninterprète de commande à charger dans un fichier de démarrage à partir du disque dur et\nexécuter. Par défaut, Open Firmware charge un fichier à partir du système.\ncloison. Sur les systèmes OS 9, il s’agissait du fichier intitulé «Mac OS ROM».\ndans le Système dossier. Sur les systèmes OS X, il se charge\n/ Système / Bibliothèque / CoreServices / BootX. BootX est le chargeur de démarrage\nqui se charge ensuite dans le noyau.\nLe Mac aujourd&#39;hui\nLe Mac utilise UEFI pour le micrologiciel de son système.\nLorsque le Mac démarre, le premier code qui est exécuté est le\nBootROM. Ceci configure les pilotes EFI pour les périphériques matériels pertinents,\ninitialise certaines des interfaces matérielles, valide que suffisamment\nla mémoire est disponible et effectue un bref test automatique à la mise sous tension.\nContrairement au BIOS du PC, qui ne connaissait rien des systèmes de fichiers et pouvait\nlire des blocs de disque bruts, UEFI sur Mac a\nété prolongé pour analyser les deux FAT\n(systèmes de fichiers hérités DOS / Windows) et HFS + (Mac natif) sur un disque.\nIl lit le GPT (GUID Partition Table) pour identifier les partitions de disque.\nLe volume de démarrage par défaut est stocké dans la NVRAM. \nAu lieu de spécifier un chemin d&#39;accès à un chargeur de démarrage, le volume HFS +\nen-tête (données au début d’un système de fichiers HFS +) pointe vers\nune dossier béni ou répertoire béni (voir le\nbénisse la commande.\nSi un répertoire est béni, cela indique au micrologiciel EFI de regarder dans\nce répertoire pour le chargeur de démarrage. Si un fichier est béni,\nqui indique au micrologiciel EFI de charger ce fichier en tant que chargeur de démarrage\n(il existe des variantes supplémentaires, telles que le démarrage à partir d’un disque non monté\nle volume).\nPar défaut, le chargeur de démarrage est situé dans\n/System/Library/CoreServices/boot.efi sur la racine (souvent\nseulement) partition du disque.\nSinon, le micrologiciel prend en charge le téléchargement d’une seconde étape.\nchargeur de démarrage ou un noyau à partir d&#39;un serveur de réseau (serveur netboot).\nQuand le boot.efi fichier est chargé, l’ordinateur affiche un\nlogo Apple métallique sur l&#39;écran. Le chargeur de démarrage se charge dans le\nnoyau ainsi que les extensions de pilote essentielles, qui s&#39;exécutent ensuite\nlancé, qui exécute les divers scripts et programmes de démarrage.\nUne fois le noyau chargé, l’engrenage en rotation apparaît sous le\nLogo Apple. Lorsque le noyau exécute le premier processus, lancé, la\nl&#39;écran devient bleu.\nVous trouverez une description du démarrage d’OS X dans\nQu&#39;est-ce que Mac OS X?\nPour prendre en charge l’amorçage des systèmes d’exploitation basés sur le BIOS, tels que les anciens\nSystèmes Windows et Linux utilisant GRUB ou un autre logiciel compatible BIOS\nchargeurs de démarrage, l’EFI installe un «module de support de compatibilité»\n(CSM) du firmware du système. Cela commence alors un\nProcessus de démarrage basé sur le BIOS. Ce module de support de compatibilité est\nchargé uniquement lorsque l&#39;utilisateur sélectionne Windows comme système d&#39;exploitation par défaut à démarrer. le\nLe processus de démarrage est maintenant un démarrage standard basé sur le BIOS. Le maître botte\nRecord (MBR) est chargé et exécuté, ce qui localise et charge\nl&#39;enregistrement de démarrage en volume de la partition Windows (ou Linux).\nRéférences de démarrage Mac\nRéférences Mac OS X:\nCeci est une version mise à jour du document original qui a été écrit le 14 septembre 2010."}],"media":{"primary_image":""},"relations":[{"rel":"canonical","href":"https://ipom.fr/2019/06/11/demarrer-un-systeme-dexploitation/"},{"rel":"alternate","href":"https://ipom.fr/2019/06/11/demarrer-un-systeme-dexploitation/llm","type":"text/html"},{"rel":"alternate","href":"https://ipom.fr/2019/06/11/demarrer-un-systeme-dexploitation/llm.json","type":"application/json"},{"rel":"llm-manifest","href":"https://ipom.fr/llm-endpoints-manifest.json","type":"application/json"}],"http_headers":{"X-LLM-Friendly":"1","X-LLM-Schema":"1.1.0","Content-Security-Policy":"default-src 'none'; img-src * data:; style-src 'unsafe-inline'"},"license":"CC BY-ND 4.0","attribution_required":true,"allow_cors":false}