web-dev-qa-db-fra.com

Ubuntu 12.04 (Wubi) ne démarre pas - root.disk corrompu

Ubuntu 12.04 est installé sur mon ordinateur portable via Wubi. Pour une raison quelconque, lorsque je clique sur le démarrage d’Ubuntu (lorsque vous devez sélectionner Windows ou Ubuntu), l’écran suivant s’affiche, le curseur grub continue de clignoter.

Gnu grub version 1.99-21 Ubuntu 3.4 

Minimal bash-like line editing is supported. For the first Word, tab lists possible
command completions. Anywhere else tab lists possible device or file completions. 

grub>

Pourriez-vous me dire ce que je peux faire pour résoudre ce problème et démarrer Ubuntu normalement?

3
user106237

Parfois, le root.disk, la partition virtuelle utilisée par Wubi pour démarrer, est corrompu. C'est un fichier qui réside dans le répertoire \ubuntu\disks\. Si Grub (à l'intérieur de wubildr) ne peut pas monter le root.disk, il ne peut pas afficher le menu de grub (qui est stocké sur le root.disk), puis il vous laisse simplement tomber à l'invite du grub pour attendre plus longtemps. instruction.

Vous ne pouvez rien faire à partir de l'invite grub tant que vous n'avez pas compris le problème avec le root.disk et, il y a de fortes chances pour qu'il y ait NTFS corruption. C'est assez courant, par exemple, si vous avez effectué un arrêt brutal ou un redémarrage. Dans certains cas, la raison n'est pas claire.

Ce que vous devez faire est d’exécuter chkdsk /f (ou /r) à partir de Windows sur le lecteur sur lequel vous avez installé Wubi. Si vous avez installé sur le lecteur C:\, cela nécessitera un redémarrage complet.

Pour exécuter chkdsk sous Windows 7 (la première case à cocher correspond à chkdsk /f et la seconde à chkdsk /r:

chkdsk on Windows7

Si vous y êtes invité, redémarrez l'ordinateur et démarrez Windows pour terminer la chkdsk en vous assurant de ne pas appuyer sur une touche pour l'abandonner.

Ensuite, vérifiez le répertoire ubuntu\disks\ pour vous assurer que le root.disk est toujours présent. Dans certains cas, le répertoire ubuntu\disks\ lui-même n'est plus présent. S'il en manque, vous devez les rechercher car chkdsk récupérera souvent les fichiers/répertoires corrompus dans des dossiers cachés nommés \found.000, \found.001 etc. Ces répertoires sont cachés et protégés par défaut. (Windows 7) afin qu'ils n'apparaissent pas dans l'explorateur. Je trouve qu'il est plus facile d'utiliser l'invite de commande.

Pour ce faire, cliquez avec le bouton droit de la souris sur CMD.EXE et sélectionnez "Exécuter en tant qu'administrateur". Passez au lecteur sur lequel se trouve le répertoire \ubuntu et recherchez les répertoires cachés \found.???.

par exemple. si le root.disk est manquant, vous recherchez un fichier de taille> 5GB. Si vous connaissez la taille de votre installation, cela vous aidera. Dans ce cas, c'est 15GB

C:\>dir /a:h
C:\>cd \found.000
C:\found.000>dir
 Volume in drive C is OS
 Volume Serial Number is B4B7-99A8

 Directory of C:\found.000

19/07/2011  02:02 PM    15,000,000,000 file0000.chk
               1 File(s) 15,000,000,000 bytes
               0 Dir(s)  222,258,069,504 bytes free

C:\found.000>move file0000.chk \ubuntu\disks\root.disk
        1 file(s) moved.

Si tout le répertoire \ubuntu\disks est manquant, vous recherchez un répertoire nommé dir0000.chk et vous y trouverez les noms root.disk et swap.disk correctement nommés. peut simplement déplacer le répertoire en place:

C:\>cd \found.000

C:\found.000>dir
 Volume in drive C is OS
 Volume Serial Number is B4B7-99A8

 Directory of C:\found.000

19/10/2012  04:51 PM    <DIR>          .
19/10/2012  04:51 PM    <DIR>          ..
19/07/2011  02:02 PM    <DIR>          dir0000.chk
               0 File(s)              0 bytes
               3 Dir(s)  222,258,069,504 bytes free

C:\found.000>dir dir0000.chk
 Volume in drive C is OS
 Volume Serial Number is B4B7-99A8

 Directory of C:\found.000\dir0000.chk

19/10/2012  04:51 PM    <DIR>          .
19/10/2012  04:51 PM    <DIR>          ..
24/02/2012  12:22 AM    <DIR>          boot
06/11/2012  09:28 AM    13,000,000,000 root.disk
15/11/2011  09:28 PM       268,435,456 swap.disk
               2 File(s) 13,268,435,456 bytes
               3 Dir(s)  127,904,968,704 bytes free

C:\>move dir0000.chk \ubuntu\disks
        1 dir(s) moved.

La reprise n’est pas garantie dans tous les cas en fonction de l’ampleur de la corruption. Notez que le root.disk peut être correctement installé avant d'exécuter chkdsk, puis être supprimé après l'avoir exécuté.

Référence: http://ubuntu-with-wubi.blogspot.ca/2011/08/missing-rootdisk.html

3
bcbc

J'ai eu un problème similaire, mais ce n'était pas wubi. C'était avec une double installation d'ubuntu. Ce qui suit m'a aidé:

Booting From grub

This is how to set the boot files and boot the system from the grub> Prompt. We know from running the ls command that there is a Linux root filesystem on (hd0,1), and you can keep searching until you verify where /boot/grub is. Then run these commands, using your own root partition, kernel, and initrd image:

    grub> set root=(hd0,1)
    grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
    grub> initrd /boot/initrd.img-3.13.0-29-generic
    grub> boot
The first line sets the partition that the root filesystem is on. The second line tells GRUB the location of the kernel you want to use. Start typing /boot/vmli, and then use tab-completion to fill in the rest. Type root=/dev/sdX to set the location of the root filesystem. Yes, this seems redundant, but if you leave this out you'll get a kernel panic. How do you know the correct partition? hd0,1 = /dev/sda1. hd1,1 = /dev/sdb1. hd3,2 = /dev/sdd2. I think you can extrapolate the rest.

The third line sets the initrd file, which must be the same version number as the kernel.

The fourth line boots your system.

On some Linux systems the current kernels and initrds are symlinked into the top level of the root filesystem:

    $ ls -l /
    vmlinuz -> boot/vmlinuz-3.13.0-29-generic
    initrd.img -> boot/initrd.img-3.13.0-29-generic

So you could boot from grub> like this:

    grub> set root=(hd0,1)
    grub> linux /vmlinuz root=/dev/sda1
    grub> initrd /initrd.img
    grub> boot

Source: http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux/

1
Tanmay