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

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.

10 réponses

1 2
Avatar
Daniel Dechelotte
Salut,

Pour commencer, c'est de fait un problème qui aura plus de chances de
trouver une solution sur un forum linux (après tout lilo est distribué
avec linux). Diapublication et suivi sur fr.comp.os.linux.configuration,
où tu as par ailleurs déjà républié ton article, ce qui est mal (tm).
:-( ;-)



Mickybadia a écrit :

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

Là, la sortie d'un "fdisk -l /dev/hda" permettrait de remplacer
n'importe quel long discours.

| <snip de l'essai avec other=/dev/hda1>

Ça ne pouvait pas marcher, tu as donné la bonne raison.

| <snip de l'essai avec other=/dev/hda5>

Presque. Voici une piste.

Je *crois* que le BIOS ne peut charger à partir du MBR que des
partitions primaires. Si le MBR est vide, il lance la partition active ;
s'il y a lilo dessus, lilo lance ce que tu lui as demandé de lancer,
mais en se restreingnant aux 4 partitions primaires (/dev/hda[1-4],
notation linuxienne). Pour dépasser cette limitation, il faut que lilo
voient les partitions logiques, dans la partition étendue : c'est à ça
que sert l'option "loader".

other=/dev/hda5
label="Windows XP"
loader=/boot/chain.b

J'espère que ça te débloquera. Fais bien man lilo.conf pour t'assurer
que je ne suis pas trop à côté de la plaque.

-- Daniel
Avatar
Mickybadia
Pardonne-moi d'annuler ton FU2, mais comme dans toute AG bien faite, les
attaques personnelles font l'objet d'un droit de réponse immédiat. :-)

Daniel Dechelotte wrote:

Pour commencer, c'est de fait un problème qui aura plus de chances de
trouver une solution sur un forum linux (après tout lilo est distribué
avec linux).



C'est en pensant à cela que j'ai reposté dans fcolc. Et je sais que c'est
mal. Pour ma défense, l'article a quand même été adapté, donc pas tout à
fait Xposté. :-) Je l'ai pas mal snippé.

Par ailleurs, je maintiens que comprendre le fonctionnement de Windows et de
ses options de boot -- ce qui est un sujet de fcomw -- m'aurait aidé à
comprendre le problème car je ne connais pas ce genre de détails sur
Windows. Bien sûr, le problème ne vient p-e pas d'XP lui-même, mais si je
ne m'abuse , les OS de Micro$oft installent leurs propres bootloaders, et
ça j'aurais voulu savoir ce qu'il y avait dedans pour pouvoir refaire le
mien.


Bref,

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

Là, la sortie d'un "fdisk -l /dev/hda" permettrait de remplacer
n'importe quel long discours.



???
C'est justement en faisant ça que je me suis rendu compte qu'XP était sur
une partition étendue, et que je m'étonnais. XP ne s'installerait-il
maintenant que sur des partitions étendues ?


Voici une piste.
[SNIP]
other=/dev/hda5
label="Windows XP"
loader=/boot/chain.b
J'espère que ça te débloquera. Fais bien man lilo.conf pour t'assurer
que je ne suis pas trop à côté de la plaque.



Ah ha! Là ça devient chouette. Merci pour ton aide, je vais tenter, et
bouquiner sur cette merveille d'option "loader", et voir si ça me débloque.

À plus et sans rancune.

(Re-FU2)


--
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
Stan
Salut,

Le bon fonctionnement pour avoir un Dual boot XP/Linux est d'installer XP
APRES Linux.
à ce moment là on modifie le fichier boot.ini de c: pour ajouter la
description de Linux.

On installe le lilo en début de partition Linux et on fait un dd
if=/dev/hdaX of=/mnt/Win/linux.boot countQ2 ou hdaX est la partoche Linux
& /mnt/Win la partoche c: mounté sur /mnt/Win.

Cela crée un fichier utilisable pour addressé le lilo de la partoche Linux.

le boot.ini doit être modifié de la sorte :
[boot loader]
timeout0
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP
Professionnel" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)linux.boot="Linux"

En attendant tu peux prendre exemple sur le boot.ini ci-dessus pour
récupérer ton XP. Le mieux est d'ailleurs de le faire
par le CD XP qui réparera XP en cassant lilo.

Mon U...X est bien aussi beau que le tien !
Avatar
Th.A.C
A priori, aucun os n'est capable de booter sur une partition étendue, on ne
peut d'ailleurs activer qu'une partition principale.
Cette partition principale peut par contre très bien contenir le début du
boot qui peut éventuellement continuer ailleurs

Je pense que tu dois avoir une autre partition non étendue ou se trouvent
les fichiers de boot de XP. Il te suffit de chercher ou se trouvent les
fichiers ntloader, boot.ini, ... Il te suffira de l'activer pour vérifier...
Avatar
Jean-Claude BELLAMY
Dans le message bt4gk7$871$,
Th.A.C s'est ainsi exprimé :

A priori, aucun os n'est capable de booter sur une partition étendue,



Rectification :
"...aucun os MICROSOFT n'est capable de booter sur une partition étendue..."

Car Linux ou BeOS (p.ex.) sont capables de le faire.
Mais cela oblige ces OS à utiliser un bootmanager (LILO sous Linux).


C'est parce qu'il n'y a pas de bootmanager dans les OS de chez MS qu'il faut
les installer sur une partition primaire.
(le NTLDR + BOOT.INI de NT n'est pas un "vrai" bootmanager, car situé dans
une partition, et non pas dans le MBR)


--
Avatar
chrisn
"Mickybadia" a écrit dans le message de news:


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 pênse plutôt que vos parents veulent pouvoir booter de manière
simple sur leur OS favoris. Ce qui est logique parce que ce sont eux
qui détiennent le blé.

Comme ce que vous voulez savoir c'est comprendre, que vous disposez
du weekend et que c'est la le début de toute démarche sage, je vous
renvoie sur ces quelques pages très biens faites et qui vous
concernent directement.

http://www.bellamyjc.org/fr/multiboot.html


Vous y apprendrez comment maitriser la connaissance des partitions
et d'un multi boot qui ne touche pas l'os sacré de vos parents.

Quand même une indication : windows XP ne sait booter que sur une
partition primaire et qui contient à la racine le fichier boot.ini.
C'est sur cette partition et non celle qui contient le répertoire
windows que vous devez booter quand vous partez de lilo. De plus
cette partition doit posseder l'attribut a comme active.


--
chrisn
mettre le bon fai, libertysurf pour me répondre
Avatar
William Marie
"Mickybadia" a écrit dans le
message de news:3ff4cd48$0$19296$
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.



Mais, c'est pas vrai, je n'arrête pas d'expliquer ici le multiboot
Windows ET Linux, je ne suis jamais lu ? Pourquoi tant de haine ?
--
========================================================== William Marie
Toulouse (France)
mailto:
ATTENTION ! Anti-SPAM pour m'écrire remplacer trapellun.net
par free.fr
http://wmarie.free.fr
===========================================================
Avatar
Mickybadia
William Marie wrote:

Mais, c'est pas vrai, je n'arrête pas d'expliquer ici le multiboot
Windows ET Linux, je ne suis jamais lu ? Pourquoi tant de haine ?



Bon, je suis désolé, mais le fait que ma partition soit étendue pose plus de
problèmes que prévu.

Le document que chrisn donne est très bien fait, avec bcp de captures
d'écran et tout. Et plein d'ailleurs de la base de registres avec ses codes
horribles.

Le post de Stan m'a vraiment bien aidé aussi, j'ai pu comprendre (un peu)
comment fonctionnait le pseudo-bootloader de Microsoft. Voir la réponse --
désolé pour l'ordre spaghetti -- que je lui ai postée pour la suite de
l'histoire...


--
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
Mickybadia
Stan wrote:

Le bon fonctionnement pour avoir un Dual boot XP/Linux est d'installer XP
APRES Linux.



C'est nouveau, ça, qu'on puisse faire les deux, maintenant. Avant,
l'installation d'un Windows, je me rappelle bien, écrasait tout bootloader
déjà installé.

J'ai l'impression que je vais pouvoir m'en tirer, avec ta méthode. Merci
pour la proposition. Un problème cependant...

J'ai fait un boot sur le CD d'XP, priant pour qu'il ne faille pas encore
leur téléphoner. J'ai eu une console qui me proposait "FIXMBR" comme
commande, j'ai fait ça. J'ai aussi essayé, pour info, "FIXBOOT", mais qui
ne m'a rien fait.
Maintenant, ma machine démarre Windows, sans choix, et dans "Poste de
travail >> Propriétés >> Avancé >> Propriétés de 'Démarrage et
récupération' >> Modifier", je peux éditer le boot.ini.

Le voici comme je le veux :
[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"

Il se retrouve sur partition(4), avec ntdetext.exe qui doit sans doute
détecter où est Windows, sans doute parce que c'est la première patoche
qu'il reconnaiît.

Bon. Apparemment, d'après le lien bien fait que l'on m'a pointé (populaire,
on me l'a aussi conseillé sur le forum méchammant Xposté), il ne vaut mieux
pas changer ça. Et puis d'après une loi de bon sens dans l'utilisation d'un
produit M$, ne plus toucher quand ça marche à peu près.

Mais le problème, c'est que ça marche pour booter Windows, mais quand
j'essaie l'autre :
"Windows ne peut pas démarrer car il manque
<Racine de Windows>system32hal.dll
Veuillez réinstaller une copie du fichier"

[Notez comme il écrit que _Windows_ ne peut démarrer.]
Pourtant, il y est ce fichier. Alors, c'est parti.

<MODE BIDOUILLE="ON">

Fallait bien... Je recopie ce fichier un peu partout, avec des system32
aussi un peu partout.

Rien n'y fait, toujours le même message d'erreur. Par contre, Windows
démarre bien !

Où faut-il mettre hal.dll ?



Mon U...X est bien aussi beau que le tien !



Ton quoi ? :-S


--
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:

Le bon fonctionnement pour avoir un Dual boot XP/Linux est
d'installer XP APRES Linux.





C'est nouveau, ça, qu'on puisse faire les deux, maintenant.
Avant, l'installation d'un Windows, je me rappelle bien,
écrasait tout bootloader déjà installé.



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


Le voici comme je le veux :
[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 ? Dans ce cas, il
manque l'équivalent du sys c: des dos et win9x. Mettre le cd et
tenter une réparation de windows : en mode console taper la commande
fixboot (j'espère que les données sont sauvegardées, sinon elles
risquent de mal finir). Vous pouvez aussi demander en bootant sur le
cd de tenter une réparation

Mais le problème, c'est que ça marche pour booter Windows, mais


quand
j'essaie l'autre :
"Windows ne peut pas démarrer car il manque
<Racine de Windows>system32hal.dll
Veuillez réinstaller une copie du fichier"



Cela confirmerait ce que je viens de dire : le boot de windows est
cassé. La hal.dll (hardware abstraction layer) sert d'interface
entre windows et tout le matériel qui n'est pas directement lié au
processeur. A l'installation windows choisit celle qui correspond à
la configuration du matériel ou bien à celle fournie par le
fabriquant, comme pour un driver standard.

Où faut-il mettre hal.dll ?



Il n'y a pas que la hal.dll à remplacer, si on veut le faire à la
main, sans compter des fichiers de configuration à modifier à la
main (ex le windowsrepairsetop.log)
Pour reconstituer un boot.ini correct en mode console taper bootcfg
/rebuild


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