Otra forma sencilla es instalar el gestor de arranque, ya sea GRUB o LILO en el sector de inicio de la partición de linux, y poner esa partición como activa y no la de windows.
A modo de aclaración os explico "a grosso modo" como funciona esto del inicio del sistema.
Tan pronto como se acaban de ejecutar todos los tests de la BIOS (reconocimientos y estas cosas), ésta pasa el control al primer sector del disco, el MBR.
El MBR, cuyo tamaño es de 512 bytes, contiene información sobre la tabla de particiones y código ejecutable. En los productos de M$ el código que se encuentra en el MBR hace simplemente 2 cosas:
1 - Averigua cuál es la partición activa
2 - Le pasa el control al primer sector de la partición activa, el sector de arranque.
El sector de arranque es como si fuese otro MBR pero más sencillo (esto lo digo así para simplificar) y éste es el que se encarga de ejecutar NTLDR (en el caso de windows).
Cuando se instala linux, el código del MBR se sustituye por otro más complejo que permite la interacción con el usuario (bueno, esto no es del todo exacto, pero vale como explicación).
Siempre que se reinstala windows, se vuelve a copiar el MBR simplón que casi no hace nada y, por lo tanto, desaparece la interacción con el usuario.
La solución es, por tanto, seguir con el MBR original, e instalar el cargador de linux en un sector de inicio de una partición (pero no la de windows, que al reinstalar también se sobreescribe).
Si en alguna ocasión se reinstala windows, basta con iniciar con un disquete o CD de inicio, ejecutar fdisk y cambiar la partición activa de forma que sea aquella en cuyo sector de arranque se encuentre el cargador de linux.
En LILO basta con cambiar
boot=/dev/hda
que indicaría MBR, por
boot =/dev/hda2
que indicaría la segunda partición primaria del disco (cambiar 2 por lo que sea necesario)
En Grub se elije dónde se guarda con el comando grub-install.