Funcionamiento Del Arranque de Windows

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

FUNCIONAMIENTO DEL ARRANQUE DE WINDOWS 2000 / XP: PASOS,

ARCHIVOS Y PARAMETROS
Vamos a intentar comprender la secuencia de inicio de Windows 2000 / XP. En
muchas ocasiones, entendiendo la secuencia de inicio y tocando parmetros del
archivo boot.ini podremos iniciar una mquina en la cual tengamos problemas y que
de otra manera no sera posible.
Los archivos de inicio son lo que vemos en la siguiente tabla:
Archivo --> Localizacin --> Fase en el boot
NTLDR --> C: (System Partition Root) --> Preinicio e Inicio (preboot y boot)
BOOT.INI --> C: --> Inicio
BOOTSECT.DOS --> C: --> Inicio (opcional)
NTDETECT.COM --> C: --> Inicio
NTBOOTDD.SYS --> C: --> Inicio (opcional)
NTOSKRNL.EXE --> systemrootsystem32 --> Carga del Kernel (ncleo)
HAL.DLL --> systemrootsystem32 --> Carga del Kernel (ncleo)
SYSTEM --> systemrootsystem32 --> Inicializacin del Kernel
dispositivos.sys --> systemroorsystem32drivers --> Inicializacin del Kernel
El archivo BOOT.INI:
Al instalar Windows 2000 / XP, se modifica o se crea un archivo boot.ini en la particin
activa (arrancable) del sistema. El programa NTLDR usar dicha informacin para
mostrarnos la pantalla de inicio desde la cual podremos seleccionar el sistema
operativo a cargar.
El archivo boot.ini es un archivo de texto que contiene dos secciones [boot loader] y
[operating systems]. NTLDR usar dicha informacin para construir la pantalla de inicio
del sistema. Vamos a ver la estructura de un boot.ini tpico:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS='Microsoft Windows XP Profesional'
/fastdetect
multi(0)disk(0)rdisk(1)partition(1)WINNT='Microsoft Windows 2000 Profesional'
/fastdetect
multi(0)disk(0)rdisk(1)partition(2)WINDOWS='Microsoft Windows 2000 Server'
/fastdetect
C:CMDCONSBOOTSECT.DAT='Microsoft Windows Recovery Console' /cmdcons
C:='Microsoft Windows Millennium Edition'
La seccin [operating systems] se crea durante la instalacin de un Windows 2000 /
XP. Recordemos que la instalacin de varios sistemas operativos en la misma
mquina, siempre se debe hacer por orden de edad de los sistemas. Es decir, del ms
antiguo al ms actual ya que los cargadores de sistemas operativos actuales, son
capaces de cargar los sistemas operativos previos. Pero los previos no sern capaces
de cargar un sistema operativo ms moderno. Simplemente porque no existan
cuando se dise dicho sistema.

Caminos ARC (Advanced RISC Computing):


Durante la instalacin se modifica o se crea el archive boot.ini usando los nombres o
caminos ARC: Advanced RISC Computing (RISC: Reduced Instruction Set Computing)
Un ejemplo de camino ARC es:
multi(0)disk(0)rdisk(1)partition(3)
Cada nombre tiene el siguiente significado:
multi(x) o scsi(x):
El controlador de disco. SCSI solo se usa si es un disco que pertenece a una
controladora SCSI y cuya BIOS no se ha cargado al encender el ordenador. Para
todos los dems, inclusive los SCSI con BIOS cargada en memoria, se utiliza multi. 'x'
represente un nmero empezando por cero que indica el orden de carga del
adaptador. Por ejemplo, si tuvisemos dos adaptadores SCSI en nuestra mquina, el
primero en cargar e inicializarse llevara un 0, el segundo llevara un 1.
disk(y):
El ID del dispositivo SCSI. Si es 'multi', siempre llevar un 0.
rdisk(z):
Un nmero que identifica el disco fsico (empezando por 0, el cual corresponde al
primer disco fsico en nuestro sistema).
partition(t):
Un nmero que identifica la particin dentro del disco fsico anterior. La numeracin de
particiones comienza por 1. Se numeran consecutivamente todas las particiones
primarias que existen en nuestro disco, y a continuacin, se numeran
consecutivamente las unidades lgicas dentro de una particin extendida si la
tuvisemos.
Modificadores en el archivo BOOT.INI:
Vamos a describir nicamente los ms importantes. Para el resto de modificadores
puede consultarse en el KB de Microsoft.
/basevideo
Arrancar nuestra maquina usando el adaptador estndar VGA. Es til en caso de que
nuestra maquina se niegue a arrancar despus de instalar un nuevo driver de vdeo.
/fastdetect=[com x | como x,y,z]
Desactiva la deteccin de ratn en puerto serie. Si no especificamos puerto com, este
modificador desactiva la deteccin de todos los puertos serie. Se incluye este
modificador en todas las entradas del boot.ini por defecto.
/maxmen:n

Especifica la cantidad de memoria que Windows va a usar. Debe usarse este


modificador si sospechamos que un chip de memoria est daado.
/noguiboot
Arranca sin sacar la pantalla grfica de inicio del sistema.
/sos
Nos muestra por pantalla los nombres de los controladores de dispositivos que se van
cargando. Debemos usar este modificador cuando falla el arranque para poder
determinar que driver es el causante del error.
Modificaciones al archivo BOOT.INI:
Podemos modificar directamente el tiempo de espera y el sistema operativo a arrancar
por defecto desde el Panel de Control, o bien con el botn derecho sobre Mi PC,
propiedades y pestaa Avanzado. Igualmente podemos editar manualmente el
archivo con cualquier editor de texto. Recordemos que dicho archivo tiene los atributos
de oculto y de read-only, por lo que si queremos verlo o modificarlo, deberemos
quitarle dichos atributos, o bien establecer en Windows las opciones de ver todos los
archivos ocultos y del sistema. El archivo boot.ini siempre reside en el disco C:
independientemente de la particin en la cual hayamos instalado Windows.
Secuencia de Pre-Inicio (Pre-Boot):
Durante el arranque de cualquier mquina, su BIOS localiza el sector de arranque del
disco duro (MBR). Los siguientes 4 pasos describen el pre-inicio:
1) Cuando encendemos un ordenador, se ejecutan las rutinas POST (Power and Self
Test) para determinar la cantidad de memora fsica y los componentes de hardware
presentes en la mquina.
2) La BIOS, localiza el dispositivo de arranque (BOOT) y carga y ejecuta el MBR
(Master Boot Record).
3) El MBR busca en su tabla de particiones, la particin que est marcada como
activa, carga en memoria el sector de boot de dicha particin y lo ejecuta.
4) Dicho sector, carga y ejecuta el archivo NTLDR el cual es el cargador del sistema
operativo.
Secuencia de Inicio (Boot):
Despus de cargar en memoria NTLDR, la secuencia de inicio busca informacin
acerca del hardware y los controladores para preparar las fases de carga del sistema
operativo. La secuencia de boot, utiliza los siguientes ficheros: NTLDR, BOOT.INI,
BOOTSECT.DOS (opcional), NTDETECT.COM y NTOSKRNL.EXE.
Esta secuencia de Boot tiene 4 fases, fase de Initial Boot Loader (cargador inicial),

fase de seleccin del sistema operativo, deteccin de hardware y seleccin de la


configuracin.
- Initial Boot Loader.
Durante este fase, NTLDR cambia el modo de funcionamiento del procesador, de
modo real a modo protegido (32 bit flat memory mode). Posteriormente NTLDR
arranca los minidrivers del sistema incorporados dentro del propio NTLDR. Estos
minidrivers permiten a NTLDR localizar y cargar Windows desde particiones FAT,
FAT32 y NTFS.
- Seleccin del Sistema Operativo.
Durante la secuencia de inicio, NTLDR lee el archivo BOOT.INI. Si dicho archivo tiene
ms de una linea de seleccin del sistema operativo, se muestra una pantalla durante
el tiempo predeterminado en el archivo BOOT.INI para poder seleccionar el sistema
operativo a arrancar.
Si no seleccionamos en este caso ninguna entrada, NTLDR cargar el sistema
operativo por defecto que est especificado en el archivo BOOT.INI.
Por defecto, siempre es la ltima instalacin del ltimo Windows que hayamos
instalado. Recordemos que esta seleccin slo se muestra si hay ms de una lnea de
sistema operativo instalado en el archivo BOOT.INI.
Si el archivo BOOT.INI no existe, NTLDR siempre intenta cargar el sistema operativo
de la primera particion activa del primer disco duro (tpicamente, el C:)
- Deteccin de Hardware.
NTDETECT.COM y NTOSKRNL.EXE realizan la deteccin del hardware.
NTDETEC.COM se ejecuta inmediatamente despus de haber seleccionado el
sistema operativo a arrancar.
Si seleccionamos un sistema operativo de ncleo W9X en vez de ncleo NT /
W2000 /XP, NTLDR cargar y ejecutar BOOTSECT.DOS, el cual es una copia del
sector de arranque que exista en la particion del sistema cuando instalamos por
primera vez un sistema operativo de ncleo NT / W2000 / XP. Este sector corresponde
a una particin formateada previamente con MSDOS o bien con algn sistema W9X /
ME.
NTDETECT.COM empieza a construir una lista del hardware actualmente instalado y
devuelve esta lista al programa NTLDR para una inclusin posterior en el registro bajo
la clave HKEY_LOCAL_MACHINEHARDWARE
NTDETECT.COM detecta los siguientes componentes:
Tipo de adaptador del BUS
Puertos de comunicaciones
Coprocesador matemtico
Disqueteras
Teclado
Ratn o dispositivo apuntador

Puerto paralelo
Adaptadores SCSI
Adaptadores de Vdeo.
- Seleccin de la configuracin.
Despus de que NTLDR comienza la carga de Windows y ha recuperado ya la
informacin de hardware, el cargador del sistema presenta la pantalla de Perfiles de
Hardware si en nuestra mquina est definido ms de un perfil.
El primer Perfil de hardware se muestra con caracteres de alta intensidad. En esta
pantalla, podemos seleccionar el perfil, o bien pulsar L para seleccionar la Ultima
configuracin buena conocida.
Si slo existe un Perfil de Hardware, la pantalla anterior no se mostrar y Windows
continuar la carga usando la configuracion del perfil de hardware por defecto.
Carga del Ncleo (Kernel):
Despus de la Seleccin de la Configuracin el ncleo (kernel) de Windows
(NTOSKRNL.EXE) se carga e inicializa. Es en el momento en que la pantalla de
seleccin anterior se borra y aparecen una serie de rectngulos blancos en una linea
inferior de la pantalla que indican el proceso de carga de NTOSKRNL. (Este proceso
es muy rpido, y en Windows XP puede que no llegue a verse debido a que
inmediatamente entra la pantalla grfica del logo de carga de XP.
Durante esta fase de carga, NTLDR realiza lo siguiente:
Carga NTOSKRNL.EXE pero no lo inicializa.
Carga la capa de abstraccin del hardware (HAL.DLL - Hardware Abstraction Layer).
Carga la clave del registro: HKEY_LOCAL_MACHINESYSTEM desde %systemroot
%System32ConfigSystem
Selecciona un juego de control (control set) que va a utilizar para inicializar la
mquina. Dentro de este control set estn los datos que se utilizan para arrancar,
como por ejemplo la lista de controladores de dispositivos y los servicios a arrancar y
cargar.
Carga los drivers de dispositivos que contienen un valor de 0x0 en la entrada Start
de definicin del dispositivo en el registro. Normalmente son controladores de
hardware de bajo nivel. El valor de esta lista est especficado en:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl ServiceGroupOrder
En ella est el orden con el cual NTLDR va a cargar dichos controladores de
dispositivos.
Inicializacin del Ncleo (Kernel):
Cuando la fase de carga del ncleo (Kernel) se ha completado, se inicializa el Kernel y

NTLDR pasa control al ncleo (NTOSKRNL.EXE). Es en este momento cuando el


sistema muestra la pantalla grfica con la barra de proceso de carga. Cuatro tareas
van a ocurrir durante esta fase:
1) Creacin de la clave del registro de Hardware. El Kernel usa los datos recogidos
durante la deteccin de hardware para crear la clave del registro
HKEY_LOCAL_MACHINEHARDWARE la cual contiene informacin acerca de los
componentes del hardware y las interrupciones usadas por los dispositivos
especficos.
2) Se crea el entorno del Clone Control Set. Se crea copiando el valor del registro
almacenado en HKEY_LOCAL_MACHINESYSTEMSelect. Estos datos nunca sern
modificados y deben entenderse como una copia idntica de los datos de
configuracin de la mquina y por tanto, no reflejar ningn cambio realizado durante
la fase de arranque.
3) Carga e inicializacin de los controladores de dispositivos. Despus de crear el
Clone control set el kernel inicializa los drivers de bajo nivel que se han cargado
durante la fase de carga del ncleo. El ncleo busca la clave
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices para localizar los
controladores de dispositivos con el valor 0x1 en la entrada Start. Al igual que en la
fase de carga del ncleo el valor de la entrada Group especifica el orden en que sern
cargados. Estos controladores se inicializan en el momento en que son cargados.
Si ocurre un error durante la carga e inicializacin de uno de estos controladores,
realizar la accin que est especificada en la entrada ErrorControl del controlador de
dispositivo.
Los valores posibles son:
0x0 (Ignorar)
La secuencia de inicio ignora el error y contina sin sacar ningn mensaje.
0x1 (Normal)
La secuencia de inicio saca un mensaje, pero ignora el error y contina la carga.
0x2 (Severo)
La secuencia de inicio falla y contina, pero usando el juego de control de la Ultima
configuracin buena conocida. Se ignora el error y contina.
0x3 (Crtico)
Igual que la anterior, pero si en este caso el error vuelve a suceder, la Ultima
configuracin buena conocida se detiene la secuencia de inicio con un mensaje de
error.
Los valores de ErrorControl aparecen en el registro bajos las subclaves
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNombre_del_servicio_o
_dispositivoErrorControl
4) Arranque de los Servicios. Despus de que el Kernel cargue e inicialice los
controladores de dispositivos, el programa Session Manager (SMSS.EXE) arranca

estos subsistemas y servicios de Windows. SMSS ejecuta las instrucciones de las


claves: BootExecute, Memory Management, DOS Devices y las subclaves del
Subsytem.
- BootExecute.
Ejecuta los comandos de esta clave antes de arrancar ningn servicio.
- Memory Management Key.
Crea la informacin del fichero de paginacin necesario para el Virtual Memory
Manager.
DOS Device Key.
Crea los enlaces simblicos (links) que direccionan ciertas clases de comandos al
componente correcto del sistema.
- SybSystems key.
Arranca el subsistema Win32, el cual controla toda la entras / salida (I/O) y los accesos
a la pantalla de video y posteriormente arranca el proceso de WinLogon.
LOGON:
El proceso de Logon comienza al finalizar la fase de inicializacin del Kernel. El
sistema automticamente arranca el programa WINLOGON.EXE, el cual arranca el
Local Security Authority (LSASS.EXE) y nos muestra la pantalla de Logon. Se puede
arrancar en este momento aunque Windows no haya terminado de inicalizar los
controladores de dispositivos (drivers) de la red.
Posteriormente, el controlador de servicios (Service Controller) ejecuta y realiza una
bsqueda final en la clave Services del registro, buscando los servicio con un valor
0x2 en la entrada. Estos servicios, incluyendo el servicio de Workstation y el servicio
Server, son marcados para cargarse automticamente.
Los servicios que son cargados durante esta fase estn basados en los valores de la
clave
DependenOnGroup
o
DependOnService
de
las
entradas
en
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices.
El arranque de Windows no se considera finalizado y correcto hasta que el usuario se
haya conectado. Despus de este Logon correcto, el sistema copia el Clone Control
Set a las claves de LastKnownGood.

Desktop.ini. que es y para qu sirve

Los que trabajen con Windows habrn noticiado que en muchas carpetas hay un
pequeo archivo oculto llamado desktop.ini. Este archivo sirve, nada ms y nada
menos que para darle una configuracin a la carpeta. En dicha configuracin podemos
especificar el color de fondo, el icono que muestra la carpeta y otra serie de
parmetros.

Como bien he dicho este archivo se encuentra en muchas carpetas y puede ser
modificado sin ningn problema. Adems, si una carpeta no contiene un desktop.ini
podemos crearlo nosotros mismos, eso si, siguiendo una serie de pautas.
Lo primero y ms importante es que este archivo debe ser Slo lectura, con lo cual
si lo modificamos o creamos de primeras debemos cerciorarnos de esto porque sino
no funcionar. Adems y como ya he dicho tambin debe estar en la raz de la carpeta
que queremos que tenga esas caractersticas.

Ahora simplemente tenemos que modificarlo o crear uno. Si por ejemplo queremos
cambiar el fondo y el color del texto introducimos algo parecido a esto:

[ExtShellFolderViews]
[{BE098140-A513-11D0-A3A4-00C04FD706EC}]
Attributes=1
IconArea_Image=C:\imagen.jpg
IconArea_Text=000ffffff
[.ShellClassInfo]
ConfirmFileOp=0

En IconArea_Image debemos especificar la ruta de la imagen que queramos tener


como fondo y en IconArea_Text debemos introducir el cdigo de color que queremos
que tenga el texto. Por otro lado si lo que queremos es cambiar el icono de la carpeta
introducimos algo como esto:

[.ShellClassInfo]
IconFile=C:\icono.ico
IconIndex=0
En IconFile debemos introducir la ruta del icono, pudiendo escribir ah la que
queramos. Hay que tener en cuenta que todo esto no son cambios importantes y no
podremos fastidiar mucho el sistema, as que con cualquier sntoma de problemas
borramos el archivo desktop.ini y vuelta a empezar.

Adems si estamos algo perdido hay en internet una completa gua de como modificar
dicho archivo que aunque est en ingls es bastante interesante.

También podría gustarte