Si tenemos un sistema con NT o XP y usamos el gestor de arranque que estos incorporan para seleccionar entre XP y 98, por ejemplo, no es necesario perder ese sistema de arranque ni tocar el MBR para poder arrancar también Linux, y de paso, evitamos riesgos innecesarios en los cambios de configuración de arranque.

Como requisito, Linux ha de estar en una partición primaria, no servirá si lo tenemos en una partición extendida, pues allí no va a poder alojar su propio cargador en la partición que ocupa. Las particiones primarias son las que tengan un número igual o inferior a 4.

Suponiendo que la partición root de Linux es /dev/hda2 (segunda partición primaria del primer disco IDE), debemos instalar en ella (no en el MBR, ni en /dev/hda) uno de sus gestores de arranque habituales, como GRUB o LILO.

Teniendo el sistema en estas condiciones, ya desde Linux y como root, copiamos a un archivo el sector de arranque:

dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1

Movemos el archivo /bootsect.lnx recién creado a la partición iniciadora de Windows (si la tenemos montada), o a un diskette en caso contrario, del que luego lo copiaríamos a C:\ :

mv /bootsect.lnx /mnt/win_c/
/mnt/win_c sería la partición del Windows que inicia.

Desde Windows ahora, al archivo C:\boot .ini, le agregamos una entrada para que cargue Linux, basada en el archivo que le hemos agregado. Como probablemente esté oculto, primero le quitamos los atributos:

attrib -s -h c:\boot.ini

Editamos ya el boot.ini, agregándole una línea indicando la carga de Linux, dentro de la sección [operating systems], que diga:

C:\bootsect.lnx="Linux"

Grabamos el archivo modificado y le devolvemos sus atributos:

attrib -s -h c:\boot.ini

En el siguiente reinicio, ya dispondremos de opción de cargar Linux desde el mismo menú que teníamos los Windows.