Après un boot avec le LiveCD F10, je fais :
mkdir /mnt/tmp
mount /dev/sda1 /mnt/tmp
chroot /mnt/tmp
mount -a
J'ai des erreurs sur tous les mount
Pas de /dev/sda, /dev/sda1, ... , donc le mount se passe mal

Comment faire un chroot et avoir les devices /dev/sdx à jour.
Je pense que (depuis longtemps?) chroot ne crée pas les /dev/sdx, par contre tu peux les re-créer avec un «mknod».

Mais pourquoi veux tu avoir des /dev/sdx avec un chroot ?
J'essaie de lancer un grub-install, à partir du chroot de mon /dev/sda1, mais il me répond qu'il ne trouve pas de bloc device /dev/sda.
En effet il n'y en a pas.
Si tu veux réinstaller grub, c'est en mode rescue qu'il faut chrooter la partition racine d'un système pré-existant. Je ne sais pas si on peut démarrer de la sorte avec un liveCD. A partir du DVD d'install, on tape 'linux rescue' à l'invite boot :*, puis 'chroot /mnt/sysimage' après que le système ait été monté automatiquement dans le dit répertoire.

* Appuyer sur [Echap] pour pouvoir entrer les options de boot.
@Aka Shiva
Merci de ta réponse, mais je n'ai pas de DvD CD d'installation, je n'ai qu'un LiveCD qui permet une installation.
Mais s'il ne permet pas de rescue, alors on peut le jeter après installation.
Avant j'utilisais knoppix pour faire le chroot et le grub et avec knoppix, pas besoin de rescue.
Que manque-t'il pour faire un chroot complet.
Par contre j'ai créé les /dev/sda et /dev/sda1 avec mknod, mais ce n'est pas très évident.
Pour réinstaller grub à partir du Live CD, c'était en fait très simple:
tu tapes tout simplement
grub-install /dev/sd*
sd* correspondant au MBR du disque dur soit sda ou sdb ou à une partition sda1, etc...

Voir ici, c'est détaillé :
http://forums.fedora-fr.org/viewtopic.php?pid=310698
Désolé, mais j'ai suivi cette page http://doc.fedora-fr.org/wiki/GRUB_:_Les_bases_pour_Fedora
chroot est là pour vous servir 🙂 Vous allez devoir démarrer votre ordinateur en utilisant un livecd. Une fois le système lancé, connectez-vous en root :

$ su -

Montez votre disque actuel quelque part (/mnt semble être une bonne option :

# mkdir /mnt/sysimage
# mount /dev/VolGroup00/LogVol00 /mnt/sysimage

Le chemin /dev/VolGroup00/LogVol00 correspond à celui du LVM installé de base par Fedora. Si vous avez choisi de na pas utiliser LVM, le chemin sera du genre /dev/sda2 ; si vous avez choisi (ce qui est recommandé) de modifier le nom du LVM, la commande lvdisplay listera les volumes LVM présents.

Une fois votre système monté, vous pourrez le "chrooter":

# chroot /mnt/sysimage

Vous devrez ensuite monter le minimum syndical requis au bon fonctionnement du grub-install (à savoir /boot, /dev, /proc et /sys). Une commande vous permet de faire cela très simplement dans un environnement chrooté :

# mount -a
Que faut-il croire ?
Le documentation est la meilleure référence. Qu'est-ce que tu attends pour mettre en pratique ? En l'absence de mode rescue, il faut tenir compte du LVM pour pouvoir chrooter.
La documentation parle bien d'un LiveCD (sans rescue)
Mais je n'ai pas de LVM, j'ai tout bêtement une partition ext3.
Donc je remplace le mount /dev/VolGroup00/LogVol00 par un mount /dev/sda1
Mon chroot fonctionne je retrouve bien mon fedora en / et non plus en /mnt/sysimage comme avant le chroot.
Mais pas de /dev/sda ni sda1 donc le mount -a dont parle la documentation ne fonctionne pas

De plus
Je ne sais pas si le uname -r fonctionne sous chroot car il ne me sort pas la release de mon noyau F10, mais celui du LiveCD.
Mais pour l'instant ce n'est pas le problème.
Peut-être aussi perds-tu ton temps à vouloir chrooter à tout prix. Tapes carément :
# grub-install /dev/sda
Tu seras fixé. Si ça ne marche pas il y a d'autres astuces décrites dans le fil que je t'ai linké.
Tu peux nous dire exactement ce que tu veux ?

A quoi correspondent ces manips ? quel est le but ?

Ensuite on te dira s'il y a une erreur et laquelle, parce que là on te suit sans savoir où tu vas.

Si c'est juste remettre le bootloader de grub sur le MBR, inutile de tourner autour du pot, la commande est dans le post précédent. Si tu cherches autre chose, quoi ?
Si l'on lance grub-install dans un environnement non chrooté, il fera des copies de
/usr/share/grub/i386-redhat vers /boot/grub, mais pas le bon puisque l'on n'est pas chrooté.
Donc les copies se feront sur le LiveCD, mais pas sur la destination.

Si l'on est chrooté, il fera les copies du /usr/share/grub/i386-redhat chrooté dans le
/boot chrooté.

Donc il faut être chooté pour pouvoir faire un grub-install correct.

La suite de grub-install, grub + setup hd0,0 se fera correctement mais si l'on a perdur un stage2 le grub-install ne les recopiera pas.

Je viens de faire l'essai et dans un environnement non chrooté le stage2 effacé auparavant n'est pas copié donc toujours inexistant.

La manip non chrooté fonctionne pour restaurer un MBR mais pour restaurer un grub complétement cassé.
Je pense que fedora88 a raison
grub-install sans chroot IS NOT grub-install avec chroot

Sans chroot, le début de grub-install (cp /usr/share/..... /boot/grub) ne s'exécute pas là où il faut.

Seules les commandes dans l'interpréteur grub fonctionnent de la même façon avec ou sans chroot puisqu'elles travaillent au niveau physique.

Voir les documentations/forum sur grub-install.

De plus il est vrai que d'autres LiveCD ont un chroot qui préservent (propagent?) les /dev/xxxx
Je ne partage pas du tout cette opinion.

Grub-install vise à installer le bootloader sur le MBR de sda. Or la piste 0 et a fortiori le secteur 0 ne font partie d'aucune partition.

Je ne vois donc pas en quoi ca changerait de chrooter ou pas. La seule question est de savoir si la commande grub-install est disponible, c'est à dire soit sur le livecd, soit sur le système chrooté. Il suffit avec un démarrage en mode rescue de faire un fdisk -l pour voir qu'on a accès aux disques.

On ne copie rien vers ou depuis /boot/grub.

Parler IS NOT résoudre
@nouv09
Comme tu le sais, grub-install est constitué de deux parties :
La première partie qui copie les fichiers stagexxx de /usr/share/grub/xxxxxx vers /boot/grub
La deuxième qui fait le grub setup.
man grub-install wrote:grub-install copies GRUB images into the DIR/boot directory specfied by
--root-directory, and uses the grub shell to install grub into the boot sector.
En effet l'installation du paquet grub n'installe pas les stagexxxx dans /boot/grub, mais dans /usr/share/grub/xxxxxx et c'est grub-install qui exécute la copie là ou on lui demande.

Dans les anciennes (très anciennes ?) versions de grub-install, celui-ci faisait une copie sous SHELL et donc il fallait être chrooté pour avoir le résultat espéré.
Il y a longtemps (très longtemps), les LiveCD n'existaient pas, mais il existait un «couteau suisse» appelé Knoppix, qui permettait déjà pas mal de choses et donc de réparer un grub. Sur le site de knoppix on trouvait une recette qui insistait sur le «chroot». Voir la faq de Knoppix, mais aussi la documentation fedora qui parle d'un «chroot» suivi d'un «mount -a».

La version actuelle de grub-install effectue la copie en utilisant grub + dump donc utilise la couche physique et les stagexxx arrivent là où il faut. Voir la fonction «dump_boot_block ()» de grub-install.


Prenons un exemple d'installation de grub alors que l'on n'avait pas installé de grub du tout lors de l'installation de fedora.
Dans ce cas il n'y a aucun stagexxx dans /boot/grub.

Sans chroot
# grub-install /dev/sda
Probing devices to guess Bios drives This may take a long time.
The file /boot/grub/stage1 not read correctly


Dans un chroot
grub-install /dev/sda
No suitable drive found in the generated device map

Puisque les /dev/sdxx n'existent pas.

Par contre sans chroot (mais avec spécification de la destination)
grub-install --root-directory=/mnt/sysimage /dev/sda
fonctionne bien : les stagesxxx arrivent bien là où il faut.

Mais auparavant avec knoppix + chroot cela fonctionnait simplement (mnt + chroot + grub-install).

Est-ce que le mode 'rescue' prépare le /mnt/sysimage différemment ?
J'ai imagine que pour faire une manip pareille, le but était de réparer un mbr apres une mauvaise manip, pas de se substituer à anaconda pour réaliser une installation.

Si c'est pour réparer, la manip simple suffit, et si c'est pour installer alors que fait-on avec un livecd ?

Il semble qu'en effet un chroot effectué a partir d'un cd d'install ait une procédure différente, puisque déjà il repère une installation existante et la monte.
Si l'on a fait une mauvaise manipulation lors de l'installation, on peut normalement espérer utiliser grub-install à postériori.

grub-install comme son nom l'indique est fait pour installer, et accessoirement pour réparer. Autrement on l'appelerait grub-repair.

Pour réparer, l'interpréteur grub + setup suffit amplement.

Pour le chroot avec ou sans 'rescue', c'est bien le sujet du post d'origine.
Je viens d'essayer avec un DvD d'installation boot rescue, pas de problèmes.
Après un chroot les /dev/sdx et /dev/sxyz sont bien présents, mais que manque-t-il donc au LiveCD et à nos pauvres mount et/ou chroot pour obtenir le même résultat.
Je viens d'essayer aussi.

Avec le DVD F 10, j'ai bien (normal) les /dev avant de faire le chroot et je ne les ai plus si je fais ce chroot, le message étant :

cannot read /proc/partitions

Par contre pour l'utilité ou non de chrooter, il suffit de faire sans chroot un

echo $PATH pour s'en convaincre: Ca ne sert strictement à rien.
2 mois plus tard
La solution: (testée avec le LiveCD F10)

Quand vous êtes en chroot, il n'y a pas les périphériques dans le /dev/ ...

Avant de faire le chroot faites:
# mount -o bind /dev /mnt/sysimage/dev
Comme ça vous retrouvez tout le /dev dans le chroot et vous pouvez faire
# mount -a
Ensuite pour "réparer" grub
# grub-install /dev/sda1