web-dev-qa-db-fra.com

Restauration de GRUB2 sur le logiciel RAID 0 à l’aide de LiveCD après l’effacement de Windows 7

J'ai installé Ubuntu 10.10 sur mon système. Cependant, je dois réinstaller Windows 7 et je pense que cela modifierait GRUB et c’est ce qui s’est passé.

En ce moment, ma partition sur mon logiciel RAID 0 ressemble à ceci:

alt text

nvidia_acajefec1 est Ubuntu 10.10 et nvidia_acajefec3 est Windows 7.

J'ai suivi certains guides et je suis toujours bloqué à GRUB incapable de détecter le contenu RAID habituel.

J'ai essayé de courir:

Sudo grub

> root (hd0,0)

GRUB se plaint de ne pas avoir trouvé mon disque dur. Alors j'ai essayé:

find (hd0,0)

Et il se plaint de ne rien trouver.

Alors j'ai essayé:

find /boot/grub/stage1

Il disait "fichier non trouvé".

Voici le texte de la console:

ubuntu@ubuntu:~$ grub
Probing devices to guess BIOS drives. This may take a long time.

       [ Minimal BASH-like line editing is supported.   For
         the   first   Word,  TAB  lists  possible  command
         completions.  Anywhere else TAB lists the possible
         completions of a device/filename. ]
grub> root (hd0,0)
root (hd0,0)

Error 21: Selected disk does not exist
grub> find /boot/grub/stage1
find /boot/grub/stage1

Error 15: File not found

** Heureusement, une personne m'a suggéré que ce que j'essayais de faire est pour GRUB Legacy, pas pour GRUB2. Alors je suis allé sur le site Web suggéré, ( http://grub.enbug.org/Grub2LiveCdInstallGuide ), essayez de regarder autour de vous et essayez:

ubuntu@ubuntu:~$ Sudo fdisk -l

Unable to seek on /dev/sda

Ceci est juste l'étape 2 de l'instruction dans le http://grub.enbug.org/Grub2LiveCdInstallGuide et je ne peux pas continuer car il ne peut pas chercher/dev/sda.

Cependant,

ubuntu@ubuntu:~$ Sudo dmraid -r
/dev/sdb: nvidia, "nvidia_acajefec", stripe, ok, 488397166 sectors, data@ 0
/dev/sda: nvidia, "nvidia_acajefec", stripe, ok, 488397166 sectors, data@ 0

Alors quoi maintenant? Avez-vous une idée de la façon de faire afficher fdisk ma matrice RAID sur un cd en direct (Ubuntu 10.10)? Honnêtement, je suis perdu, très perdu en essayant de restaurer GRUB2 sur ce système logiciel RAID 0 en ce moment.

4
Karl

Si vous démarrez sur un CD de récupération, vos périphériques racine ne sont pas/mais la représentation ISO en RAM. Dans ce cas, nous devons d'abord monter la partition racine réelle.

Vérifiez si votre logiciel RAID est actif:

$ cat/proc/partitions

Vous devez vous attendre à ce que votre sda, sdb, dm-0 suivi de dm-1, dm-2 et ainsi de suite représentant les entrées de votre table de partition.

Si vous ne voyez pas les entrées dm-*, vous devez activer le logiciel RAID manuellement:

Sudo dmraid-activate

Vérifiez à nouveau /proc/partitions et vérifiez si grub en est conscient:

$ Sudo grub-mkdevicemap -m -

La sortie peut différer, mais elle devrait ressembler à (où * ata-WDC_WD5001AALS-00L3B2_WD-WCASY5902194 * dépend de la configuration matérielle):

(hd0)/dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASY5902194
(hd1)/dev/disque/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASY5867648
(hd2)/dev/mapper/nvidia_acajefec

Votre partition réelle devrait être /dev/mapper/nvidia_acajefec1 maintenant. Nous montons cette partition pour les tests futurs maintenant:

$ Sudo mount/dev/mapper/nvidia_acajefec1/mnt
$ Sudo mount --bind/dev/mnt/dev
$ Sudo mount --bind/proc/mnt/proc
$ Sudo mount --bind/sys/mnt/sys

Vérifiez si grub est capable de mapper les périphériques sur vos partitions:

$ Sudo grub-mkdevicemap -m Sudo grub-probe --device-map =/proc/self/fd/0 --target = device/mnt

Vous devriez voir quelque chose comme /dev/mapper/nvidia_acajefec1.

Identifiez le nom de votre partition en tant que GRUB périphérique:

$ Sudo grub-mkdevicemap -m - | Sudo grub-probe --device-map =/proc/self/fd/0 --target = lecteur/mnt

Le résultat devrait être quelque chose comme (hd2,msdos1).

Jusqu'ici tout va bien. Pour installer/mettre à jour GRUB, nous sommes prêts à passer à la partition racine --- (réelle et à mettre à jour le bloc de démarrage:

$ Sudo chroot/mnt/bin/bash
$ Sudo update-grub
Générer grub.cfg ...
Image de fond trouvée: /usr/share/images/desktop-base/desktop-grub.png
Image Linux trouvée: /boot/vmlinuz-2.6.32-5-686-bigmem
Image initrd trouvée: /boot/initrd.img-2.6.32-5-686-bigmem
Linux trouvé dans/dev/mapper/nvidia_acajefec1
Windows trouvé sur/dev/mapper/nvidia_acajefec3
terminé
$ Sudo grub-install/dev/mapper/nvidia_acajefec
L'installation est terminée. Aucune erreur signalée.
$ exit

Vous êtes prêt à redémarrer le système.

2
Raphael Bossek

Le périphérique que vous devez monter est /dev/nvidia_acajefec1 et le périphérique sur lequel vous devez installer l'installation est /dev/nvidia_acajefec. En gros, si vous suivez les instructions sur http://grub.enbug.org/Grub2LiveCdInstallGuide , vous lancerez:

Sudo mount /dev/nvidia_acajefec1 /mnt
Sudo mount --bind /dev /mnt/dev
Sudo mount --bind /proc /mnt/proc
Sudo mount --bind /sys /mnt/sys
Sudo chroot /mnt
grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/nvidia_acajefec # Note that there is *not* a '1' at the end
0
Jordan Uggla