Grub ne propose pas le choix de tous mes OS

Salut !
J’ai deux disques durs, sda (PATA, 82Go avec Wheezy et XP) et sdb (SATA2, 160Go avec XP).
J’ai dupliqué avec clonezilla le Wheezy sur le second disque dur car plus rapide. Seulement je n’arrive pas à booter dessus.

Depuis Wheezy sur sda j’ai tenté à l’aide de la doc d’Ubuntu de mettre à jour Grub. Ca a l’air de fonctionner, mais à chaque fois que je reboot, Grub ne me propose que sda (Linux, Linux (mode de dépannage) et XP).

J’ai installé non sans mal Grub-customizer, mais celui me liste sans problème tous mes OS. Je clique sur enregistrer mais au reboot ils ne s’affichent pas.

J’ai voulu booter sur Wheezy de sdb, mais après plusieurs essais, SuperGrub ne fonctionne pas.

Quelqu’un a une idée ? Je suis novice et j’ai lu toutes les documentations que j’ai pu trouver, sans succès.
Merci à vous ! :slightly_smiling:

topo général sur clonezilla:

http://doc.ubuntu-fr.org/clonezilla#comment_restaurer_l_image_d_une_partitions_dans_une_autre_partitions

Je n’ai pas fait d’image de la partition, j’ai directement copié la partition de sda5 à sdb5.
Et l’opération s’est, je pense, déroulé sans souci.

Le Grub présent sur sda devrait être capable de charger la copie sur sdb, non ?

Pas de choix au démarrage de ton pc via F12 ou autre entre tes deux DD ?

Si, bien sûr, mais Grub n’est pas installé du tout sur sdb. Donc si boote sur sdb, c’est XP qui démarre.

Ici peut être tu trouveras une solution : debian-a-disparus-apres-installation-de-windows-t46212.html :008

ça peut pas marcher parce que les fichiers /boot/grub/grub.cfg et fstab ne correspondent plus.J’ai jamais fais ce genre de manip mais je pense qu’il faut reconfigurer ces fichiers à la main,et si tu n’as pas fait de sauvegarde de tes partitions avant de tout chambarder tu risques de te retrouver dans la m…de.
Si un forumeur plus malin passe par là il aura peut être une autre solution à disposition.

Je retente avec SuperGrub mais cette fois avec installation depuis Linux.

[quote=“kripteks”]usb + iso

[quote]Avec les droits root:
0) Brancher l’usb.

  1. En graphique via le logiciel: gparted, choisir l’usb (menu déroulante droite), puis dans le menu haut: “device” -> “create partition table” et choisir “ms-dos”.

  2. En ligne de commande “dd if=/lieu/fichier/supergrubdisk.iso of=/dev/sdX”.
    Note:
    /dev/sdX = le lieu de l’usb qui servira pour l’installation de supergrubdisk, à changer en fonction de la bonne adresse de l’usb, par exemple = /dev/sdc, /dev/sde, etc.
    On peut trouver l’adresse de l’usb: en ligne de commande via “fdisk -l” ou en graphique via le logiciel “gparted”.
    Attention à ne pas confondre avec une disque dur de votre ordinateur, risque perte !

  3. Redémarrer et booter sur votre usb[/quote][/quote]

supergrub ou un chroot,plus rapide et plus simple.

Salut,

Depuis quand les “uid” ne seraient elles plus unique ?

bien vu gérard,tu as bien fait de passer par là :023

En installant SuperGrub depuis Linux avec la commande dd if, ça marche niquel.
Du coup, j’ai booté sur la copie du Wheezy sur sdb (ça a pas été évident SuperGrub n’indique pas les disques hôtes). J’ai réinstallé grub-pc, grub-common et grub2-common à l’aide de Synaptic. Puis j’ai lancé ces commandes :

update-grub

grub-install /dev/sdb

grub-install /dev/sda

Je n’ai essayé de booter que sur sda, mais même si grub ne fonctionne pas sur sdb je m’en fous parce que maintenant le grub de sda me permet de choisir entre tous mes OS (les 2 Wheezy et les 2 XP).

Conclusion : pour qu’un OS soit ajouté dans Grub, il faut obligatoirement booter sur cet OS pour mettre à jour grub. Va savoir pourquoi…

Merci beaucoup en tout cas ! :slightly_smiling:

Re,

[quote]Conclusion : pour qu’un OS soit ajouté dans Grub, il faut obligatoirement booter sur cet OS pour mettre à jour grub. Va savoir pourquoi…
[/quote]

Parce qu’il est ajouté dans le menu grub de l’OS où tu l’as installé !
Ce qui se trouve dans le MBR n’est qu’une adresse et l’uid du disque où se trouve le menu :slightly_smiling:

Youpi Youplaboum : vive Debian ! :smiley:

[quote=“ggoodluck47”]Re,

[quote]Conclusion : pour qu’un OS soit ajouté dans Grub, il faut obligatoirement booter sur cet OS pour mettre à jour grub. Va savoir pourquoi…
[/quote]

Parce qu’il est ajouté dans le menu grub de l’OS où tu l’as installé !
Ce qui se trouve dans le MBR n’est qu’une adresse et l’uid du disque où se trouve le menu :slightly_smiling:[/quote]
Si je te suis bien, quand je boote sur grub de sda1 et que je choisis un Linux de sdb1, alors il ne va pas lancer directement le Linux de sdb1 mais va lancer le grub de sdb1 associé au Linux que je veux lancer ?

Grub, fusée à étages.

1 : MBR disque
2 : racine
3 : nulix
Grub s’installe sur le MBR ET sur le système.

Un grub sans l’installation qui l’abrite est un pétard sans mèche, une fusée sans étages.

Grub peut charger un noyau, il peut inscrire un démarrage en cascade, il peut passer le relais à un autre chargeur d’amorçage…
Grub peut être installé en plusieurs exemplaires, en plusieurs endroits, sur le MBR de /dev/sda, sur le MBR de /dev/sdb, sur /dev/sda1 sur /dev/sda2, sur /dev/sda5, /dev/sda6 …
Nous ne savons pas ce que tu démarres. Un noyau ? Un chainload ? Une image ?
Ce qui a corrigé grub, bien plus que démarrer $CHAIPASQUOI, la
RÉINSTALLATION de grub, ce qui a eu pour effet de corriger le tir de la fusée. L’ancien grub avec ses réglages avant la réinstallation n’a plus cours.

Relis le fil depuis le début

grub.cfg : la question ne se pose pas,grub réinstallé devrait être correct.
Est-ce que tu as édité /etc/fstab du système en /dev/sdb pour lui faire prendre en compte la nouvelle racine ?
Si tu ne l’as pas fait, il est probable que la racine du système que tu penses démarrer sur /dev/sdb soit en réalité celle de /dev/sda …

$ cat /proc/cmdline.
Voir aussi le retour de [mono]mount[/mono] et de [mono]df -hT[/mono].

Si c’est le contenu de la partition (sdb5) qui a été copié dans la nouvelle partition (sda5),
le fichier “/etc/fstab” fait toujours référence à l’UUID de la partition “sda5” comme partition racine au lieu de celui de la partition “sdb5”.

Si c’est une copie de partition, il y a maintenant sur cette machine deux partitions accessibles qui ont les mêmes UUID.

(ce que viens d’ailleurs de dire etxeberrizahar)

En fait je viens de me rendre compte que je ne peux plus accéder à sdb à nouveau (en fait je n’ai pu qu’une fois si je ne me trompe pas).

Si je boote sur grub de sda, j’ai le choix entre tous mes OS, mais le choix entre les deux linux mène uniquement à sda.
Si je boote sur sdb, alors je constate que grub s’est bien installé (c’est plus XP par défaut), et il ne me propose que Linux (+ mode dépannage), et ça mène au Linux de sda.

[quote=“ggoodluck47”]Depuis quand les “uid” ne seraient elles plus unique ?[/quote] Justement : je me suis ensuite rendu compte que CloneZilla avait si bien fait sa copie que sda5 et sdb5 avaient le même UUID. Moi qui croyait que c’était un identifiant accolé au disque dur et in-changeable… J’ai donc utilisé GParted pour générer un nouveau UUID à sdb5.

Si je te suis, etxeberrizahar, avant de rebooter sur sdb5 pour réinstaller grub, il faut que je modifie son fstab pour renseigner le nouvel UUID de sa racine.

  1. Booter sous sda5, monter sdb5
  2. sur sdb5 éditer etc/fstab (je vais m’aider de [mono]man fstab[/mono] pour cela)
  3. Re-booter sous sdb5 à l’aide de SuperGrub
  4. Réinstaller Grub

Ça y est, je crois enfin que j’ai compris. Maintenant j’applique.

PS : au moment ou j’avais écrit ce message, MicP n’avait pas encore posté. Au moins ça confirme, merci !

EDIT : ça a l’air de fonctionner. J’ai énormément appris et je vais donc pouvoir résoudre d’autres problèmes de montage (CD, DVD, clé USB, dossiers Windows, etc). Merci beaucoup à tous ! :slightly_smiling:

Pour info, l’UUID d’une partition est créé par le programme utilisé pour la création du système de fichier de la partition, donc le formatage de la partition.
La copie (ou déplacement) d’une partition (par clonezilla, gparted, dd, ou autre…) va donc créer une partition identique (c’est bien le but) avec son UUID original.