Boot spada do monitu (initramfs) / busybox

204

Korzystam z HP Pavilion dv6000 dual boot win7 i Ubuntu 12.04. (cóż, do dziś). Po ponownym uruchomieniu proces uruchamiania spada do powłoki BusyBox i kończę na monicie:

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

(initramfs)

Badałem innych, którzy mieli ten sam problem, ale nie udało mi się znaleźć żadnego z tych rozwiązań, które by mi pasowały.

Wypróbowałem opisaną tutaj metodę i po ostatnim poleceniu

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

nic nie robi i daje mi kolejny monit (initramfs).

Mogę uruchomić system z płyty CD na żywo (USB) i dostać się do terminala, ale wydaje się, że nie robi to wiele dobrego, ponieważ widzę / dev / sda1 w poleceniu ls, ale nie rozpoznaje go, gdy spróbuj cd do niego.

Jeszcze jedno pytanie: za pomocą polecenia, fdisk -ljak rozpoznać, który punkt montowania ( sda1/ sda2) to moja partycja Windows, a która to Ubuntu?

dpm
źródło
1
To był zwycięzca, BTW cyberciti.biz/faq/...
dpm
3
Nie mogę uwierzyć, że Canonical nie wdrożył jeszcze odpowiedniego, przyjaznego dla użytkownika przepływu pracy, aby naprawić tę sytuację :(
knocte
Musi być lepszy sposób na naprawienie skrzynki. Do tego zadania nie potrzebujesz Live Ubuntu, ponieważ udało mi się go rozwiązać bez niego. Myślę, że możesz to naprawić nawet w (inittramfs).
Léo Léopold Hertz -
4
@Masi Właściwie uruchomienie fsck z initramfs naprawia go teraz w większości przypadków, ale w wersji ubuntu, która była aktualna, kiedy to pytanie zostało opublikowane, nawet po fsckuruchomieniu, ten sam błąd pojawił się ponownie przy starcie systemu.
Amith KK

Odpowiedzi:

207

W konsoli initramfs przekazałem polecenie wyjścia, aby wyjść z powłoki. Ta sama konsola została zaprezentowana przede mną, ale tym razem z dokładną nazwą uszkodzonej partycji .

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.

Po zakończeniu sprawdzania ponownie uruchomiłem system.

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

i to wszystko, wróciłem do systemu plików bez żadnych błędów.

ramsudharsan
źródło
14
Pracował dla Ubuntu 16.04
Hastig Zusammenstellen
3
Pracował dla mnie. Ale dlaczego to się stało?
नंद
3
Cały grad ramsudharsan wybawiciel wszechświata
Mike Miller
1
Ale co, jeśli klawiatura nie działa? : - /
Matt
3
@Matt Włącz opcję klawiatury w ustawieniach BIOS (jeśli wyłączyłeś klawiaturę podczas uruchamiania, przytrzymaj przycisk zasilania, aż usłyszysz dźwięk resetowania z płyty)
ramsudharsan
86

Wygląda na to, że masz zły superblok. Aby to naprawić:

Po pierwsze, uruchom komputer na żywo CD lub USB

Znajdź swój numer partycji za pomocą

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

Następnie wyświetl listę wszystkich superbloków za pomocą polecenia:

sudo dumpe2fs /dev/sda2 | grep superblock

Zamień sda2na numer dysku

Powinieneś otrzymać podobny wynik

  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

Wybierz alternatywny superblok z tej listy, w tym przypadku alternatywny superblok # 32768

Teraz, aby sprawdzić i naprawić system plików Linux za pomocą alternatywnego superbloku # 32768:

sudo fsck -b 32768 /dev/sda2 -y

-yFlaga jest używany, aby pominąć wszelkie Fix?pytania i automatycznie odebrać je wszystkie z yes

Powinieneś otrzymać podobny wynik:

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

Teraz spróbuj zamontować partycję

sudo mount /dev/sda2 /mnt

Teraz spróbuj przejrzeć system plików za pomocą następujących poleceń

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

Jeśli jesteś w stanie wykonać powyższe polecenia, najprawdopodobniej naprawiłeś swój błąd.

Teraz uruchom ponownie komputer i powinieneś być w stanie uruchomić się normalnie.

( źródło )

Amith KK
źródło
1
Wykonałem wszystkie kroki dla sda1, ale nie mogę zrobić ostatniej części „testu mkdir” !! Jest też sda5, więc chyba powtórzę kroki?
Freddy,
2
Piszesz „Wybierz alternatywny superblok”. Alternatywnie do czego? Czy mogę wybrać dowolną z listy?
Mads Skjern
1
Sugeruję dodanie do odpowiedzi, że na każde z „pytań naprawczych” należy odpowiedzieć „tak”. Ale także, że mogą być setki tych pytań i można odpowiedzieć tak dla wszystkich, używając flagi „-y”.
Mads Skjern
2
+1 dla tych, którzy używali gparted, a teraz są tutaj
Vitor Abella
2
co jeśli sudo fdisk -l|grep Linux|grep -Ev 'swap'zwróci 2 wiersze? / dev / sda2 i / dev / sda5 for me
knocte
60

W rzeczywistości rozwiązanie jest łatwe, wystarczy napisać polecenie fsck /dev/sdaxjak poniżej i dać, Yjeśli konsola poprosi o naprawienie czegoś:

(initramfs) fsck /dev/sda1

lub

(initramfs) fsck /dev/sdaX

X określa numer części zamontowanego dysku.

Jeśli nie chcesz ręcznie naciskać „y” za każdym razem, gdy prosi o poprawkę, możesz również uruchomić polecenie z -yopcją.

(initramfs) fsck /dev/sdaX -y
efkan
źródło
5
dzięki stary to rozwiązało mój problem, było na / dev / sda5
lotfio
5
Dlaczego ta odpowiedź nie została jeszcze zaakceptowana? Prosty i działający.
Swapnil
3
Świetne i najłatwiejsze rozwiązanie!
kunicmarko20
2
Uratowałem mój tyłek !!!
Eric Wang
2
Powinna być zaakceptowana odpowiedź
Kareem
6
  1. Prostą odpowiedzią jest usunięcie dysku twardego podłączonego do innego systemu i uruchomienie systemu (nie uruchamiaj systemu z dysku twardego z błędem initramfs, używaj go z Ubuntu i gpartedzainstalowanym).
  2. uruchom gpartedi wybierz dysk twardy, a następnie wybierz opcję SPRAWDŹ z menu po kliknięciu prawym przyciskiem myszy.
Khanthegeek
źródło
2

Właśnie spróbowałem szczęścia, uruchamiając system za pomocą narzędzia „Parted Magic” z Live CD. Patrząc na partycje, na partycji Linux była deklarowana „nieznana przestrzeń” niektórych GBytes.

Właśnie poszerzyłem przestrzeń Linuksa na całej partycji i voila - od tego czasu mój Linux uruchamia się jak dotychczas bez żadnych awarii.

Kai
źródło