NT OS Loader + Linux mini-HOWTO
Bernd Reichert, <reichert@dial.eunet.ch>
Version française : Etienne BERNARD <bernard@isia.cma.fr>
v1.11, 2 September 1997
Ce document décrit l'utilisation du chargeur de système d'exploitation de Windows NT pour démarrer Linux. Cette procédure a été testée avec Windows NT 4.0 Workstation et Linux 2.0
1. Comment fonctionne le Chargeur NT
Le chargeur de système d'exploitation de NT aime avoir le secteur de boot des autres systèmes d'exploitation sous forme de fichier. Il lit le fichier, et lance le système d'exploitation sélectionné, c'est-à-dire Window NT, sous différents modes, ou n'importe quel autre OS (système d'exploitation).
2. Trucs et astuces pour installer Windows NT et Linux sur le même système
2.1 Installation de Windows NT
Essayez d'installer Windows NT en premier. Si vous désirez utiliser le système de fichier NTFS pour votre partition dédiée à Window NT, n'oubliez pas que Linux ne permet pas encore d'écrire sur les partitions NTFS. Le driver, encore béta, pour faire cela se trouve à http://www.informatik.hu-berlin.de/~loewis/ntfs. Vous devriez créer une partition FAT pour l'échange de données, ou vous pouvez aussi utiliser des disquettes au format DOS.
2.2 Partitionnement
Un autre Mini-HOWTO vous conseille de ne pas utiliser l'"administrateur
de disque" de Windows NT pour créer les partitions racine et de swap de
Linux. Il est suffisant de laisser un espace libre. Je recommande également
d'utiliser le fdisk
de Linux plus tard.
2.3 Installation de Linux
A présent, démarrez Linux à partir des disquettes, puis créez la partition
root et celle de swap. fdisk
considère que la partition NTFS est une
partition HPFS. C'est normal. Démarrez à nouveau depuis les disquettes, et
installez Linux à votre convenance.
Au cas où la procédure d'installation vous proposerait de monter la partition HPFS qu'il a trouvé, ignorez cela.
2.4 Lilo
Une fois que vous avez atteint la section dédiée à Lilo, spécifiez
votre partition root de linux en tant que périphérique de démarrage,
car le Master Boot Record (MBR) de votre disque dur est occupé
par Windows NT. Cela signifie que les entrées root
et boot
dans le fichier /etc/lilo.conf
ont les mêmes valeurs.
Si vous avez un disque dur IDE, et que la partition dédiée à Linux se
trouve sur la deuxième partition, l'entrée correspondant à boot
dans le fichier /etc/lilo.conf
devrait ressembler à :
boot=/dev/hda2
Si vous possédez deux disques dur, et que Linux se trouve sur la
première partition du second disque, la section boot
du fichier
/etc/lilo.conf
ressemble à :
boot=/dev/hdb1
Configurez lilo pour utiliser un noyau correspondant à votre système. Au préalable, si vous n'êtes pas sûr de vous, vérifiez le noyau en démarrant depuis une disquette.
Si vous ne pouvez pas booter sous Windows NT, vous avez un problème. J'espère que vous avez créé une disquette de réparation récemment.
3. Le programme Bootpart
Il existe un programme pour Windows NT, nommé bootpart
et écrit
par G. Vollant qui peut réaliser le travail des deux prochains points
pour vous. bootpart
peut être récupéré sur
http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm.
Si vous décidez de faire vous même ce que fait ce programme, utilisez les procédures décrites aux points 5 et 6.
4. Le travail à faire sous Linux
Vous devrez démarrer à partir de disquettes tant que la partie du travail à réaliser sous NT ne sera pas achevée.
Vous devez récupérer le secteur de démarrage de votre partition root
Linux. Si on suppose que votre partition Linux se trouve sur
/dev/hda2
, la commande à utiliser est :
# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
Si le fichier bootsect.lnx
fait plus de 512 octets, il y a eu un
problème.
A présent, copiez le fichier bootsect.lnx
sur une disquette au
format DOS, si c'est la moyen que vous utilisez pour transférer des
fichiers sur votre partition NTFS.
Vous pouvez utiliser la commande
# mcopy /bootsect.lnx a:
ou bien
# mount -t msdos /dev/fd0 /mnt
# copy /bootsect.lnx /mnt
# umount /mnt
5. Le travail à faire sous Windows NT
Copiez le fichier de la disquette sur C:\bootsect.lnx
. Je ne
vous explique pas comment faire.
Le fichier c:\boot.ini
est à Windows NT ce que
/etc/lilo.conf/
est à Linux. Enlevez les attributs système et
lecture seule avant de le modifier, avec la commande :
C:\> attrib -s -r c:\boot.ini
Editez, avec notepad
par exemple, le fichier boot.ini
, comme
suit :
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
C:\BOOTSECT.LNX="Linux"
Seule la dernière ligne a été ajoutée sur cet exemple. Si vous avez
changé boot.ini
, restaurez les attributs du fichiers à leur
valeurs initiales, avec la commande :
C:\attrib +s +r c:\boot.ini
Aprés un redémarrage de votre Windows NT, vous devriez voir apparaître ceci :
OS Loader V4.00
Please select the operating system to start:
Windows NT Workstation Version 4.0
Windows NT Workstation Version 4.0 [VGA mode]
Linux
(NdT: Je ne sais pas ce que cela donne pour la version française de Windows NT)
Sélectionnez Linux
et vous verrez apparaître
LILO loading Linux ....
6. Même joueur joue encore
A chaque fois que le secteur de démarrage de votre partition Linux est
modifié, vous devez transférer une nouvelle copie de bootsect.lnx
vers C:\BOOTSECT.LNX
. Cela est par exemple nécessaire
lorsque vous installez un nouveau noyau avec lilo. Comme vous pouvez
le constater, un tel système n'est pas idéal pour tester des noyaux
expérimentaux.
7. En cas de problème...
Si cela ne fonctionne pas comme prévu, vérifiez que vous pouvez booter
à l'aide d'une disquette. Si /dev/hdb1
est votre partition
Linux, votre fichier /etc/lilo.conf
devrait avoir les entrées
suivantes :
root=/dev/hdb1
boot=/dev/fd0
Lancez lilo avec une disquette dans le lecteur, puis essayez de
démarrer à partir de cette disquette. Si Linux sur /dev/hdb1
ne peut être démarré, le chargeur NT ne pourra pas le lancer non plus.
Si vous voyez apparaître une floppée de 01 01 01 01
, c'est que votre
secteur de démarrage ne peut être accédé. Vérifiez que tous vos
disques sont reconnus par le BIOS.
Si votre disquette vous permet de démarrer Linux, vous pouvez récupérer le secteur de démarrage de la disquette pour le chargeur NT avec la commande :
# dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1
Vous pouvez garder cette disquette, qui servira de disquette de secours, au cas où votre installation de Windows NT empêche le démarrage de Linux.
8. Références
- Le mini-HOWTO Linux+WindowsNT
- La FAQ de FreeBSD 2.x
9. Remerciements
- Merci à Xiaoming Yi pour m'avoir indiqué que la procédure fonctionnait également pour les disques autres que le premier.
- Merci à Frank Dennler pour l'astuce de la disquette.
10. Commentaires
Tous les commentaires sont les bienvenus.