Les chutes de démarrage à une invite (initramfs) / busybox

204

Je suis en cours d’exécution sur un ordinateur HP Pavilion DV6000 Dual Boot Win7 et Ubuntu 12.04. (enfin, jusqu'à aujourd'hui). Après un redémarrage, le processus de démarrage passe au shell BusyBox et je me retrouve à l'invite suivante:

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

J'ai fait des recherches sur d'autres personnes qui ont eu le même problème, mais je n'ai pu trouver aucune de ces solutions pour que cela fonctionne pour moi.

J'ai essayé la méthode décrite ici , et après la dernière commande

mount -t ntfs-3g /dev/sda1 /root -o force

il ne fait rien et me donne une autre invite (initramfs).

Je peux démarrer sur un CD live (USB) et accéder à un terminal, mais cela ne semble pas très utile, car je peux voir le fichier / dev / sda1 dans la commande ls, mais il ne le reconnaît pas quand je essayez d'y aller.

Encore une question: en utilisant la commande, fdisk -lcomment savoir quel point de montage ( sda1/ sda2) est ma partition Windows et quel est Ubuntu?

dpm
la source
1
Ce fut le gagnant, BTW cyberciti.biz/faq/…
dpm
3
Je ne peux pas croire que Canonical n’ait pas encore mis en place un flux de travail convivial et convivial pour remédier à cette situation :(
knocte
Il doit y avoir un meilleur moyen de résoudre le cas. Vous n’avez pas besoin de Live Ubuntu pour cette tâche, car j’ai réussi à le résoudre sans cela. Je pense que vous pouvez réparer la chose même dans (inittramfs).
Léo Léopold Hertz
4
@Masi En fait, exécuter fsck à partir de initramfs le corrige dans la plupart des cas maintenant, mais dans la version d'ubuntu en cours lorsque cette question a été publiée, même après avoir fsckété exécutée, la même erreur était à nouveau affichée au démarrage.
Amith KK

Réponses:

207

À la console initramfs , j’ai passé une commande exit pour sortir du shell. La même console a été présentée devant moi, mais cette fois avec le nom exact de la partition qui a été corrompue .

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash) 
Enter 'help' for a list of built-in commands.

(initramfs) exit

/dev/mapper/ubuntu--vg-root: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options) 
fsck exited with status code 4. 
The root filesystem on /dev/mapper/ubuntu--vg-root requires a manual fsck. 

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) fsck /dev/mapper/ubuntu--vg-root -y

fsck from util-linux 2.27.1
e2fsck 1.42.13 (17-May-2015)
/dev/mapper/ubuntu--vg-root contains a file system with errors, check forced.

Une fois la vérification terminée, j'ai redémarré le système.

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) reboot

et voilà, je suis rentré dans le système de fichiers sans erreur.

Ramsudharsan
la source
14
Travaillé pour Ubuntu 16.04
Hastig Zusammenstellen
3
Travaillé pour moi Mais pourquoi est-ce arrivé?
आनंद
3
Tous saluer ramsudharsan sauveur de l'univers
Mike Miller
1
Mais que faire si le clavier ne fonctionne pas? : - /
Matt
3
Activez l'option du clavier dans les paramètres du BIOS (si vous avez désactivé le clavier pendant le démarrage, maintenez le bouton d'alimentation enfoncé jusqu'à ce que vous entendiez le son de réinitialisation.)
ramsudharsan
86

Il semble que vous ayez un mauvais superbloc. Pour résoudre ce problème:

Tout d’abord, démarrez sur un live CD ou une clé USB

Trouvez votre numéro de partition en utilisant

sudo fdisk -l|grep Linux|grep -Ev 'swap'

Ensuite, listez tous les superblocs en utilisant la commande:

sudo dumpe2fs /dev/sda2 | grep superblock

Remplacez sda2par votre numéro de lecteur

Vous devriez obtenir une sortie similaire à celle-ci

  Primary superblock at 0, Group descriptors at 1-6
  Backup superblock at 32768, Group descriptors at 32769-32774
  Backup superblock at 98304, Group descriptors at 98305-98310
  Backup superblock at 163840, Group descriptors at 163841-163846
  Backup superblock at 229376, Group descriptors at 229377-229382
  Backup superblock at 294912, Group descriptors at 294913-294918
  Backup superblock at 819200, Group descriptors at 819201-819206
  Backup superblock at 884736, Group descriptors at 884737-884742
  Backup superblock at 1605632, Group descriptors at 1605633-1605638
  Backup superblock at 2654208, Group descriptors at 2654209-2654214
  Backup superblock at 4096000, Group descriptors at 4096001-4096006
  Backup superblock at 7962624, Group descriptors at 7962625-7962630
  Backup superblock at 11239424, Group descriptors at 11239425-11239430
  Backup superblock at 20480000, Group descriptors at 20480001-20480006
  Backup superblock at 23887872, Group descriptors at 23887873-23887878

Choisissez un superbloc alternatif dans cette liste, dans ce cas, superbloc alternatif # 32768

Maintenant, pour vérifier et réparer un système de fichiers Linux en utilisant un superbloc alternatif # 32768:

sudo fsck -b 32768 /dev/sda2 -y

Le -ydrapeau sert à ignorer toutes les Fix?questions et à y répondre automatiquement par un oui.

Vous devriez obtenir une sortie similaire à celle-ci:

fsck 1.40.2 (12-Jul-2007)
e2fsck 1.40.2 (12-Jul-2007)
/dev/sda2 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #241 (32254, counted=32253).
Fix? yes
Free blocks count wrong for group #362 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #368 (32254, counted=27774).
Fix? yes
..........
/dev/sda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda2: 59586/30539776 files (0.6% non-contiguous), 3604682/61059048 blocks

Maintenant, essayez de monter la partition

sudo mount /dev/sda2 /mnt

Maintenant, essayez de parcourir le système de fichiers avec les commandes suivantes

cd /mnt
mkdir test
ls -l
cp file /path/to/safe/location

Si vous pouvez exécuter les commandes ci-dessus, vous avez probablement corrigé votre erreur.

Maintenant, redémarrez votre ordinateur et vous devriez pouvoir démarrer normalement.

( source )

Amith KK
la source
1
J'ai suivi toutes les étapes pour sda1 mais je ne peux pas faire la dernière partie "test mkdir" !! Il y a aussi sda5 donc je suppose de répéter les étapes pour cela?
Freddy
2
Vous écrivez "Sélectionnez un superbloc alternatif". Alterner à quoi? Puis-je en choisir un dans la liste?
Mads Skjern
1
Je suggère d'ajouter à la réponse qu'il faut répondre oui à chacune des "questions fixes". Mais aussi qu’il peut y avoir des centaines de questions, et que l’on puisse répondre oui pour tous en utilisant le drapeau "-y".
Mads Skjern
2
+1 pour ceux qui utilisaient gparted et qui sont maintenant ici
Vitor Abella
2
Et si sudo fdisk -l|grep Linux|grep -Ev 'swap'retourne 2 lignes? / dev / sda2 et / dev / sda5 pour moi
knocte
60

En fait, la solution est simple, il suffit d’écrire la commande fsck /dev/sdaxcomme ci-dessous et de donner Ysi la console demande de réparer quelque chose:

(initramfs) fsck /dev/sda1

ou

(initramfs) fsck /dev/sdaX

X spécifie le numéro de référence du disque monté.

Si vous ne voulez pas appuyer manuellement sur «y» chaque fois qu'il demande une solution, vous pouvez également exécuter la commande avec l' -yoption.

(initramfs) fsck /dev/sdaX -y
efkan
la source
5
merci mec cela a résolu mon problème, il était sur le / dev / sda5
lotfio
5
Pourquoi cette réponse n'est pas encore acceptée? Simple et fonctionnel.
Swapnil
3
Grande solution la plus simple!
kunicmarko20
2
Sauvé mon cul !!!
Eric Wang
2
Devrait être la réponse acceptée
Kareem
6
  1. La réponse simple consiste à supprimer votre disque dur connecté sur un autre système et à démarrer le système (veuillez ne pas démarrer à partir de votre disque dur avec une erreur initramfs, utilisez-le avec Ubuntu et gpartedinstallé).
  2. démarrez gpartedet sélectionnez votre disque dur, puis sélectionnez VÉRIFIER dans le menu contextuel.
Khanthegeek
la source
2

Je viens d'essayer un coup de chance en démarrant le système avec l'outil "Parted Magic" à partir d'un Live CD. En regardant les partitions, il y avait un "espace inconnu" déclaré de quelques Go sur la partition Linux.

J'ai donc simplement élargi l'espace Linux sur l'ensemble de la partition et le tour est joué - depuis lors, mon système Linux a démarré comme avant sans aucun échec jusqu'à présent.

Kai
la source