Je suis l’heureux possesseur d’un portable Sony Vaio VPC Z13 de 4 ans, équipé de 4 disques durs SSD.
Il y a quelques jours, cet ordinateur est resté bloqué sur un écran noir, après l’affichage du logo du BIOS.
Après redémarrage avec SysrescueCD, il se trouve que le premier des quatres disques SSD est mort, et que le système ne démarre pas, faute de système d’amorcage.
Avant le problème, la configuration était :
Premier disque (/dev/sda) avec Win 7 d’origine installé
Les trois autres disques (/dev/sdb, /dev/sdc et /dev/sdd) sont configurés en LVM, avec trois partitions /, /home et swap et une Debian Sid installé dessus.
Grub2 était installé sur /dev/sda
Actuellement, en démarrant avec SysrescueCD, en montant la LVM, je peux accéder à toutes mes données, ce qui m’a permis de refaire une sauvegarde du /home et de /etc. Cependant, je n’arrive pas à réinstaller Grub pour démarrer le système.
J’ai essayé de réinstaller Debian avec la dernière image netinstall sur une clef USB. L’installeur détecte les 3 disques SSD restants, et la LVM. En procédant à un partitionnement manuel, je peux garder mon /home tout en installant le système sur un / formaté. L’installation se passe bien, mais plante au niveau de l’installation de GRUB. Il n’est pas possible de l’installer sur /dev/sdb, /dev/sdc ou /dev/sdd (/dev/sda étant affecté à la clef USB de netinstall).
Ou est-ce que je me trompe pour installer Grub ?
Est-il possible de démarrer le système autrement, sans installer Grub sur le disque dur ?
Une façon de rendre l’ancien LVM démarrable serait de lui associer une partition /boot (re)créée.
Dissocier LVM pour la racine et une partition plate pour /boot.
Consacrer une partition plate à /boot sur le disque prioritaire au démarrage. Une partition simple hors LVM pour /boot, une partition simple en ext4 que grub n’aura pas de difficultés à gérer.
Démarrer le support d’installation debian en mode rescue.
Dans le mode rescue, sélectionner la partition plate en tant que partition /boot, LVM en tant que racine. Réinstaller grub.
Peux-tu être plus précis ?
Les disques sont-ils partitionnés ? Si oui, avec quel format de partition (MBR, GPT ?) et quelles sont les partitions présentes (je ne parle pas des volumes LVM mais des partitions brutes) ?
Y a-t-il du RAID ?
L’amorçage se fait-il en BIOS ou UEFI ?
Dommage. La bonne méthode était de lancer l’installateur Debian en mode de dépannage (rescue) puis de réparer le démarrage depuis le système monté lui-même.
Que se passe-t-il exactement ? Y a-t-il un message d’erreur ? Voir aussi dans la console des logs de l’installateur (Ctrl+Alt+F4).
As-tu essayé directement depuis le système cible d’exécuter grub-install /dev/sdX ?
Oui, tu peux installer grub n’importe où, par exemple sur une clé USB.
[quote=“PascalHambourg”]
Peux-tu être plus précis ?
Les disques sont-ils partitionnés ? Si oui, avec quel format de partition (MBR, GPT ?) et quelles sont les partitions présentes (je ne parle pas des volumes LVM mais des partitions brutes) ?
Y a-t-il du RAID ?
L’amorçage se fait-il en BIOS ou UEFI ?[/quote]
L’amorçage se fait par un BIOS (Insyde H2O BIOS, version R3030C3).
Le Bios détecte les 3 disques suivant :
HD1 None
HD2 64 GB
HD3 64 GB
HD4 64 GB
Il n’y a pas de RAID.
Je ne suis pas sur de comprendre la question sur les partitions. J’avais utilisé l’outil de l’installeur Debian pour mettre une LVM sur ces 3 disques, il n’y a rien d’autre dessus.
[quote=“PascalHambourg”]
Dommage. La bonne méthode était de lancer l’installateur Debian en mode de dépannage (rescue) puis de réparer le démarrage depuis le système monté lui-même.[/quote]
En fait, j’avais chrooté le système depuis SysrescueCD, et tenté de réinstaller Grub en suivant divers tutos sur le net. Comme cela ne fonctionnait pas, et que j’avais sauvegardé les données, j’ai tenté de réinstaller Debian par dessus, en espérant résoudre mon problème avec le système d’amorçage. Sans succès.
[quote=“PascalHambourg”]
Que se passe-t-il exactement ? Y a-t-il un message d’erreur ? Voir aussi dans la console des logs de l’installateur (Ctrl+Alt+F4).
As-tu essayé directement depuis le système cible d’exécuter grub-install /dev/sdX ?[/quote]
Le message d’erreur est :
Dans la console des logs, il y a plusieurs message d’erreur. Le premier :
Il y en a un certain nombre d’erreurs du même genre, puis :
J’avais également eu une erreur en faisant un grub-install /dev/sdb depuis le système chrooté.
Oui, tu peux installer grub n’importe où, par exemple sur une clé USB.[/quote]
Cela pourrait-être une solution à mon problème. Comment fait-on ?
Après l’installation du système Debian, et l’échec d’instalation de grub, j’avais un message m’indiquant que je pouvais booter en lancant /vmlinuz sur /dev/mapper/debvol-vol1, et l’option root=/dev/mapper/debvol-vol1
etxeberrizahar, merci pour ta suggestion, je vais essayer également. Par contre, si je diminue la taille de la LVM, il y a un moyen de diminuer la taille sur /dev/sdb et pas un des autres disques ?
Aprés, j’espère pouvoir démarrer sur un autre disque. Il n’y a pas d’option dans le Bios pour choisir sur quel disque SSD amorcer, et il est quasi-impossible d’enlever les disques (j’ai essayé de démonter le portable, c’est un horreur de fils…)
Mais en mode BIOS ou en mode UEFI ?
Si le BIOS ne supporte pas le boot en UEFI, c’est forcément en mode BIOS.
Quand l’installateur Debian est amorcé en mode BIOS, le menu est affiché par isolinux (affichage classique de l’installateur depuis toujours), alors quand il est amorcé en mode UEFI le menu est affiché par grub (c’est écrit dessus).
Tu peux aussi vérifier la variante de grub installée sur le système : grub-pc = BIOS, grub-efi-amd64 = UEFI.
Si je comprends bien, tu as créé un unique groupe de volumes s’étendant sur les trois disques ? C’est très risqué, si un seul disque tombe en panne tu perds tout. Souvent, quand on utilise LVM avec plusieurs disques on ajoute de la redondance (RAID matériel, logiciel de linux ou natif de LVM)
Qu’affiche [mono]parted -l[/mono] ?
L’argument [mono]/dev/mapper[/mono] est erroné. C’est un nom de répertoire, pas un nom de périphérique. Normalement grub devrait être installé dans le MBR d’un des disques /dev/sdX.
Quelle erreur ? Tu avais bien monté /dev, /proc et /sys sur la racine cible ?
Concernant les autres messges d’erreur, j’attends d’en savoir plus sur l’organisation du LVM.
Chrooter le système cible à partir de l’installateur Debian.
Brancher une clé USB vide qui sera vue comme /dev/sdX. Créer une partition Linux /dev/sdX1, l’initialiser en ext2, ext3 ou ext4.
Monter la partition sur un point de montage temporaire et y copier les fichiers vmlinuz* et initrd* situés dans /boot. Démonter la partition et la remonter sur /boot.
Exécuter [mono]grub-install /dev/sdX[/mono] (pas la partition /dev/sdX1).
(EDIT) Exécuter [mono]update-grub[/mono].
(En fait si on a un fichier /boot/grub/grub.cfg valide, on n’a pas besoin de copier les fichiers, remonter la clé sur /boot ni exécuter [mono]update-grub[/mono]. On peut se contenter d’exécuter [mono]grub-install --boot-directory /point/de/montage/clé /dev/sdX[/mono] et de copier le fichier grub.cfg dans [mono]/point/de/montage/clé/grub/[/mono].)
Redémarrer la machine et amorcer sur la clé USB. Grub devrait se lancer.
Oui, j’ai un seul système de volume s’étendant sur les 3 disques. D’origine, Sony avait monté les 4 disques dur en Raid 0 matériel, pour faire un disque de 256 GB. En installant Debian, j’avais enlevé ce Raid 0 matériel, laissé le win 7 d’origine sur le premier disque, et mis une lvm sur les 3 autres pour faire un Raid 0 logique et mettre Debian dessus. Les disques sont relativement petits, c’était la solution que Sony avait trouvé pour avoir un espace de stockage pas trop faible.
Voici le résultat de la commande [mono]parted -l[/mono]
root@sysresccd /root % parted -l
Model: ATA SAMSUNG MMCRE28G (scsi)
Disk /dev/sda: 64.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 64.0GB 64.0GB primary boot, lvm
Model: ATA SAMSUNG MMCRE28G (scsi)
Disk /dev/sdb: 64.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 64.0GB 64.0GB primary lvm
Model: ATA SAMSUNG MMCRE28G (scsi)
Disk /dev/sdc: 64.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 64.0GB 64.0GB primary lvm
Warning: Unable to open /dev/sr0 read-write (Read-only file system).
/dev/sr0
has been opened read-only.
Error: /dev/sr0: unrecognised disk label
Model: MATSHITA DVD-RAM UJ892AS (scsi)
Disk /dev/sr0: 413MB
Sector size (logical/physical): 2048B/2048B
Partition Table: unknown
Disk Flags:
Note : j’ai lancé la commande à partir de sysrescuecd pour pouvoir faire un copié-collé et répondre sur le forum.
Sinon, j’ai également essayé d’installer Grub sur une clef USB, en suivant la procédure que tu m’as décrite depuis l’installeur Debian en mode rescue. J’arrive à installer Grub sur la clef USB, et Grub se lance au démarrage.
Malheureusement, après la sélection du noyau, le système se plante, étant incapable de monter la LVM, et je retombe sur une ligne de commande grub.
En faisant un [mono]lvmdisplay[/mono], on voit que les volumes logiques de la lvm ne sont pas disponibles.
Une idée ? Il faut que je passe un argument particulier au noyau ?
Merci pour les informations, cela répond à certaines de mes questions. Les disques sont partitionnés au format MBR/MS-DOS et contiennent chacun une partition LVM avec un alignement de 1 Mio, ce qui ne pose pas de problème pour installer grub-pc dans le MBR si l’amorçage est en mode BIOS/CSM/legacy. As-tu copié la sortie complète de parted ? On ne voit pas les volumes logiques LVM.
Par contre tu ne dis toujours pas si l’amorçage se fait en mode UEFI ou legacy. InsydeH2O est un UEFI, pas un BIOS. L’amorçage se fait donc en mode UEFI et peut-être optionnellement en mode BIOS/legacy par l’intermédiaire du module CSM.
Cette information est importante : en mode UEFI, la présence sur l’un des disques d’une partition système EFI, contenant les chargeurs d’amorçage comme grub, est nécessaire pour démarrer. Cette partition, si elle existait, devait se trouver sur le disque contenant Windows qui est tombé en panne.
Mais il semble que tu as un nouveau problème : apparemment les volumes LVM qui étaient accessibles jusqu’ici ne le sont plus. Par contre je ne comprends pas si c’est par grub ou par Linux.
Que se passe-t-il exactement ? Le système se plante à quel moment ? Quel sont les messages d’erreur affichés juste avant ?
Grub parvient-il à charger et démarrer le noyau ou pas ? Tombes-tu sur la ligne de commande de grub (syntaxe grub spécifique) ou celle de l’initramfs (syntaxe shell Linux classique) ? Je ne connais pas [mono]lvmdisplay[/mono] mais [mono]lvdisplay[/mono] est une commande Linux, pas du shell grub.
Oui, j’avais copié la sortie complète de parted, en démarrant depuis un CD SysrescueCD.
Je comprends bien que c’est une information importante.
Il me semble bien que je démarre en mode BIOS. Le menu de démarrage de l’installateur Debian ne comporte pas le mot Grub sur la page, et dans le Bios, je ne vois mention nulle part d’UEFI ou d’un mode Legacy.
De plus, en chrootant le système, et en faisant un [mono]dpkg-query ‘grub*’[/mono], j’obtiens un listing de tous les paquets grub, avec [mono]un[/mono] devant [mono]grub-efi-amd64[/mono], et [mono]ii[/mono] devant [mono]grub-pc[/mono].
[quote=“PascalHambourg”]
Mais il semble que tu as un nouveau problème : apparemment les volumes LVM qui étaient accessibles jusqu’ici ne le sont plus. Par contre je ne comprends pas si c’est par grub ou par Linux.
Que se passe-t-il exactement ? Le système se plante à quel moment ? Quel sont les messages d’erreur affichés juste avant ?
Grub parvient-il à charger et démarrer le noyau ou pas ? Tombes-tu sur la ligne de commande de grub (syntaxe grub spécifique) ou celle de l’initramfs (syntaxe shell Linux classique) ? Je ne connais pas [mono]lvmdisplay[/mono] mais [mono]lvdisplay[/mono] est une commande Linux, pas du shell grub.[/quote]
En attendant, j’utilise une distribution “live” sur clef USB (une Ubuntu), et mes volumes logiques sont correctement montés. Mais bon, ce n’est pas une solution satisfaisante, ça me permet de patienter.
Alors, lorsque le portable démarre sur la clef USB, j’ai le menu de GRUB qui apparait, et le noyau Linux qui se charge. Le système se plante après, avec les messages d’erreurs suivant (je fais ça à la main, je n’ai pas tout copié, j’ai d’autres messages au milieu) :
[code]Volume group “debvol” not found
Skipping volume group debvol
Unable to find LVM volume debvol/vol1
Volume group “debvol” not found
Skipping volume group debvol
Unable to find LVM volume debvol/vol2
ALERT! /dev/mapper/debvol-vol1 does not exist. Dropping to a shell!
modprobe: module ehci-orion not found in modules.dep
Busybox v1.22.1 built-in shell
(initramfs)[/code]
A partir de la, effectivement, j’ai accés a un shell, et je fais :
initramfs) lvm
lvm> lvdisplay
LV Path /dev/debvol/vol3
LV Status NOT available
LV Size 149.02 GiB
Il s’agissait de [mono]lvdisplay[/mono] et non [mono]lvmdisplay[/mono], autant pour moi.
Pareil, je n’ai pas tout recopié pour la sortie de la commande [mono]lvdisplay[/mono], juste que les volumes logiques sont indisponibles, ce qui fait que le système n’arrive pas à démarrer.
Désolé aussi pour le délai de réponse. Je ne maîtrise pas les finesses du démarrage sur LVM, et je voulais essayer de reproduire les messages d’erreur pour les comprendre.
Les volumes LVM étaient-ils visibles ? Dans ce cas parted devrait les afficher.
Concernant les erreurs à l’exécution de l’initramfs depuis la clé USB, les messages
Volume group "debvol" not found
Skipping volume group debvol
sont affichés par la commande [mono]lvm lvchange[/mono] qui est exécutée à deux reprises par le script /scripts/local-top/lvm2 dans le but d’activer les volumes de la racine et du swap, lorsque le VG “debvol” n’est pas détecté. Le message
Unable to find LVM volume debvol/vol1 est affiché par le script lui-même suite à l’échec de la commande.
Le dernier message
est affiché parce que le volume censé être monté comme racine n’existe pas.
Il est normal que le LV debvol/vol3 soit “NOT available”, car il n’est pas activé par l’initramfs, n’étant pas nécessaire au montage de la racine. Ce qui est anormal en revanche, c’est que le VG debvol est bien détecté, contrairement à ce que disent les messages précédents.lvm lvdisplay n’affiche-t-elle que ce LV ou les deux autres aussi ? Dans ce cas, peux-tu les activer manuellement avec
? Si oui, peux-tu poursuivre le démarrage avec Ctrl+d ?
Sinon, qu’affichent les commandes suivantes ?
[quote=“PascalHambourg”]Dans ce cas, peux-tu les activer manuellement avec
? Si oui, peux-tu poursuivre le démarrage avec Ctrl+d ?
[/quote]
Bonjour,
Merci pour ton aide.
En fait, en faisant [mono]lvm vgchange -aly[/mono], je peux continuer le démarrage avec Ctrl+D, et tout marche correctement.
C’est dommage que j’ai reformaté /, je dois tout réinstaller maintenant.
Mais bon, je peux démarrer avec une clef USB, en attendant mieux, c’est déjà (très) bien.
Une idée pour automatiser le [mono]lvm vgchange -aly[/mono] au démarrage ?
Comme je l’ai écrit précédemment, le script /scripts/local-top/lvm2 exécute déjà automatiquement des commandes [mono]lvchange[/mono] pour chacun des LV à activer immédiatement (racine et swap). Ce sont ces commandes qui affichent les messages d’erreur concernant les VG non trouvés. Je doute que [mono]vgchange[/mono], qui active tous les LV des VG détectés, aurait plus de succès.
Par contre si les VG sont détectés dans le shell de secours, c’est peut-être un problème de timing, peut-être dû à la présence du disque en panne. Dans ce cas essaye d’ajouter l’option [mono]rootdelay=10[/mono] (valeur à ajuster) à la ligne de commande du noyau dans le menu de grub (touche “e”). Si cela fonctionne, il faudra l’intégrer dans la ligne GRUB_CMDLINE_LINUX de /etc/default/grub et exécuter update-grub pour regénérer grub.cfg.