El proceso de arranque de un PC paso a paso NTOSKRNL y HAL
(NT Operating System Kernel) - (Hardware Abstraction Layer)
Una vez finalizadas las tareas de comprobación del hardware del sistema, Ntldr tomará de nuevo el control del arranque y es en este momento cuando se iniciarán los archivos ntoskrnl.exe y hal.dll, ambos situados en el directorio System32 de Windows. Ntoskrnl es el archivo principal para el Kernel (núcleo del sistema) y los subsistemas de ejecución de Windows (gestor de memoria, gestor de caché, programador, monitor de referencia de seguridad, etc. Este archivo es uno de los más importantes para Windows, ya que sencillamente le permite funcionar y además necesita de hal.dll que contiene el código que permite a los dispositivos de hardware comunicarse con el sistema operativo.
En el momento del arranque también podemos encontrarnos con un mensaje de error que nos indique que no se encuentra el archivo y no se puede cargar. En este caso el posible causante del error es el fichero BOOT.INI, donde de alguna manera (un programa, otra instalación de un sistema operativo) ha cambiado la ruta de arranque de nuestro Windows original y ahora Ntldr no consigue encontrar a Ntoskrnl. La solución es bastante sencilla; deberemos iniciar nuestro PC con un disquete de arranque, con el fin de poder acceder a la primera partición donde se guarda el archivo boot.ini. Una vez lo tengamos listado deberemos cambiar los atributos del archivo para poder editarlo.
Vemos un ejemplo de ese archivo:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(5)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(5)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(4)\WINNT="Windows 2000 Professional" /fastdetect
C:\="Microsoft Windows 98"
Lo primero que se muestra es la etiqueta que define el contenido siguiente. Vemos que como Timeout hay 30 segundos, es decir, si en 30 segundos no se especifica otra cosa, el sistema inicia la partición por defecto.
Esta es la que viene señalada como "default" y que concretamente hace referencia a la partición 5, instalada en el directorio Windows.
Vemos después otra etiqueta "Operating Systems" que contiene la información de la partición y directorios donde están instalados los distintos sistemas en este PC. La partición 5 es una de las opciones, y resulta ser la que estaba por defecto. Se trata de Windows XP. La siguiente partición (4) está instalada en el directorio Winnt y corresonde a Windows 2000. Estos dos sistemas operativos están instalados en el disco 0.
Por último vemos que el arranque de Windows 98 se encuentra en la unidad C, aunque después el sistema puede estar instalado en otra partición. Concretamente, si iniciamos desde Windows XP, Windows 98 se ve en la unidad E.
Los posibles errores pueden aparecer si las particiones 4 o 5 que vemos señaladas no se corresponden con aquellas en las que verdaderamente se encuentran los sistemas instalados. Si no sabemos qué partición es, lo normal es que esté "un número por arriba o por debajo". Por ejemplo, si no podemos iniciar Windows XP, podemos cambiar el 5 por un 4, y si no por un 6. Seguramente conseguiremos iniciar sin problemas en alguna de estas dos veces. Recuerda hacer lo mismo con las otras particiones para poder iniciar sin problemas los otros sistemas operativos.
Por otro lado como podemos ver, si cambiamos el atributo del archivo, podemos cambiar las etiquetas (cuidado, sólo las etiquetas) para que en el menú de arranque muestre el nombre que queramos.

Secuencia de carga
El proceso de arranque de sistema termina aquí y empieza la carga del sistema operativo. Esta fase también se denomina fase del kernel y es el momento en que el sistema operativo instala los controladores de los dispositivos, aunque Ntldr sigue unas pautas para realizar la carga de estos en un orden determinado y también de los servicios de Windows, que posteriormente se escribirán en el registro.
Profundizando un poco más en esta escritura de datos al registro, saber que son en formato hexadecimal y terminan con un número entre paréntesis. Dicho número proporciona a Ntldr el orden de escritura y podemos ver un ejemplo a tiempo real en el registro del sistema de Windows.
Para verlo, abrimos el registro y nos dirigimos a la siguiente rama: HKEY_LOCAL_MACHINE\SYSTEM\Current ControlSet\Services donde veremos una lista de servicios y controladores de dispositivos, seleccionamos alguno de ellos y analizamos la entrada REG_DWORD;

podemos ver lo siguiente:
- 1. Si el valor de datos es (0), significa que el servicio se ha cargado durante la fase de datos del kernel.
- 2. Si el valor de datos es (1), significa que el servicio se ha cargado durante la fase de inicialización del kernel (que veremos a continuación).
- 3. Si el valor de datos es (2), significa que el servicio se ha cargado durante la fase de instalación de servicios.
- 4. Si el valor de datos es (3), significa que el servicio está habilitado pero no se ha inicializado (requiere un inicio manual, haciendo uso del MMC (Microsoft Management Console, para más información sobre MMC, consultar la ayuda de Windows)).
- 5. Por último, si el valor de datos es (4), significa que el servicio no está habilitado.
Siguiente
Ir a la página: 1 2 3 4 5
|