[grub] répertoire boot effacé (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
joel
archer de cavalerie
Messages : 167
Inscription : sam. 07 juin 2008, 15:01

[grub] répertoire boot effacé (résolu)

Message par joel »

Bonsoir,

J'ai un problème similaire à celui de Hiéroglyphe, suite à une mauvaise manip lors de l'install de Calculate Gentoo, et j'ai essayé de réparer en suivant tes instructions.
Bon, si c'est vraiment /boot qui a disparu, sauf erreur de ma part, le plus simple est de chrooter ton Arch (depuis Debian où un live-cd) et de réinstaller le kernel26 (pour refaire les images au niveau de /boot sans plus te casser la tête) et grub (éventuellement, il me semble que tu peux recopier le contenu de /usr/lib/grub/i386-pc/ dans un répertoire /boot/grub ... mais attention car il n'y aura pas de menu.lst, donc le plus simple est de réinstaller grub).
Voici donc ce que j'ai fait :
- Boot sur le CD qui m'avais servi à installer Arch
- Chroot en suivant http://wiki.archlinux.fr/Chroot
- pacman -S kernel26
- pacman -S grub
- reboot sous Calculate
- modif de son menu.lst en rajoutant :

Code : Tout sélectionner

title  Arch
root   (hd0,0)          
configfile /boot/grub/menu.lst  
Mais quand j'essaie de booter sur Arch, grub répond "error 15"

Voici le menu.lst de Arch :

Code : Tout sélectionner

# (0) Arch Linux                                                                                                                                                 
title  Arch Linux  [/boot/vmlinuz-linux]                                                                                                                         
root   (hd0,0)                                                                                                                                                   
kernel /vmlinuz-linux root=/dev/sda1 ro      => j'ai modifié cette ligne                                                                                                                    
#kernel /vmlinuz-linux root=/dev/sda3 ro   => ça, c'est la ligne produite par grub, mais j'avais aussi "error 15"                                                                                                                      
initrd /initramfs-linux.img                                                                                                                                      
                                                                                                                                                                 
# (1) Windows                                                                                                                                                    
#title Windows                                                                                                                                                   
#rootnoverify (hd0,0)                                                                                                                                            
#makeactive                                                                                                                                                      
#chainloader +1  

Et le fstab de Arch :

Code : Tout sélectionner

devpts                 /dev/pts      devpts    defaults            0      0
shm                    /dev/shm      tmpfs     nodev,nosuid        0      0

#/dev/cdrom             /media/cd   auto    ro,user,noauto,unhide   0      0
#/dev/dvd               /media/dvd  auto    ro,user,noauto,unhide   0      0
#/dev/fd0               /media/fl   auto    user,noauto             0      0

/dev/sda1 /boot ext2 defaults 0 1
/dev/sda12 /documents ext4 defaults 0 1
/dev/sda5 swap swap defaults 0 0
/dev/sda6 / ext4 defaults 0 1
/dev/sda7 /home ext4 defaults 0 1
/dev/sda8 /calculate ext4 defaults 0 1
/dev/sda9 /mageia ext4 defaults 0 1
/dev/sda10 /mageia/home ext4 defaults 0 1
/dev/sda11 /calculate/home ext4 defaults 0 1
/dev/sdb1 /sauvegarde ext4 defaults 0 1
le contenu de /Arch/boot :

Code : Tout sélectionner

joel@calculate ~ $ ls -lhna /arch/boot/
total 16M
drwxr-xr-x  3 0 0 4.0K 15 janv. 16:45 ./
drwxr-xr-x 35 0 0 4.0K 15 janv. 16:34 ../
drwxr-xr-x  2 0 0 4.0K 15 janv. 16:44 grub/
-rw-r--r--  1 0 0  11M 15 janv. 16:45 initramfs-linux-fallback.img
-rw-r--r--  1 0 0 2.4M 15 janv. 16:45 initramfs-linux.img
-rw-r--r--  1 0 0 3.0M 22 déc.  09:15 vmlinuz-linux
J'ai l'impression qu'il n'y a aucun kernel...

Et j'ai essayé de trouver le boot de Arch avec grub :

Code : Tout sélectionner

grub> find /grub/stage1

Error 15: File not found

grub> find /boot/grub/stage1
 (hd0,7)
 (hd0,8)

grub> 
Comment récupérer ça ?
Dernière modification par FoolEcho le mar. 17 janv. 2012, 12:05, modifié 1 fois.
Raison : scindé depuis http://forums.archlinux.fr/topic6906.html
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [grub] Répertoire boot effacé

Message par FoolEcho »

joel a écrit :J'ai l'impression qu'il n'y a aucun kernel...
Ben si. Mais ça n'est plus kernel26, donc tu les as.
joel a écrit :joel@calculate ~ $ ls -lhna /arch/boot/
-R eut été utile, mais compte tenu de la sortie du find, il te manque la panoplie stage1, etc. dans /Arch/boot/grub/ .
Tu peux récupèrer les fichiers manquants par:

Code : Tout sélectionner

cp -a /Arch/usr/lib/grub/i386-pc/* /Arch/boot/grub
joel a écrit :configfile /boot/grub/menu.lst
(menu.lst sous Calculate) Plutôt /grub/menu.lst (ta partition est séparée).
«The following statement is not true. The previous statement is true.» :nage:
joel
archer de cavalerie
Messages : 167
Inscription : sam. 07 juin 2008, 15:01

Re: [grub] Répertoire boot effacé

Message par joel »

Bonjour, FooEcho,

J'ai donc fait

Code : Tout sélectionner

cp -a /Arch/usr/lib/grub/i386-pc/* /Arch/boot/grub
Après quoi :

Code : Tout sélectionner

joel@calculate ~ $ ls -R /arch/boot/
/arch/boot/:
grub/  initramfs-linux-fallback.img  initramfs-linux.img  vmlinuz-linux

/arch/boot/grub:
e2fs_stage1_5  ffs_stage1_5      jfs_stage1_5  menu.lst~       reiserfs_stage1_5  stage2           ufs2_stage1_5    xfs_stage1_5
fat_stage1_5   iso9660_stage1_5  menu.lst      minix_stage1_5  stage1             stage2_eltorito  vstafs_stage1_5
joel@calculate ~ $ 
Puis modif de la ligne configfile du menu.lst de Calculate :

Code : Tout sélectionner

configfile /grub/menu.lst 
Vérification :

Code : Tout sélectionner

grub> find /grub/stage1

Error 15: File not found

grub> find /boot/grub/stage1
 (hd0,5)
 (hd0,7)
 (hd0,8)

grub> 
Et reboot sur Ach. Réponse :

Code : Tout sélectionner

mount: unknow file system type "ntfs"
Pourquoi il veut du ntfs ?
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [grub] Répertoire boot effacé

Message par FoolEcho »

joel a écrit :grub> find /boot/grub/stage1
(hd0,5)
(hd0,7)
(hd0,8)
Déjà tu n'as pas du monter ta partition /boot d'Arch (hd0,0) pour y copier les fichiers puisque ça trouve du stage1 sur 0,5 (ta racine d'après ton fstab). Si bien fait, tu devrais avoir:

Code : Tout sélectionner

grub> find /grub/stage1
(hd0,5)
grub> find /boot/grub/stage1
(hd0,7)
(hd0,8)
joel a écrit :Et reboot sur Ach. Réponse :

Code : Tout sélectionner

mount: unknow file system type "ntfs"
Pourquoi il veut du ntfs ?
Tu as des partitions ntfs sur ton disque, voire un autre disque ?
Aussi dans ton menu.lst d'Arch, d'après ton fstab ce devrait être:

Code : Tout sélectionner

kernel /vmlinuz-linux root=/dev/sda6 ro
(c'est-à-dire ta racine et pas /boot ; au passage, tu ferais mieux de passer par les uuids avec /dev/disk/by-uuid/XXXXXXX, les correspondances se trouvent au moyen de blkid ou ls -l /dev/disk/by-uuid/ )

Aussi: il manque quelques fichiers encore (/boot/grub/device.map)... Je ne suis pas sûr de l'impact mais quand tu auras retrouvé Arch, il pourrait être judicieux de désinstaller grub puis de le réinstaller (vérifie le menu.lst alors), ou de faire grub-install --device-map /dev/sda1 (plaçant donc une amorce comme tu as fais pour tes autres distributions ; attention en cas de chroot, il faut faire grep -v rootfs /proc/mounts > /mnt/Arch/etc/mtab avant le chroot sinon le grub-install a toutes les chances d'échouer)
«The following statement is not true. The previous statement is true.» :nage:
joel
archer de cavalerie
Messages : 167
Inscription : sam. 07 juin 2008, 15:01

Re: [grub] Répertoire boot effacé [résolu]

Message par joel »

Bravo, FoolEcho, bien vu :
en mettant "kernel /vmlinuz-linux root=/dev/sda6 ro" ça marche.

Je vais maintenant voir la suite de tes conseils.

Merci pout tout, problème résolu.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [grub] Répertoire boot effacé

Message par FoolEcho »

joel a écrit :Merci pout tout, problème résolu.
Dommage que tu ne sois pas l'auteur de ce sujet :mrgreen: (ça m'embête un peu mais du coup je ne déplace rien, si ça peut servir à Hiéroglyphe... :chinois: ).
«The following statement is not true. The previous statement is true.» :nage:
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [grub] Répertoire boot effacé

Message par oktoberfest »

FoolEcho a écrit :
joel a écrit :Merci pout tout, problème résolu.
Dommage que tu ne sois pas l'auteur de ce sujet :mrgreen: (ça m'embête un peu mais du coup je ne déplace rien, si ça peut servir à Hiéroglyphe... :chinois: ).
Ceci dit le message de Hiéroglype date de 2010.. J'espère que depuis il a récupéré son /boot !! :dors:
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [grub] répertoire boot effacé (résolu)

Message par FoolEcho »

@okotoberfest: Effectivement :shock: ... j'ai parfois des sautes de concentration dramatiques :oops: ... Je scinde donc. :P
«The following statement is not true. The previous statement is true.» :nage:
Répondre