Una vez encendido el ordenador, se chequean los componentes hardware y si no hay error, la Bios cede el control de arranque a las unidades de almacenamiento, según la secuencia configurada (Disco duro, disquetera, CD/DVD, unidades USB, red…), más información en configuración del disco duro – 1 – y – 2 –
En el caso de darle el control al disco duro, el MBR (Master Boot Record) de la partición PRIMARIA ACTIVA, conectado en el IDE Primario, tiene preferencia para cargar el Sistema Operativo.
Los ficheros de arranque necesarios para el MS-DOS y Windows 3x/95/98/Me en el sistema de archivos FAT son los siguientes:
COMMAND.COM
IO.SYS
MS-DOS.SYS (En windows 9x/Me personalizable por el usuario)
Ficheros de arranque opcionales:
AUTOEXEC.BAT (Personalizable por el usuario)
CONFIG.SYS (Personalizable por el usuario)
En el arranque de Windows NT/XP/200X estos son los ficheros utilizados:
NTLDR (SETUPLDR.BIN en Windows NT 3.5)
NTDETECT.COM
BOOT.INI (Personalizable por el usuario)
Existen páginas que ofrecen los ficheros o disquetes de arranque, para poder solucionar el proceso de arranque de un disco duro que los ha perdido:
El arranque básico en Linux con Lilo:
Lilo (Linux Loader) o LOADLIN.EXE toma el control y busca el Kernel según las opciones configuradas en lilo.conf
initrd carga la imagen básica de arranque del kernel en memoria.
Normalmente en vmlinuz esta la imagen del Kernel comprimido que necesita initrd.
El arranque básico en Linux con Grub:
grub se carga en el MBR y busca los ficheros de arranque configurados en menu.lst
1.- Cual es la partición correspondiente a /boot
2.- Fichero que contiene el núcleo y le pasamos los parámetros necesarios.
3.- El initrd carga la imagen básica del kernel.
4.- Se inicia la carga del sistema, dispositivos y daemons.
Ejemplo de un arranque sin fichero menu.lst, indicando todas las ordenes de arranque:
grub> root (hd0,2)
grub> kernel /boot/vmlinuz-2.4.20-18-8 root=/dev/hda3
grub> initrd /boot/initrd-2.4.20-18-8.img
grub> boot
Para crear un disco de arranque linux:
cp /boot/vmlinuz /dev/fd0