Comment puis-je charger Ubuntu alors que je n'ai que Grub?

11

J'ai donc mis à jour Ubuntu avec le dernier noyau. Mais après la mise à niveau et après avoir redémarré Ubuntu, tout ce que je reçois est GRUB. Comment charger à nouveau Ubuntu alors que je n'ai que GRUB?

J'ai installé Ubuntu en utilisant wubi.

Merci beaucoup pour l'aide

Joshua Partogi
la source
S'agit-il d'une installation wubi ou d'une installation normale?
karthick87
C'est dépassé je crois. Quelqu'un peut-il me dire comment faire cela sur grub2?

Réponses:

16

Utilisation de Grub

Si vous obtenez une grubinvite et que le système et le noyau sont toujours installés sur la partition, vous pouvez démarrer "manuellement" le système - c'est-à-dire sans l'aide d'un grub.cfg fonctionnel. Cela fonctionne également avec un grub exécuté à partir de médias en direct. À cette fin, grub comprend une commande rudimentaire ine, que vous pouvez utiliser pour trouver la partition et démarrer le système.

find /vmlinuz

Cela devrait vous donner la partition comme (hd0,0). Vous pouvez également utiliser la lscommande pour fouiller la partition et voir quels noyaux sont disponibles. La searchcommande fonctionne de manière similaire. Vous pouvez également utiliser la complétion d'onglets .

set root=(hd0,1)

Bien sûr, remplacez l'identifiant de la parition par ce findque vous avez montré.

linux /vmlinuz root=/dev/sda1
initrd /initrd.img

Sélectionnez l'image du noyau et l'image initrd, une paire qui doit toujours être utilisée ensemble. Heureusement, Ubuntu crée une paire de liens symboliques dans le répertoire racine qui pointent vers une image de travail et initrd. Notez que vous devez remplacer /dev/sda1par une représentation de la partition dans le schéma utilisé par le noyau Linux. En gros, (hd0,1)correspond à /dev/sda1; (hd0,2) corresponds to/ dev / sda2 ;(hd1,1) correspond à /dev/sdb1.

boot

Cela démarre le noyau sélectionné à partir de la partition sélectionnée. Une fois que vous avez réussi à démarrer votre système, vous pouvez l'utiliser pour restaurer grub, comme détaillé par exemple ici .

Grub avec Wubi

Ce qui précède était fondé sur l'hypothèse qu'Ubuntu était installé régulièrement, c'est-à-dire dans sa propre partition séparée. Au moment où vous écrivez, vous avez utilisé Wubi, ce qui signifie que vous l'avez installé dans un fichier volumineux sur une partition Windows (NTFS) en utilisant une technique appelée "Lupin". Je ne vois aucune raison pour laquelle cela ne pourrait pas fonctionner en principe, bien que le processus soit plus compliqué. Voici le contenu d'une grub.cfginstallation basée sur Wubi:

insmod part_msdos
insmod ntfs
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set be300f9c300f5ab3
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz root=/dev/sda1 loop=/ubuntu/disks/root.disk
initrd /boot/initrd.img

Vous devrez l'adapter à votre cas particulier. Dans cet extrait, extrait d'une installation 10.10, la searchcommande trouve la partition racine à l'aide d'un UUID ou d'un identificateur de système de fichiers, que vous ne connaissez probablement pas; vous pouvez utiliser à la --file --set /ubuntu/disks/root.diskplace ( voici la documentation officielle). Cette configuration grub crée un disque virtuel - un «périphérique de bouclage» - appelé loop0qui représente le contenu du «fichier de partition», /ubuntu/disks/root.disksur votre partition NTFS. Avec un peu d'essais et d'erreurs, vous devriez pouvoir faire ce travail.

Loevborg
la source
4
Je reçoiserror: unknown command find'.
Abdull
@Abdull - c'est parce que vous utilisez grub2 au lieu de grub hérité. Appuyez deux fois sur Tab et voyez les commandes disponibles, ou pager = 1 \\ help
Yaroslav Nikitenko
Si vous utilisez EFI, remplacez linuxet initrdavec resp. linuxefiet initrdefi.
Yaroslav Nikitenko