NTLDR

NTLDR

NTLDR, qui signifie NT Loader, est le nom du chargeur d'amorçage de Windows 2003, XP, 2000 et NT 4.0 et NT 3.x sur les processeurs x86 et x86-64 (AMD64 et Intel 64) ; par contre, les versions actuelles de Windows (Vista, Windows 7 et Windows Server 2008) ne l'utilisent plus.

NTLDR permet de choisir, lorsque plusieurs systèmes Microsoft Windows sont installés sur une même machine, quel système on souhaite amorcer. C'est la partition choisie qui est considérée dans le cas général comme disque logique C:, bien que la séparation entre le disque de boot et le disque système soit prévue par ailleurs au niveau de NT et de ses successeurs.

Le fichier de configuration de NTLDR, boot.ini est en ASCII (il est assez similaire au fichier de configuration utilisé par GRUB).

Sommaire

Processus de démarrage

Voir Processus de démarrage de Windows NT

NTLDR passe le système en mode protégé et il gère les tables spécifiques aux processeurs de la famille x86 :

NTLDR charge également le noyau windows NT (en général : Ntoskrnl.exe), les fichiers hal.dll (couche d'abstraction matériel), ntdetect.com ; puis il passe la main au noyau.

Fichier boot.ini

Outils graphique pour le paramétrage de NTLDR via boot.ini

Le paramétrage de NTLDR est fait par le fichier boot.ini. Il est possible de le modifier avec l'un des outils suivants :

  • L'utilitaire graphique MsConfig.exe[1] de Microsoft
  • Via l'item système du panneau de configuration, onglet avancé, dans démarrage et récupération
  • Un éditeur de texte quelconque (Wordpad.exe, ou NotePad.exe) ; dans ce cas, il ne faut pas faire d'erreur sur la syntaxe (respecter le format fichier initialisation). Toute erreur grossière risquerait de rendre impossible le boot pour un non-informaticien
  • L'utilitaire en ligne de commande BOOTCFG de Microsoft
  • Utilitaire de Symantec : L'outil GDISK32.EXE de Ghost

Exemple de fichier boot.ini

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
C:\bootsect.dos="Windows 98 exemple concernant wikipédia"

Les switch du noyau Windows

Microsoft publie les explications sur ces switch sur son site web[2].

Sécurité

  • Le switch noexecute=optin permet d'installer la sécurité DEP (Data Execution Prevention)[3]. Sur Windows XP service pack 2 et Windows Server 2003, il est installé automatiquement.

Analyser les différentes étapes du boot

Le switch bootlog permet de lister les différents modules chargés durant le boot ; le résultat est écrit dans le fichier de log %SystemRoot%\ntbtlog.txt: Les 2 premiers modules sont dans l'ordre :

Puis viennent les nombreux pilotes.

Le switch sos permet de détailler 3 étapes du boot, directement sur l'écran :

  1. Le chargement de chaque module (la liste est longue, mais elle n'apparaît que fugitivement à l'écran car cette étape dure très peu de temps)
  2. La version du système d'exploitation, le nombre de processeur, la quantité de RAM
  3. La phase de vérification des différents systèmes de fichiers (déclenché par le gestionnaire de sessions)

Le switch basevideo permet d'analyser les problèmes liés à un pilote vidéo. Il remplace le pilote vidéo par le pilote VGA de base.

Les autres switch sont réservés à des programmeurs, capables d'utiliser les outils de débogage fournis par Microsoft[4]. Ces switch de débogage sont :

  • Le switch crashdebug
  • Le switch debug
  • Le switch debugport=comx
  • Le switch baudrate=nnn paramètre le taux en baud du port de débogage du noyau
  • Le switch nodebug
  • Le switch /channel permet de déboguer certains problèmes FireWire (IEEE1394)

Les 4 valeurs du switch safeboot

  • /safeboot

Mettre un autre noyau ou un autre hal.dll

Le noyau et hal.dll peuvent être remplacés respectivement par les switch kernel et HAL.

Réduire le temps de boot

Le switch /fastdetect permet d'éviter le temps d'attente sur la détection de la souris. Dans certains cas, il est installé automatiquement.

Réduire la quantité de RAM pour des raisons de test

Pour pouvoir faire des tests, il peut être nécessaire de réduire la quantité de RAM utilisé par Windows.

Les switch /burnmemory ou /maxmem permettent de réaliser cela.

Donner plus de RAM aux processus utilisateur (au détriment des processus en mode noyau)

Par défaut, sur les 4 gigaoctets de la mémoire virtuelle de Windows 2003, la moitié sont pour les processus en mode noyau et l'autre moitié pour les processus en mode utilisateurs.

Dans certains cas, il peut être intéressant de donner plus de mémoire aux processus en mode utilisateur au détriment des processus en mode kernel, les 2 cas que cite Microsoft sont :

  • le serveur de messagerie Exchange (store.exe)[5]
  • Base de données sur Windows NT Server Enterprise Edition (Windows NT Server/E) version 4.0 (paramétrage de la RAM 4GT)[6]

Les switch 3GB et userva permettent de réaliser cela.

Pour dépasser la limite à 4 gigaoctets sur le 32-bits, voir AWE : Address Windowing Extensions(en).

Switch sur les processeurs

  • Le switch numproc
  • Le switch onecpu

Autres

  • Les switch pae et /nopae concernent le Physical Address Extension
  • Le switch noguiboot indique de ne pas utiliser la barre de progression bitmap sur la phase de boot
  • Le switch noserialmice:comx
  • Le switch pcilock concerne le PCI dans le BIOS
  • Le switch redirect permet de paramétrer Emergency Management Services[7], sur RS-232)
  • /usepmtimer
  • Les switch w95 et w95dos
  • le switch year permet de ne pas tenir compte de la date du BIOS

Droits MS-DOS et NTFS du fichier boot.ini

Par défaut, les droits MS-DOS du fichier boot.ini sont lecture seule.

Si la partition de boot est au format NTFS (ce qui est le plus courant), alors, par défaut, les utilisateurs qui ne sont pas administrateurs n'ont pas de droit NTFS en lecture sur le fichier boot.ini.

Base de registre

Les paramètres utilisés pour le boot sont stockés dans la base de registre dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ :

  • Pour la partition contenant le système d'exploitation : SystemBootDevice (exemple : multi(0)disk(0)rdisk(0)partition(2))
  • Pour les switch de boot : SystemStartOptions, exemple pour Windows XP service pack 2 : NOEXECUTE=OPTIN FASTDETECT

Par défaut, les utilisateurs qui ne sont pas administrateur ont seulement un droit en lecture sur ces clés.

Comparaison avec les chargeurs d'amorçage de UNIX/linux

Le fichier boot.ini de Windows a un rôle analogue au fichier de configuration du chargeur d'amorçage grub de linux. On peut aussi le comparer au Boot Camp du Mac OS X Leopard.

Le fichier boot.ini de Windows et le fichier lilo.conf du chargeur d'amorçage lilo de linux ne sont pas tout à fait analogues : il faut utiliser la commande lilo pour que les modifications du fichier lilo.conf soient prises en compte.

La syntaxe pour identifier une partition est très différente entre Windows et UNIX/linux. Dans le boot.ini de windows, le format ARC est utilisé (voir (en) Advanced RISC Computing), alors que sous unix, l'identifiant d'une partition est du type /dev/xxxxxNN.

Type de disque Exemple de format dans boot.ini Exemple de Format avec grub ou lilo
IDE multi(0)disk(0)rdisk(0)partition(2) /dev/hda2
SCSI scsi(0)disk(0)rdisk(0)partition(2) /dev/sda2

Autres chargeurs d'amorçages pour les versions de Windows basées sur NT

IA64ldr.efi pour processeur Itanium

C'est le chargeur d'amorçage pour les versions de Windows sur processeur Itanium.

Le chargeur d'amorçage de Vista (et de sa version serveur: Windows Server 2008) : Boot Configuration Data

Le fichier de configuration n'est plus boot.ini ; à la place, c'est une ruche du registre : Boot Configuration Data. NTLDR est remplacé par winload.exe.

Pour modifier la configuration du boot, Microsoft fournit des utilitaires :

  • graphique Msconfig.exe, comme dans les versions précédentes
  • en ligne de commande : le nouvel outil bcdedit.exe.

"OsLoader" et "SetupLdr"

NTLDR est en fait la concaténation de deux programmes semi-indépendants, nommé StartUp et OsLoader. Le rôle du premier est de passer du mode réel de démarrage au mode protégé paginé 32 bits, et de fournir ensuite à OsLoader l'accès aux services sous-jacents tels que ceux du BIOS.

Dans les architectures RISC de Windows NT 3.x et 4.0, cette différence de mode n'existe pas, et NTLDR est alors remplacé par le programme "OsLoader.exe", chargé directement par le micrologiciel. Comme ces versions n'ont pas eu un grand succès commercial, elles sont tombées dans l'oubli.

Dans le cas d'un démarrage directement depuis le réseau (Preboot Execution Environment), les deux parties sont séparées, la carte charge d'abord un module StartUp adapté au démarrage depuis le réseau, lequel passe en mode protégé et charge ensuite OsLoader.

Lors de l'installation de Windows, le chargeur OsLoader.exe est remplacé par un autre chargeur, SetupLdr.exe, qui n'exploite pas le fichier boot.ini ; SetupLdr.bin est la concaténation du module StartUp et de SetupLdr.exe ; SetupLdr.bin peut être renommé sur disque en $LDR$ (installation via le disque dur) ou CMLDR (console de récupération) pour respecter le format de 5 lettres.

Voir aussi

Articles connexes

Références externes

Notes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article NTLDR de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • NTLDR — (abbreviation of NT loader) is the boot loader for all releases of Windows NT operating system up to and including Windows XP and Windows Server 2003. NTLDR is typically run from the primary hard disk drive, but it can also run from portable… …   Wikipedia

  • Ntldr — NTLDR, qui signifie NT Loader, est le nom du chargeur d amorçage de Windows 2003, XP, 2000 et NT 4.0 et NT 3.x sur les processeurs x86 et x86 64 (AMD64 et Intel 64) ; par contre, la version actuelle de Windows (Vista) ne l utilise plus.… …   Wikipédia en Français

  • NTLDR — Тип Загрузчик операционной системы Разработчик Microsoft Операционная система Windows NT, 2000, XP, Server 2003 Лицензия Проприеритарная NTLDR (сокращение от англ. NT …   Википедия

  • NTLDR — (abreviatura de NT Loader) es el archivo encargado del arranque del Sistema Operativo en todas las versiones de Microsoft Windows NT, incluyendo Windows XP y Windows Server 2003. El NTLDR se encuentra usualmente en el disco duro principal, pero… …   Wikipedia Español

  • NTLDR — Entwickler: Microsoft Betriebssystem: Windows NT Kategorie: Bootmanager Lizenz: proprietär …   Deutsch Wikipedia

  • Ntldr — Entwickler: Microsoft Betriebssystem: Windows NT Kategorie: Bootmanager Lizenz: proprietär …   Deutsch Wikipedia

  • NTLDR — Windows Nt Loader (Computing » Drivers) …   Abbreviations dictionary

  • ntldr — ● ►en np. m. ►MS NT Loader. Programme de démarrage de Windows. À l origine, il ne concernait que Windows NT, mais il sait aussi démarrer 2000, XP, voire un vrai système d exploitation …   Dictionnaire d'informatique francophone

  • Boot.ini — NTLDR NTLDR, qui signifie NT Loader, est le nom du chargeur d amorçage de Windows 2003, XP, 2000 et NT 4.0 et NT 3.x sur les processeurs x86 et x86 64 (AMD64 et Intel 64) ; par contre, la version actuelle de Windows (Vista) ne l utilise plus …   Wikipédia en Français

  • NT-Loader — NTLDR Entwickler Microsoft Betriebssystem Windows NT Kategorie Bootmanager Lizenz proprietär Deutschsprachig …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”