OVH Cloud OVH Cloud

Boot loader de Windows XP détruit

18 réponses
Avatar
Mickybadia
Salut à tous,

J'ai installé un système Linux gratuit sur l'ordi de mes parents, sans
toucher à leur système XP très cher. :-p ...sur une autre partition,
bien sûr.

Le problème, apparemment, c'est qu'il utilise son propre bootloader et qu'il
ne fallait pas le toucher. Oops. J'aurais dû m'en douter. (Cette question
n'est que subsidiaire: pourquoi un OS aurait-il le monopole sur une machine
?)


Je fais donc appel à tous ceux qui connaissent Lilo (ou une autre solution,
genre disque de récupération d'urgence chèpakua avec Windows) pour leur
demander comment faire un "other=blablabla" correctement. Je n'ai pas
l'habitude (je l'avais fait il y a longtemps, mais avec un Windows
différent, moins perturbé lorsqu'on lui installe un voisin) de faire
cohabiter les deux systèmes.


Les détails pour ceux qui lisent encore :

Je ne sais pas pour quelle raison, XP a été installé sur une partition
étendue, en début de disque.

Quand je fais, dans lilo.conf:
other = /dev/hda1
label = Windows
Puis, bash:
# lilo
Loaded Linux *
Failed to load Windows.
# reboot
Au boot, ça fait " Loading Windows", et ça s'arrête là, sans rien loader du
tout, certainement parce que la partition logique contenant Windows n'est
pas hda1, mais hda5, puisqu'hda1 est de type Extended et contient hda5.

Mais quand je fais
other = /dev/hda5
label = Windows
Lilo ne compile même pas cette partie :
# lilo
Loaded Linux *
Failed to load Windows.

J'ai aussi essayé d'ajouter des "table=C:", ou "table=/dev/hda" sans trop
savoir ce que je faisais ni à quoi ça servait, puisque c'est souvent comme
ça qu'on procède avec Windows ;-) Non non, je ne veux pas déclancher la
guéguerre ici, mais j'ai vraiment beaucoup tâtonné, alors si qqn connaît la
soltion.... (?)


MERCI !

(FU2 fcomw)


--
Mickybadia [http://mickybadia.free.fr/]

To reply, please remove "SAY_HELLO_TO_" from address.
Veuillez supprimer "SAY_HELLO_TO_" de l'adresse pour me répondre.

8 réponses

1 2
Avatar
chrisn
"chrisn" a écrit dans le message de news:

> default=multi(0)disk(0)rdisk(0)partition(4)WINDOWS
> [operating systems]


[...]
> "Windows ne peut pas démarrer car il manque
> <Racine de Windows>system32hal.dll
> Veuillez réinstaller une copie du fichier"
>



Le fichier hal.dll correspond au premier fichier que windows cherche
après avoir que le ntdetect.com ait vérifié le matériel de base
(carte vidéo, ports, claviers...). C 'est donc le premier fichier
recherché dans le répertoire windows. Le fait que windows ne le
trouve pas indique qu'il n'est pas sur la partition 4.
Rappel, il faut déjà compter les partitions principales (de mémoire
en excluant les non microsoft) et ensuite les lecteur logiques. Et
cela contrairement aux win9x qui compte d'abord la première
principale, ensuite les lecteurs logiques, enfin les autres
principales.

=================================================================== | MBR | sur un disque ainsi formaté | win9x lit | boot.ini lit
|
=================================================================== | 1 | partition principale de boot | C: | partition(1)
|
| 2 | partition étendue | |
|
| | lecteur logique 1 |` D: | partition(3)
|
| | lecteur logique 2 |` E: | partition(4)
|
| 3 | autre partition principale | F: | partition(2)
|
===================================================================
Donc utiliser la commande "bootcfg /rebuild" en mode console sera
certainement la meilleure solution.



--
chrisn
mettre le bon fai, libertysurf pour me répondre
Avatar
Mickybadia
chrisn wrote:

Non cela est une particularité de la famaille NT depuis NT4.



Un premier pas vers qqch de presque moyen ;-)
Non, je plaisante, ne voudrais pas me faire FU2-er vers linux.debats, ou je
ne sais pas trop où...

[boot loader]
timeout
default=multi(0)disk(0)rdisk(0)partition(4)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(4)WINDOWS >> "Micro$oft Windaube" /fastdetect
multi(0)disk(0)rdisk(0)partition(4)bootsect.lnx >> "Gentoo Linux"



Je suis étonnée, pour un windows préinstallé, qu'il soit sur la
partition 4. Est-ce qu'il a été installé sur cette partition ou
est-ce que vous l'avez recopié sur cette partition ?



Non non : j'ai fait un boot sur le CD [cf. mon post précédent], et ai tapé
'R' pour faire une "réparation", et il m'a proposé ceci :
1. D:WINDOWS
Choisissez dans la liste :

Bon, alors j'ai tapé '1', pas d'autre choix, mais remarquons que c'est sur
le lecteur D.

Puis j'ai tenté FIXBOOT et FIXBOOT C: et ça n'a pas du tout fixé le boot.
Par contre, FIXMBR a eu l'effet de mettre un bootloader qui part sur la
partition 4, qui lui décide si on va sur la partition 3 ou la partition 5
(heu, hda5).


DONC, si je comprends bien, il lui manque le système Windows pour booter sur
Linux (!!!??).

Alors peut-être que la solution serait d'identifier la partition contenant
Windows à la place de "multi(0)disk(0)rdisk(0)partition(4)", dans le
boot.ini ? Ainsi, il trouverait le système dont il a besoin, non ? Comment
s'appelle hda5 dans cette notation ?


--
Mickybadia [http://mickybadia.free.fr/]

To reply, please remove "SAY_HELLO_TO_" from address.
Veuillez supprimer "SAY_HELLO_TO_" de l'adresse pour me répondre.
Avatar
pxg
Mickybadia wrote:
Salut à tous,


Salut

J'ai installé un système Linux gratuit sur l'ordi de mes parents, sans
toucher à leur système XP très cher. :-p ...sur une autre
partition,
Le problème, apparemment, c'est qu'il utilise son propre bootloader
et qu'il
ne fallait pas le toucher. Oops. J'aurais dû m'en douter.



Es-tu sûr que ton chargeur windows n'est pas dans la première partition
principale visible. Elle peut toutefois ne pas être la première partition de
ton disque (hda1) si tu as un pc livré avec une partition de réparation.

Un linux te permettant de monter les partitions d'autres systèmes tu
pourrais aussi avec bénéfice rechercher laquelle comporte ton chargeur
windows. Je doute que celui-ci soit dans hda5, même si c'est celle qui
contient windows. A suivre le fil, je pense que ton chargeur était sur hda1
et ton système sur le premier lecteur logique, les outils de réparation de
windows - évoqué plus haut - sont à même de remédier à cette situation.

Si tu dois prolonger tes expériences linux sans perturber une machine qui
fonctionne avec un os à billou - enfin qui va refonctionner bientôt - tu
pourrais installer son chargeur linux sur une disquette, ou encore utiliser
un livecd comme knoppix en attendant d'être plus aguerri.

courage

pxg
Avatar
Mickybadia
pxg wrote:

Es-tu sûr que ton chargeur windows n'est pas dans la première partition
principale visible.



# fdisk -l /dev/hda
Device Start End Id System
/dev/hda1 2 829 5 Extended
/dev/hda2 830 845 82 Linux swap
/dev/hda3 846 1100 83 Linux
/dev/hda4 1101 1870 C Fat 32
/dev/hda5 2 829 7 NTFS

Je remarque qu'il ne commence qu'au cylindre 2 ; je ne sais pas qui a fait
ce disque, mais c'est pas terrible.

Bon, la première partoche primaire visible pour Windows qui ne reconnaît pas
grand chose est hda4, qu'il appelle du coup C:, il veut donc son boot.ini
dessus, qui lui exécute (apparemment) DETECT.EXE ou un truc comme ça, et
puis il repart sur hda5, qu'il peut voir maintenant.

Mais pour lancer Linux, c'est le bôzérre. C'est quand même bizarre qu'il ait
plus de mal à lancer un primaire plutôt qu'un truc sur de l'étendu.

Un linux te permettant de monter les partitions d'autres systèmes tu
pourrais aussi avec bénéfice rechercher laquelle comporte ton chargeur
windows.



Il se retrouve sur hda4, ça j'en suis sûr ! D'ailleurs, une fois qu'il boot
Windows, hda4 redevient D: (!!!) et C: est hda5, et je vois bien qu'il y a
un fichier "D:boot.ini" et ses copains.

Je doute que celui-ci soit dans hda5, même si c'est celle qui
contient windows. A suivre le fil, je pense que ton chargeur était sur
hda1



Après tout, peu importe. Si mon chargeur se retrouve à l'autre bout du
monde, c'est pas trop le problème, en fait. Je peux le garder sur hda4, il
suffira de ne pas écraser cette partition. Je ne pense pas qu'ils voudront
une partition LFS (Linux from scratch) de toutes façons ! :-)

et ton système sur le premier lecteur logique, les outils de
réparation de windows - évoqué plus haut - sont à même de remédier à cette
situation.



Bah oui, il se répare tout seul, mais il veut pas booter autre chose.

Si tu dois prolonger tes expériences linux sans perturber une machine qui
fonctionne avec un os à billou - enfin qui va refonctionner bientôt - tu
pourrais installer son chargeur linux sur une disquette, ou encore
utiliser un livecd comme knoppix en attendant d'être plus aguerri.



Ne t'inquiète pas pour moi et mes "expériences Linux", la situation n'est
pas tout à fait celle que tu décris : j'ai ma propre machine avec mes
différents systèmes Linux, dont je recompile les noyaux pour mon plus grand
plaisir. :-)

Je veux juste installer Linux sur le PC de mes parents, car je veux partager
ma connection internet avec leur ordi, et je NE VEUX PAS qu'ils utilisent
Windows pour faire de l'internet, car je n'y fais pas confiance, et j'ai
pas envie de configurer un fire wall.


Merci quand même à tous. Je sens que je vais finir par effectivement mettre
un LILO spécial sur disquette, pour booter dessus vers Linux, et puis ils
feront comme ça. C'est long, ch*ant et pas pratique, mais c'est le prix à
payer quand on veut du Windows qui présume un monopole sur ses machines.


--
Mickybadia [http://mickybadia.free.fr/]

To reply, please remove "SAY_HELLO_TO_" from address.
Veuillez supprimer "SAY_HELLO_TO_" de l'adresse pour me répondre.
Avatar
chrisn
"Mickybadia" a écrit dans le message de news:

Non, je plaisante, ne voudrais pas me faire FU2-er vers
linux.debats, ou je ne sais pas trop où...



Ne rien exagérer. Les gens qui répondent sur ce groupe ont pour
beaucoup déjà installé au moins une fois une distribution linux. Par
contre, les réponses données sur chacun des forums doivent
essentiellement prendre en compte la partie concernant l'OS du
forum, même s'il est difficile voire impossible d'éviter toute
allusion à l'autre système. Donc évoquer largement lilo n'a pas sa
place ici, mais un boot.ini avec bootsect.lnx ou loadlin, oui.


>> default=multi(0)disk(0)rdisk(0)partition(4)WINDOWS
>
> Je suis étonnée, pour un windows préinstallé, qu'il soit sur la
> partition 4.

Non non : j'ai fait un boot sur le CD [cf. mon post précédent],
et ai tapé 'R' pour faire une "réparation", et il m'a proposé :
1. D:WINDOWS



Pour plus de clarté, je vais vous présenter une structure multiboot.

c: partition principale fat (2go)
[d: principale sur dd2]
partition étendue :
e:w2k fat (2go)
f: données fat (10 go)
g:xp ntfs (4 go)
espace libre en fin d'étendue (12go)
Espace libre en fin de disque (10 go)

Avec multi(0)disk(0)rdisk(0)partition(4)XP.

Si dans l'espace libre en fin de partiton étendue, j'ajoute linux,
rien ne sera perturbé. Mais si je rajoute 2 partitions de type
principal en fin du disque dur, linux ou non, je viens de vérifier,
alors au retour, il faudra que je transforme partition(4)XP en
partition(6)XP.
Voici donc le schema que j'aurai créer avec début inchangé:

c: partition principale fat (2go)
[d: principale sur dd2]
partition étendue :
e:w2k fat (2go)
f: données fat (10 go)
g:xp ntfs (4 go)
espace libre en fin d'étendue (12go)
swap linux en principale(hda3) (1 go)
ext3 linux en principale(hda4) (9 go)

Donc le fait que vous ayez maintenant d: et partition(4)XP
indiquerait que vous avez rajouté 2 partitions principales en fin de
disque, au lieu de faire de l'espace libre en fin de votre étendue,
la solution la plus courante. L'autre est de créer une étendue
linux, la soultion la plus propre si on ne veut pas que les deux
étendues se voient.

Pour bien fixer les choses, mon lilo pointe sur /dev/hda1 ou C: qui
contient le BOOT.INI et le NTDETECT.COM. De là, le BOOT.INI pointe
sur la partition 6 pour XP, cette partition étant G:. G: contient
WINDOWS et la HALL.DLL

Si je redémarre XP sans rien faire, XP va me dire qu'il a perdu de
vue la hal.dll et le moyen le plus simple de la reconstruire est de
mettre le cd de XP pour partir en console de récupération et taper
alors la commande "bootcfg /rebuild". Puisque c: est en fat, je peux
également booter sur une disquette et aller modifier cela à la main.

Par contre, FIXMBR a eu l'effet de mettre un bootloader qui part
sur la partition 4,



Cela m'étonne. Cela voudrait dire que par exemple vous avez fait de
la place en début de disque, en virant par exemple un possible
dossier de restauration. Normalement windows devrait être resté sur
la partition hda1.

DONC, si je comprends bien, il lui manque le système Windows pour
booter sur Linux (!!!??).



Non, si votre boot.ini est au bon endroit et bien construit, il doit
vous permettre de booter sur linux même s'il ne sait plus booter sur
XP.

Alors peut-être que la solution serait d'identifier la partition
contenant Windows à la place de


"multi(0)disk(0)rdisk(0)partition(4)",
dans le boot.ini ?



Tout à fait.

Comment s'appelle hda5 dans cette notation ?



Ca dépend, voir plus haut.

Un autre point. Il m'est déjà arrivé que XP se vautre totalement
lors d'une création de partition. Il faut savoir que ma partition
étendue a été crée avec linux ou PM et qu'elle est extensible. J'ai
voulu une fois modifier ainsi :

c: partition principale fat (2go)
[d: principale sur dd2]
partition étendue :
e:w2k fat (2go)
f: données fat (10 go)
g:xp ntfs (4 go)
k: divers NTFS (8 go)
espace libre en fin d'étendue (4 go)
l: divers 1 NTFS principale (10go)

Le schéma vue sur XP était parfait, mais le fdisk linux montrait que
en fait k: et l: étaient deux principales et que l: commençait en
fait dans la fin de la partition étendue et faisait en fait 14 go.
K: était également vue en tant que lecteur logique. Automatiquement
XP avait recrée un boot.ini mais il s'était vautré lamentablement,
d'où protestations de sa part au niveau du hal.dll. Donc analysez
votre table de partition sous linux et déduisez en vos lettres
windows. N'hesitez pas à faire vivre les deux fils, ils suffit de
donner suffisamment d'indications pour que chacun restent clair.


--
chrisn
mettre le bon fai, libertysurf pour me répondre
Avatar
chrisn
"Mickybadia"a écrit dans le message de news:
3ff8558d$0$19275$
pxg wrote:

> Es-tu sûr que ton chargeur windows n'est pas dans la première


partition
> principale visible.

# fdisk -l /dev/hda
Device Start End Id System
/dev/hda1 2 829 5 Extended
/dev/hda2 830 845 82 Linux swap
/dev/hda3 846 1100 83 Linux
/dev/hda4 1101 1870 C Fat 32
/dev/hda5 2 829 7 NTFS





L'horreur intégrale : une étendue en début de disque et nulle part
l'amorce.

Bon si un jour XP marchait ainsi, alors la solution est
- lilo pointe sur /dev/hda1,
- vous rendez à nouveau amorçable /dev/hda4 soit avec linux soit
avec une disquette de boot w98
- le boot.ini point sur partition(4)

--
chrisn
mettre le bon fai, libertysurf pour me répondre
Avatar
Mickybadia
chrisn wrote:

L'horreur intégrale : une étendue en début de disque et nulle part
l'amorce.



Toutes mes excuses : ce n'est pas cet ordinateur, et j'écrivais de mémoire.
J'ai donc pas écrit la colonne "Boot", parce que je ne sais plus lesquelles
étaient cochées comme bootables. Mais certainement, hda4 était cochée,
puisque c'est bel et bien là qu'il boote !


--
Mickybadia [http://mickybadia.free.fr/]

To reply, please remove "SAY_HELLO_TO_" from address.
Veuillez supprimer "SAY_HELLO_TO_" de l'adresse pour me répondre.
Avatar
chrisn
"chrisn" a écrit dans le message de news:

Bon si un jour XP marchait ainsi, alors la solution est
- lilo pointe sur /dev/hda1,



Coquille impardonnable lilo point sur /dev/hda4 (la partition en
fat32)

--
chrisn
mettre le bon fai, libertysurf pour me répondre
1 2