[GRUB]Retrouver un autre OS, d'un autre DD (RÉSOLU :))

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

[GRUB]Retrouver un autre OS, d'un autre DD (RÉSOLU :))

Message par Skwad »

Bonjour les Archers,

Je n'arrive pas à retrouver mon W$ qui est installé sur un second disque. J'ai bien essayé quelques trucs mais je n'arrive à obtenir que des grub 17 ou 22 en validant l'entrée. Je ne suis pas à l'aise avec grub !

Détails des DD :

1er DD
Archlinux avec le grub installé par défaut + /home : tout propre

2ème DD
Un grub cassé dû à une ancienne version d'ubuntu supprimée et remplacée par une partoches NTFS pour W$ + W$ XP


D'après ce que j'ai compris, il faudrait créer un chainloader donc j'ai édité mon menu.lst comme ceci :

Code : Tout sélectionner

# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst

# DEVICE NAME CONVERSIONS 
#
#  Linux           Grub
# -------------------------
#  /dev/fd0        (fd0)
#  /dev/sda        (hd0)
#  /dev/sdb2       (hd1,1)
#  /dev/sda3       (hd0,2)
#

#  FRAMEBUFFER RESOLUTION SETTINGS
#     +-------------------------------------------------+
#          | 640x480    800x600    1024x768   1280x1024
#      ----+--------------------------------------------
#      256 | 0x301=769  0x303=771  0x305=773   0x307=775
#      32K | 0x310=784  0x313=787  0x316=790   0x319=793
#      64K | 0x311=785  0x314=788  0x317=791   0x31A=794
#      16M | 0x312=786  0x315=789  0x318=792   0x31B=795
#     +-------------------------------------------------+
#  for more details and different resolutions see
#  http://wiki.archlinux.org/index.php/GRUB#Framebuffer_Resolution 

# general configuration:
timeout   5
default   0
color light-blue/black light-cyan/blue

# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=775" to your kernel line.
#
#-*

# (0) Arch Linux
title  Arch Linux
root   (hd0,1)
kernel /vmlinuz26 root=/dev/disk/by-uuid/742e3426-e0a5-469d-be6e-247dd512b093 ro vga=0x317 quiet
initrd /kernel26.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,1)
kernel /vmlinuz26 root=/dev/disk/by-uuid/742e3426-e0a5-469d-be6e-247dd512b093 ro
initrd /kernel26-fallback.img

# (2) Windows
title Windows
rootnoverify (hd1,2)
makeactive
chainloader +1
Je suis allé fouiller sur la doc ubuntu mais je n'ai pas pigé à quoi sert les "map"... Est-ce nécessaire ?
Ensuite, j'aimerais savoir à quel disque correspond hd0 et hd1 pour grub ?

Et sinon, est-ce que supprimer grub et installé grub2 pourrait faire l'affaire ? Et quel(s) précaution(s) prendre mis à part sauver le menu.lst ?
le "update-grub" est-il dispo avec grub2 ? Qu'en est-il de "os-prober" permettant de lister les OS reconnu par le système ? (Bien oui, ancien ubunteros...)


Voilà, ce sera à peu près tout, pour l'instant. Y a-t-il une âme charitable prêt à me consacrer un peu de temps ?

Merci d'avance.
Dernière modification par Skwad le sam. 18 déc. 2010, 02:17, modifié 1 fois.
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [GRUB]Retrouver un autre OS, d'un autre DD (en cours)

Message par FoolEcho »

Ton chaînage sur la troisième partition du second disque me paraît suspect (hd1,2). C'est plus probablement (hd1,0) ou (hd1,1)

hd0 = premier disque
hd1 = second disque

Mais plutôt qu'essayer à l'aveuglette, je pense que la première chose à vérifier est l'emplacement de l'amorce de windows sur ton second disque, via (en root):

Code : Tout sélectionner

fdisk -l
(ou avec gparted) et tu regardes s'il y a une partition sdb marqué "boot" ou amorce, puis ton modifies ton menu.lst en conséquence (hd1, n° de partition - 1 ... par exemple hd0,1 si l'amorce est située sur sdb2 -- tu as un commentaire sur des exemples de conversion au début du menu.lst :rtfm: ). Indique nous le résultat de la commande si tu ne vois pas trop.

Pour info, 'map' ne te servira à rien. C'est utile pour faire croire que le second disque est le premier par exemple.

Pour tes autres questions, je ne sais pas, j'en suis resté à grub premier du nom pour l'utilisation (et sorti de la config principale de grub2, je ne connais pas grand-chose)... et le partitionnement (presque) à la main. :mrgreen:
«The following statement is not true. The previous statement is true.» :nage:
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

Re: [GRUB]Retrouver un autre OS, d'un autre DD (en cours)

Message par Skwad »

Merci pour ces premières réponses.

Alors j'ai ajouté à mon menu.lst ces 3 entrées :
# (2) Windows
title Windows
rootnoverify (hd1,0)
makeactive
chainloader +1
RÉSULTAT : ERROR 13 : Invalid or unsupported executable format

# (2) Windows
title Windows
rootnoverify (hd1,1)
makeactive
chainloader +1
RÉSULTAT : ERROR 22 : No such partition

# (2) Windows
title Windows
rootnoverify (hd1,2)
makeactive
chainloader +1
RÉSULTAT : ERROR 22 : No such partition

Je vais essayer les hd(2,x) mais je crois bien qu'il y a un pépin quelques part ailleurs car quand je boote sur le DD où est W$ j'ai aussi une erreur de grub. Est-ce ici qu'il faut intervenir en premier lieu ?

fdisk -l :

Code : Tout sélectionner

Disque /dev/sdb: 250.1 Go, 250059350016 octets
1 têtes, 63 secteurs/piste, 7752336 cylindres, total 488397168 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : 0x41184117

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdb1              63   324544562   162272250    7  HPFS/NTFS
/dev/sdb2   *   324545130   488375999    81915435    7  HPFS/NTFS

Disque /dev/sdc: 1000.2 Go, 1000204886016 octets
255 têtes, 63 secteurs/piste, 121601 cylindres, total 1953525168 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : 0xa9e822ed

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdc1   *          63     5992244     2996091   82  Linux swap / Solaris
/dev/sdc2         5992245     6120764       64260   83  Linux
/dev/sdc3         6120765    24113564     8996400   83  Linux
/dev/sdc4        24113565  1953520064   964703250    5  Etendue
/dev/sdc5        24113628    64115414    20000893+  83  Linux
/dev/sdc6        64115478  1953520064   944702293+  83  Linux


Edit :
Avec hd(2,0)
Reboot immédiat

Avec hd(2,1)
Il me réécrit ce que j'ai mis dans le menu.lst pour cette entrée et plus rien.

Avec hd(2,2)
Erreur 22 : No such partition
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [GRUB]Retrouver un autre OS, d'un autre DD (en cours)

Message par FoolEcho »

Mea culpa. Je me suis documenté un peu plus et apparemment le 'map' est indispensable pour le démarrage de Windows à partir d'un deuxième disque dur (j'ai plutôt l'habitude de disque1 = windows (+éventuellement linux) - disque2 = linux).

hd2 ne te donnera rien, c'est ton disque linux dont tu as normalement déjà les entrées dans ton menu.lst (ce qui explique les sorties que tu obtiens, mais ce qui n'explique pas comment tu peux booter sur Arch par contre).

Essaie avec:

Code : Tout sélectionner

# (2) Windows
title Windows
map		(hd0) (hd1)	# hd0 devient hd1
map		(hd1) (hd0)	# hd1 devient hd0 virtuellement
rootnoverify (hd1,1)         # donné par le fdisk -l
makeactive
chainloader +1
Mais ce qui m'embête un peu c'est la sortie de fdisk... sdb et sdc... pas de sda ??? ... alors que ton menu.lst, indique bien ton démarrage unix sur hd0... Du coup, je ne suis pas sûr pour map... Tu arrives à démarrer Arch ? :shock:

EDIT1: cf. le wiki https://wiki.archlinux.org/index.php/GR ... disque_dur, ça t'aidera à comprendre un peu mieux comment tout ça s'emboîte.

EDIT2: pour le cas où tu l'ignores, n'oublie pas que tu peux modifier temporairement des entrées de Grub au démarrage de ta machine, ça te permettra de tester sans modifier 36 fois ton menu.lst. ;)
«The following statement is not true. The previous statement is true.» :nage:
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

Re: [GRUB]Retrouver un autre OS, d'un autre DD (en cours)

Message par Skwad »

FoolEcho a écrit :hd2 ne te donnera rien, c'est ton disque linux dont tu as normalement déjà les entrées dans ton menu.lst (ce qui explique les sorties que tu obtiens, mais ce qui n'explique pas comment tu peux booter sur Arch par contre).
Si j'ai bien compris, tu dis que hd2 = sdc ? Alors dans ce cas, pourquoi jai hd(0,0) pour booter sur arch ?
FoolEcho a écrit : Essaie avec:

Code : Tout sélectionner

# (2) Windows
title Windows
map		(hd0) (hd1)	# hd0 devient hd1
map		(hd1) (hd0)	# hd1 devient hd0 virtuellement
rootnoverify (hd1,1)         # donné par le fdisk -l
makeactive
chainloader +1
Error...
FoolEcho a écrit :Mais ce qui m'embête un peu c'est la sortie de fdisk... sdb et sdc... pas de sda ??? ... alors que ton menu.lst, indique bien ton démarrage unix sur hd0... Du coup, je ne suis pas sûr pour map... Tu arrives à démarrer Arch ? :shock:
J'ai volontairement ommis de mettre le sda qui me sert uniquement de sauvegarde de données et sur lequel il n'y a jamais eu aucun système d'installé dessus. J'estimais qu'il était inutile de le mettre... désolé.. :?

Cette fois-ci voici le résultat de fdisk -l dans son intégralité :

Code : Tout sélectionner

[skwad@arch ~]$ sudo fdisk -l
Mot de passe : 

Disque /dev/sda: 640.1 Go, 640135028736 octets
255 têtes, 63 secteurs/piste, 77825 cylindres, total 1250263728 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : 0xc65a2098

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sda1              63  1250258624   625129281   83  Linux
/dev/sda4   *           0           0           0    0  Vide

Disque /dev/sdb: 250.1 Go, 250059350016 octets
1 têtes, 63 secteurs/piste, 7752336 cylindres, total 488397168 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : 0x41184117

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdb1              63   324544562   162272250    7  HPFS/NTFS
/dev/sdb2       324545130   488375999    81915435    7  HPFS/NTFS
/dev/sdb4   *           0           0           0    0  Vide

Disque /dev/sdc: 1000.2 Go, 1000204886016 octets
255 têtes, 63 secteurs/piste, 121601 cylindres, total 1953525168 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : 0xa9e822ed

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdc1              63     5992244     2996091   82  Linux swap / Solaris
/dev/sdc2   *     5992245     6120764       64260   83  Linux
/dev/sdc3         6120765    24113564     8996400   83  Linux
/dev/sdc4        24113565  1953520064   964703250    5  Etendue
/dev/sdc5        24113628    64115414    20000893+  83  Linux
/dev/sdc6        64115478  1953520064   944702293+  83  Linux
Et je vois que par rapport à hier, une sdb4 en "amorce" s'est créé.


Edit : Bon, la sdb4 a disparu et c'est revenu comme avant.


Edit2 : J'ai trouvé ! :D
Ça fonctionne avec ça :

Code : Tout sélectionner

# (2) Windows
title Windows XP
map      (hd0) (hd2)   # hd0 devient hd2
map      (hd2) (hd0)   # hd2 devient hd0 virtuellement
rootnoverify (hd2,1)         # donné par le fdisk -l
makeactive
chainloader +1
Merci de ton aide, c'est très sympa. Je vais pouvoir me consacrer à mon imprimante, aux montages auto de mes clés usb, à wicd, au ftp via pcmanfm ou nautilus, à l'install de firefox 4 beta... et là je retrouverai tout le confort que j'avais sous obuntox (ubuntu + openbox) mais en bien mieux, plus véloce et sans les mises à niveaux. 8)
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [GRUB]Retrouver un autre OS, d'un autre DD (RÉSOLU :))

Message par FoolEcho »

Skwad a écrit :Si j'ai bien compris, tu dis que hd2 = sdc ? Alors dans ce cas, pourquoi jai hd(0,0) pour booter sur arch ?
Je pige pas trop non plus...
Ou alors... :idea:
Tu as bien dit que sda est un disque de sauvegarde... Alors... Quand tu démarres la machine, grub va chercher stage1 là où tu lui indiques, sur hd0... donc sur sda (qui a bien un stage1 si tu as une copie de ton système... sinon je pige plus rien :lol: ). Ensuite Grub, continue son boulot et va chercher tes images sur ta partition boot du disque linux cette fois (via les uuid) et ton système démarre correctement...
... pourtant, non, ça colle pas... parce que le menu.lst qu'il te proposerait serait alors celui de sda si je ne me trompe pas... et pas celui de ton disque linux... sauf si tu sauvegardes à chaque fois que tu démarres Arch... ...et dans ce cas... ...

Je ne comprends pas que tu indiques hd2 pour le chaînage (et surtout que ça marche avec hd2), sachant que Windows est sur ton second disque (et on part de 0 pour la numérotation des hd...)... Tes disques sont branchés comment ? Tu les changes de place ? Tu sauvegardes quoi sur sda (et surtout: quand) ?

Sans compter les amorces qui apparaissent/disparaissent...

... ça marche tant mieux, mais je ne pige pas. :?
«The following statement is not true. The previous statement is true.» :nage:
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

Re: [GRUB]Retrouver un autre OS, d'un autre DD (RÉSOLU :))

Message par Skwad »

Déjà, je m'y suis repris à 3 fois pour installer arch car à chaque fois, grub ne bootait pas arch. Pourtant je me trompais pas, je l'installais bien sur sdc !
Mais ça voulait pas ! Et je me suis souvenu qu'avec ubuntu c'était le même problème. J'ai donc débranché physiquement les 2 autres disques de façon à n'avoir que sdc (en sda du coup) et là aucun risque d'erreur pour linux. Ça boote nickel.

Je poursuis donc, je configure un peu arch et je rebranche mes 2 DD à la même place qu'avant pour retrouver mes docs et mes fichiers de config.

Sous ubuntu, gparted me les classaient de la même manière :
SDA (/home + docs)
SDB (docs_w$ + w$)
SDC (/ + /home + docs)

Je n'ai jamais cherché à comprendre pourquoi sdc au lieu de sda. Ça aurait été une marchine de test, je me serai fait plaisir de le torturer mais là je peux pas me permettre.

Au tout début, c'était pas comme ça mais je n'avais pas sdc et linux était collé à w$, d'où les débris de grub sur cette partition.

Concernant le dd de sauvegarde (sda), impossible. Il n'y a aucune partition système dessus, pas de grub. Juste mon ancien /home et des docs perso.
Depuis mon install, sda n'a subi aucune sauvegarde et je n'aurai que mon /home et mes docs présent sur sdc quand j'aurai totalement fini ma migration.
Ensuite je ne comprends pas bien ta question, comment ça comment ils sont branchés ? Tu parles des n° de ports sata ? C'est peut-être une piste d'ailleurs.

Et non je ne les change pas de place... pourquoi faire ? :lol:


Donc pour la numérotation de grub chez moi :
sdc = hd0
sdb = hd2
sda = hd1

C'est tordu ce truc !
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [GRUB]Retrouver un autre OS, d'un autre DD (RÉSOLU :))

Message par FoolEcho »

Skwad a écrit :Tu parles des n° de ports sata ?
Oui... et si ce sont des disques internes ou externes aussi.
Skwad a écrit :J'ai donc débranché physiquement les 2 autres disques de façon à n'avoir que sdc (en sda du coup)
... :-s ... et du coup tu as installé grub sur le secteur d'amorçage de sdc, non (mais bien sûr sur "sda" ) ? ... et modifier l'ordre de démarrage dans le bios pour booter en priorité sur ce disque (ou en tous cas ce disque arrive avant les autres dans le bios ? )...

Du coup, je comprendrais peut-être mieux cette numérotation farfelue (pour nous, car elle ne l'est pas pour la machine). Ceci dit, je ne m'y connais pas assez en bios pour être certain (ça n'a pas trop d'importance puisque tu as obtenu ce que tu voulais, mais ça sera toujours intéressant de savoir). :copain:
«The following statement is not true. The previous statement is true.» :nage:
Skwad
archer de cavalerie
Messages : 195
Inscription : mar. 14 déc. 2010, 20:00

Re: [GRUB]Retrouver un autre OS, d'un autre DD (RÉSOLU :))

Message par Skwad »

FoolEcho a écrit :...(ou en tous cas ce disque arrive avant les autres dans le bios ? )...
Exact..
Sinon à première vue, sda > sata2, sdb > sata1 et sdc > sata 3 ou 4. :? J'ai du e-sata en façade. :D
OS : Archlinux / Debian
DE : Gnome / KDE
Serveur : OpenMediaVault
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [GRUB]Retrouver un autre OS, d'un autre DD (RÉSOLU :))

Message par FoolEcho »

Je ne sais pas si l'ordre de boot impacte la numérotation des disques par le bios (je ne fais que supposer, j'ignore comment opère un bios et grub dans le détail :copain: ) ... ça pourrait être un début d'explication... mais je ne comprends toujours pas pourquoi tu ne pouvais booter Arch au début avec tes trois disques... sauf si tu n'avais pas encore changé l'ordre dans le bios ou que tu n'as pas installé l'amorce sur le bon disque (sans compter de vieilles amorces sur tes autres disques qui fait qu'on arrive jamais là-dessus).
Y a des zones d'ombres à mon sens. :?
«The following statement is not true. The previous statement is true.» :nage:
Répondre