Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Windows 2000 et Linux - cohabitation

3 réponses
Avatar
steph
Bonjour,

Je ne suis pas sûr si ma question est dans le bon groupe, donc
n'hésitez-pas à m'envoyer ailleurs.

Mon problème est le suivant:

J'ai installé Win2k professsional. sur une partion C qui marche très
bien.

Sur une autre partition du même disque dur j'ai installé Mandriva
Linux 2005 L.E. après l'installation de windows 2000. (J'ai lu plus
tard que les installations dans cet ordre ne seraient pas la meilleure
chose à faire, mais bon maintenant c'est fait.) C'est donc Linux qui a
installé un choix au démarrage qui me demande de choisir de démarrer
soit windows 2000 soit Linux. Ca marche bien aussi.

Une fois j'ai du élargir ma partition C sur laquelle se trouve windows
2000, j'ai d'abord défragmenté la partition C puis je l'ai agrandi à
l'aide de Partition Magic.

Après cette manipulation windows 2000 démarrait sans problème, mais
apparemment le fichier de boot a été endommagé lors de l'élargissement
de la partition, car je ne pouvait plus démarrer le Linux (mais la
partition sur laquelle se trouve Linux n'a pas été touché !). Au
démarrage je voyais comme d'habitude le choix entre windows et linux,
mais Linux ne démarrait plus (il ne trouvait pas certains "trucs de
boot". J'ai donc été obligé de réinstaller Linux.
Ce problème m'est déjà arrivé deux fois.

Donc je voudrais savoir si je pouvais faire une sauvegarde du ou des
fichier(s) de boot qui rendent possible de chosir entre windows et
Linux, et de les restaurer en cas d'un tel problème ce qui pourrait
m'éviter de réinstaller Linux. Mais je ne sais même pas comment ces
fichiers s'appellent et ou ils se trouvent.

Est-ce quelqu'un pourrait me donner un conseil?

Merci - steph

3 réponses

Avatar
Glenn Gagné
Bonjour,

** Avant tout, la méthode d'installation: Windows 2000/XP et ensuite Linux
est la meilleure normallement !

Sans te contredire, si tu as utilisé Partition Magic pour agrandir une
partition sur un disque où il existe d'autres partitions c'est pratiquement
sûr à 99% que les autres partitions ont été touchées. Pas nécessairement
réduites si de l'espace libre existait encore, mais p-e décalé ! Les
partitions Linux sont très sensibles si les inodes ne correspondent plus à
l'emplacement physique des fichiers. C'est probablement ce qui s'est
produit.

Expliquons un peu le principe d'amorçage :

Le BIOS est un système d'exploitation miniature pré-configuré matériellement
dans la carte mère, lorsqu'il a détecté tous ses périphériques et exécutés
ses fonctions, la dernière fonction attendue est de relayer la machine à un
autre système d'exploitation (Windows, Linux, Novell, DOS, ...). Le BIOS
sait où aller chercher le relais qui correspond au "Boot Order" dans sa
configuration. Ça peut être le lecteur CD, disquette, disque dur, ...

Dans le cas du disque dur, il y a une norme existante qui permet de faire ce
relais !!!

Le BIOS cherche une allocation sur le disque dur appelé MBR (Master Boot
Record). C'est un endroit réservé pour l'amorce uniquement. c'est à cet
endroit que le fichier du "boot manager" est stocké.

Le boot manager, il en existe plusieurs: IO.SYS/MSDOS.SYS pour MSDOS, NTLDR
pour Windows NT/2000/XP, Grub, Lilo, Loadlin, ... pour Linux.

Dans ton cas, c'est surement Grub ou Lilo. Donc on va se pencher sur ce cas.

Le MBR est un espace réserver qui commence sur le secteur 0 du disque dur,
mais n'est pas illimité en espace. Donc il ne peut pas stocker beaucoup de
données.

Grub fonctionne de cette façon (en passant Grub n'est pas un simple logiciel
de Boot Manager, il est en lui presque un OS complet, mais dédié à
l'amorce):

Lors de son installation, il va utiliser le MBR, mais ne stockera pas tout
son programme car il ne loge pas là. Il va simplement inscrire une petite
application qui va le rediriger vers l'endroit où Grub est tout installé.
Normallement Grub se situe dans la partition /boot (ou parfois dans / et
dans le sous-répertoire boot si aucune partition /boot a été fait).

Ça fait beaucoup d'explication, mais maintenant tu peux voir le lien et
comment l'amorçage de ton système peut-être affecté par la modification
d'une partition avec Partition Magic.

--------------------------------------

Si le MBR pointe vers /boot qui devrait se trouver à quelque part... mais ce
quelque part à été déplacé... plus possible de démarrer.

Si tu veux te dépanner quand ça arrive, il y a quelques solutions.

1- Essaye de démarrer avec le CD de ton Linux et vérifie si les partitions
sont intactes (fsck). Il y a également beaucoup d'autres outils avancés sous
Linux pour résoudre des problèmes de fichiers mais je ne les connais pas
tous.

2- Avec une simple disquette amorçable MS-DOS contenant FDISK. Tu charges le
PC depuis cette disquette et tu tapes FDISK /MBR. Ce qui va produire que le
secteur MBR sera ré-attribué au système d'exploitation Windows. Tu pourras
démarrer ton Windows, mais plus ton Linux... par contre tu peux essayer
ensuite de lancer Linux avec le boot manager de Windows NTLDR. La
configuration est dans C:BOOT.INI
Avatar
steph
"Glenn Gagné" wrote:

Bonsoir, et merci beaucoup pour le temps que tu as pris pour
m'expliquer les principes!

Le BIOS cherche une allocation sur le disque dur appelé MBR (Master Boot
Record). C'est un endroit réservé pour l'amorce uniquement. c'est à cet
endroit que le fichier du "boot manager" est stocké.

Le boot manager, il en existe plusieurs: IO.SYS/MSDOS.SYS pour MSDOS, NTLDR
pour Windows NT/2000/XP, Grub, Lilo, Loadlin, ... pour Linux.

Dans ton cas, c'est surement Grub ou Lilo. Donc on va se pencher sur ce cas.

Le MBR est un espace réserver qui commence sur le secteur 0 du disque dur,
mais n'est pas illimité en espace. Donc il ne peut pas stocker beaucoup de
données.

Grub fonctionne de cette façon (en passant Grub n'est pas un simple logiciel
de Boot Manager, il est en lui presque un OS complet, mais dédié à
l'amorce):

Lors de son installation, il va utiliser le MBR, mais ne stockera pas tout
son programme car il ne loge pas là. Il va simplement inscrire une petite
application qui va le rediriger vers l'endroit où Grub est tout installé.
Normallement Grub se situe dans la partition /boot (ou parfois dans / et
dans le sous-répertoire boot si aucune partition /boot a été fait).


J'ai regardé, j'ai effectivement sous linux un répertoire /boot/grub/
dans lequel se trouvent plusieurs fichiers.
Donc le MBR ne stocke pas l'adresse en tant que
nom_partition/boot/grub/, mais avec une adresse absolue sur le disque
dur, j'imagine?

Si le MBR pointe vers /boot qui devrait se trouver à quelque part... mais ce
quelque part à été déplacé... plus possible de démarrer.


Ok, compris. Et je suis pratiquement sûr que j'avais touché la
partition linux, je l'avais réduite pour la donner à la partition
windows 2000, ça confirme ton explication.

Si tu veux te dépanner quand ça arrive, il y a quelques solutions.

1- Essaye de démarrer avec le CD de ton Linux et vérifie si les partitions
sont intactes (fsck). Il y a également beaucoup d'autres outils avancés sous
Linux pour résoudre des problèmes de fichiers mais je ne les connais pas
tous.

2- Avec une simple disquette amorçable MS-DOS contenant FDISK. Tu charges le
PC depuis cette disquette et tu tapes FDISK /MBR. Ce qui va produire que le
secteur MBR sera ré-attribué au système d'exploitation Windows. Tu pourras
démarrer ton Windows, mais plus ton Linux... par contre tu peux essayer
ensuite de lancer Linux avec le boot manager de Windows NTLDR. La
configuration est dans C:BOOT.INI


Au fait, je voyais encore le boot-manager de Linux, et quand je
choisissait windows, il marchait comme d'habitude (donc l'adresse de
boot de la partition C n'avait pas changé?) Mais l'adresse de
/boot/grub/ sur la partition Linux était décalée. Quelque chose comme
ça, donc l'amorcage de Linux n'était plus possible.

Si on pouvait trouver cette adresse et l'écrire dans la MBR...

Ce que je n'ai pas compris: est-ce que toute partition a une MBR, ou
n'y a-t-il qu'une seule par disque dur?

Peut-être il existe un outil qui donne l'adresse sur le disque dur
d'un fichier. J'ai déjà un explorer "explore2fs" qui permets de se
balader depuis windows dans les répertoires de linux".

Avatar
Glenn Gagné
J'ai regardé, j'ai effectivement sous linux un répertoire /boot/grub/
dans lequel se trouvent plusieurs fichiers.
Donc le MBR ne stocke pas l'adresse en tant que
nom_partition/boot/grub/, mais avec une adresse absolue sur le disque
dur, j'imagine?



Effectivement, il utilise les inodes (identification de l'endroit physique)

Au fait, je voyais encore le boot-manager de Linux, et quand je
choisissait windows, il marchait comme d'habitude (donc l'adresse de
boot de la partition C n'avait pas changé?) Mais l'adresse de
/boot/grub/ sur la partition Linux était décalée. Quelque chose comme
ça, donc l'amorcage de Linux n'était plus possible.

Si on pouvait trouver cette adresse et l'écrire dans la MBR...

Ce que je n'ai pas compris: est-ce que toute partition a une MBR, ou
n'y a-t-il qu'une seule par disque dur?

Peut-être il existe un outil qui donne l'adresse sur le disque dur
d'un fichier. J'ai déjà un explorer "explore2fs" qui permets de se
balader depuis windows dans les répertoires de linux".


Il n'y a qu'une seule MBR par disque dur, c'est au dessus des partitions. Il
faut que le BIOS communique avec cette partie du disque et le BIOS ne peut
pas parler avec une partition en FAT, NTFS ou EXT2. La MBR est un peu une
sorte de partition spéciale dédiée à l'amorçage.

Explorer2fs n'accès que les partition EXT2.

Le seul outil possible pour réparer GRUB... c'est GRUB.

Grub est pratiquement un OS en lui-même, et il contient tous les outils
nécessaires pour être réparé. En utilisant un LiveCD tu peux lancer grub (en
tapant "grub" à la ligne de commande) mais ce n'est pas très évident à
comprendre. J'ai eu affaire une seule fois à travailler GRUB et c'était pour
changer l'ordre d'amorçage pour 2 disques en partition Linux RAID software.
J'ai réussi la manip parce que j'ai trouvé un site web qui l'expliquait très
bien.