Nie wykryto dysku według identyfikatora UUID (initramfs), błąd uruchamiania

18

Nie mogę uruchomić systemu Ubuntu 10.04, a wbudowana powłoka rozruchowa podaje ten błąd:

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/aa91b9fe-1e27-44d7-9c1b-72dd7d4e8575 does not exist.   
Dropping to a shell! 

BusyBox v.1.13.3 (Ubuntu 1:1.13.3-1ubuntu11) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)

Aktualizacja 1
Ten błąd wystąpił po zaktualizowaniu 2.6.32-26jądra wersji i uruchomieniu bezpośrednio w systemie Windows.

Rozwiązanie rootdelay nie działało. Czy istnieje szansa, że ​​identyfikator UUID mojego dysku został zmieniony (może przez Windows), mógłbym zalogować się do mojego Ubuntu wcześniej, ale po zalogowaniu się do systemu Windows i ponownym uruchomieniu mam ten błąd. Jeśli chodzi o tworzenie kopii zapasowych, czy muszę, nawet jeśli mam osobne partycje domowe i robocze niż instalacja Ubuntu?

Aktualizacja 2
Aktualizacja, po której to się stało, była tylko aktualizacją (bez nowej instalacji). version 2.6.32-26.Myślę, że ma to coś wspólnego z ostatnią aktualizacją tej wersji jądra. Ponieważ nie była to nowa instalacja, nie dodano nowej pozycji menu. Może to być spowodowane moim ponownym uruchomieniem w systemie Windows po aktualizacji jądra.

Aktualizacja 3
Zainstalowałem starsze jądro poprzez chrootowanie przez USB na żywo, wciąż ten sam problem z jądrem, więc wydaje się, że problem nie jest spowodowany aktualizacją jądra .

Z tym problemem również wcześniej się spotkałem, ale wtedy zastanawiałem się, czy ponowna instalacja dystrybucji jest łatwiejsza (często przełączałem dystrybucję). Ale teraz skonfigurowałem to za daleko i dlatego szukam ostateczności.

Aktualizacja 4
Ponownie zainstalowano Ubuntu. Konfiguracja tym razem była łatwiejsza dzięki oddzielnym partycjom domu i obszaru roboczego. Nawet trudne Nie potrzebuję teraz rozwiązania tego problemu, ale jeśli znasz jakieś możliwe rozwiązanie, napisz tutaj, aby uzyskać przyszłe korzyści.

Crodjer
źródło
Spróbuj uruchomić „blkid” z monitu initramfs, aby wyświetlić listę zreggonowanych identyfikatorów urządzeń.
João Pinto
Co się stanie, jeśli pozwolisz komputerowi na chwilę usiąść przy monicie „busybar” (initramfs), a następnie wpisz „exit” i naciśnij klawisz Enter?
Li Lo
ponownie wydaje ten sam monit, powyższe komunikaty są dołączane do powłoki rozruchowej
crodjer
Miałem dokładnie ten sam problem i znalazłem rozwiązanie w tym „bardzo mało poprawionym” rozwiązaniu, ale tak naprawdę działa! askubuntu.com/a/519814/223469
Aleks

Odpowiedzi:

7

Miałem ten sam problem, co starter wątków i rozwiązałem go bez ponownej instalacji.

Mój problem wystąpił podczas żonglowania wirtualną instalacją opartą na skopiowanym obrazie dysku. Spowodowało to zmianę UUID i kopiowanie się nie uruchomiło. To jest przybliżony szkic tego, co zrobiłem.

Najpierw uruchom system ratunkowy (ta sama wersja) i uruchom powłokę na dysku innym niż rozruchowy. Spójrz /etc/fstabi potwierdź tam uuids, wydając blkidpolecenie dla każdego urządzenia. Napraw te wpisy, ponieważ są ważne.

Następnie naprawiamy grub za pomocą:

  • grub-mkconfig
  • update-grub

Następnie uruchomić:

  • update-initramfs -u /boot/initrd.img-2.6.YOURVERSION-HERE

Spowoduje to utworzenie nowego dysku startowego dla twojej wersji. Jeśli nie znasz dokładnej wersji, którą uruchomiłeś, zajrzyj do plików w katalogu / boot /. Wybór najwyższego numeru wersji powinien być bezpieczny.

Po wyjściu z powłoki ratunkowej na żywo CD Ubuntu wyświetli ostatnie menu, z którego wszedłeś do powłoki. Wybierz „zainstaluj Grub” (lub podobny) i wpisz urządzenie, w którym chcesz umieścić sektor rozruchowy.

W większości systemów (standardowa instalacja) /dev/sdajest bezpieczny zakład. Uwaga: Windows lub inne systemy z wieloma systemami mogą wymagać tutaj innych wpisów!

Wreszcie powinieneś być w stanie uruchomić komputer z naprawionego dysku.

Andreas
źródło
1
To działało dla mnie, ale polecenie update-initramfs brzmiało: update-initramfs -k -u 2.6. TWOJA WERSJA-TUTAJ
Dan
5

Problem polega na tym, że dysk twardy lub kontroler nie reaguje wystarczająco szybko.

Spróbuj wykonać następujące czynności:

  • Gdy pojawi się menu startowe, z podświetloną górą listy, naciśnij e(do edycji ).

  • Powinieneś zobaczyć długą listę parametrów. Dodaj ten do niego: rootdelay=130

  • Naciśnij, Entera następnie b( uruchom ). Spróbuj sprawdzić, czy system uruchamia się teraz. Możesz zwiększyć tę wartość, jeśli to nie pomoże za pierwszym razem (ale niewiele, 130 to już więcej niż wystarczający sprzęt, który nie jest uszkodzony).

Jednak może to również oznaczać awarię dysku twardego. Pierwszą rzeczą do zrobienia po powrocie do systemu jest utworzenie kopii zapasowej danych . Jeśli chcesz być bezpieczny, wykonaj kopię zapasową za pomocą płyty CD z systemem Ubuntu. Usilnie wzywam was do zrobienia tego wcześniej, niż później.

Stefano Palazzo
źródło
1
To prawda ... co się stanie, wypróbuj Live CD lub Live USB, a po uruchomieniu komputera na żywo podłącz zewnętrzny dysk twardy (mam nadzieję, że go masz) i zacznij tworzyć kopię zapasową danych na zewnętrznym dysku twardym ...
Salih Emin
rootdelay rozwiązanie nie działa. Czy istnieje szansa, że ​​identyfikator UUID mojego dysku został zmieniony (może przez Windows), mógłbym zalogować się wcześniej do mojego buntu, ale po zalogowaniu się do systemu Windows i ponownym uruchomieniu komputera pojawia się ten błąd. Jeśli chodzi o tworzenie kopii zapasowych, czy muszę, nawet jeśli mam osobne partycje domu i obszaru roboczego niż instalacja buntu?
crodjer
5

W rzeczywistości zauważyłem, że identyfikator UUID dysku zmienia się spontanicznie raz lub dwa razy. Zmiana może być wynikiem pewnego rodzaju zepsucia. Spróbowałbym następujących rzeczy:

  • Uruchom komputer z nośnika na żywo;
  • fdisk -l /dev/sdaznaleźć partycję, której szukasz; lub użyj cfdisk; or usegparted (replacesda` na dysku twardym).
  • blkid /dev/sda1(zamień sda1na znalezioną partycję); alternatywnie użyj vol_id;
  • sprawdź, czy możesz zamontować partycję (używając pliku urządzenia /dev/sda1);
  • sprawdź, czy wyświetlany UUID jest zgodny z UUID w partycji głównej /etc/fstab;
  • wygeneruj nowy UUID za pomocą uuidgeni zastosuj go do partycji za pomocą tune2fs -U;
  • odpowiednio zmienić fstabwpis.

Może wydawać się mało prawdopodobne, że coś tak istotnego jak UUID zmienia się bez widocznej przyczyny, ale dzieje się tak, prawdopodobnie z powodu błędu. Sprawdź, czy zmiana UUID na nową wartość pomaga.

Loevborg
źródło
1
Uuid w znaku zachęty initramfs, dysk root i fstab były takie same. Nadal go zmieniłem, jak podałeś, ale wciąż ten sam problem
autor
Może to naprawdę jest problem związany z aktualizacją jądra. Czy możesz zamontować system plików z wnętrza powłoki busybox? Spróbuj zamontować go za pomocą pliku urządzenia / dev / sda1 (mutatis mutandis), który w ogóle nie powinien być powiązany z UUID. Jeśli to działa, możesz po prostu edytować konfigurację fstab i GRUB, aby używać plików urządzeń zamiast identyfikatorów UUID.
loevborg,
Ponadto, jeśli chodzi o ponowną instalację - nie jest to wielka sprawa, jeśli zrobisz kopię katalogu / home i umieścisz ją po instalacji. Potem chodzi tylko o zainstalowanie tego samego zestawu pakietów (co można również zrobić automatycznie). Zgadzam się, że tak naprawdę nie powinno to być konieczne i zamiast tego znalezienie problemu jest o wiele czystsze.
loevborg,
2

Kiedy zobaczyłem to w moim systemie, było to spowodowane niewłaściwym ustawieniem UUID jako parametru root root w /boot/grub/menu.lst.

cat /proc/cmdlinefaktycznie pokazuje parametry rozruchowe przekazane do initramfs - jeśli zobaczysz, że initramfs ma polecenie zamontowania nieistniejącej partycji root, to oczywiście nie powiedzie się.

update-grub nie zaktualizowałem tych parametrów, ale po prostu ręcznie zmieniłem stary UUID w menu. najpierw to naprawiłem.

Fredrik Gunger
źródło
Tak też kiedyś musiałem naprawiać rzeczy. Jednak ostatnim razem nawet nie zawracałem sobie głowy identyfikatorem UUID i po prostu zastąpiłem niepoprawny UUID identyfikatorem urządzenia / dev / xxx w / etc / fstab. Dla innych próbujących to naprawić, zobacz także odpowiedź @ loevborg.
belacqua,
1

Czy masz starsze jądro? Czy to działa? Sprawdź / etc / fstab jak loevborg powiedział o możliwych „przestarzałych” rekordach (miałem ten sam problem po zainstalowaniu lvm i grub2 - był stary rekord dla partycji / boot, który spowodował błąd)

Pavlos G.
źródło
nie .... Mam zwyczaj usuwania starego jądra po przetestowaniu nowej instalacji 4-5 razy. Aktualizacja, po której to się stało, była tylko aktualizacją (brak nowej instalacji) wersji 2.6.32-26 . Myślę, że ma to coś wspólnego z ostatnią aktualizacją tej wersji jądra.
crodjer
Dlaczego nie spróbujesz chrootować z Live CD i ponownie zainstalować jądro lub najnowszą wersję 2.6.35-23?
Pavlos G.
tak ..... obecnie robię pendrive na żywo
crodjer
Instalowanie starego jądra też nie działało ... problem nie wydaje się wynikać z aktualizacji jądra.
autor
Czy możesz następnie spróbować uruchomić bootsinfoscript ( sourceforge.net/projects/bootinfoscript ) i wkleić wyniki tutaj?
Pavlos G.
1

Nie mam pojęcia, co może to powodować, ale jako rozwiązanie możesz spróbować zainstalować ponownie tylko Grub. Myślę, że to rozwiąże twój problem.

binW
źródło
1
Chrootowałem i próbowałem tego też, ale nie działało ... w końcu ponownie zainstalowałem dystrybucję.
autor
1

Ten problem pojawił się dla mnie po instalacji libuuid. Byłem w stanie to naprawić ręcznie, a teraz uruchamia się OK, ale za każdym razem nadal wyświetla błędy dotyczące braku blkid. Niepowodzenie rozruchu pojawia się również po aktualizacjach wymagających ponownego uruchomienia.

Identyfikator UUID /proc/cmdlinejest poprawny, jednak system go nie rozpoznaje.

RocketR
źródło
1

Jak naprawić błąd Ubuntu: „ No init found. Try passing init= bootarg

Dziś rano przyszedł do mnie przyjaciel z laptopem, który się nie uruchamia. Przy każdej próbie rozruchu jego system Ubuntu 10.04 Lucid Lynx wyświetla następujące komunikaty o błędach:

mount: mounting /dev/disk/by-uuid/***************************** on /root
failed: Invalid argument
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target file system doesn't have /sbin/init
No init found. Try passing init= bootarg



Busybox v1.13.3 (Ubuntu 1:1.13.3-1ubuntu7) built-in shell (ash)
Enter 'help' for a list of built-in commands
(initramfs) _

Booting into "Recovery Mode" as well as choosing the other kernels listed in grub didn't help at all.

Rozwiązanie:

  1. Uruchomienie z Live CD Ubuntu;

  2. Terminal Open / Run;

  3. Wpisz: sudo fdisk -l(aby uzyskać nazwę urządzenia), a następnie naciśnij ENTER;

    Dysk / dev / sda: 250,1 GB, 250059350016 bajtów 255 głowic, 63 sektory / ścieżka, 30401 cylindrów Jednostki = cylindry 16065 * 512 = 8225280 bajtów Identyfikator dysku: * ***

    Urządzenie Start Początek Blokady końcowe Identyfikator System / dev / sda1 * 1 30238 242886703+ 83 Linux / dev / sda2 30239 30401 1309297+ 5 Extended / dev / sda5 30239 30401 1309266 82 Linux swap / Solaris

Nazwa urządzenia dla systemu mojego przyjaciela na podstawie powyższego: /dev/sda1

  1. Wpisz: sudo fsck /dev/sda1następnie naciśnij ENTER;

  2. Uruchom ponownie system i uruchom normalnie.

    • Laptop uruchomił się normalnie po poprawce.
kalaitrigger
źródło
1

Widziałem ten sam problem - z dodatkowymi informacjami, których użyłem blkid (i tune2fs) do sprawdzenia UUID, i to jest dokładne dopasowanie. Listing / dev / disk / by-uuid również pokazał oczekiwany UUID. Dysk można również doskonale zamontować w busybox. Wszystkie normalne pliki oczekiwane w [/ mnt] / boot / są obecne (dla jądra 3.13.0-36).

Mam komputer do uruchomienia poprzez (z wnętrza busyboksa) zmianę referencji UUID / etc / fstab dla partycji root na / dev / sda1 (zmodyfikuj odpowiednio do twojej instalacji). Nie jestem jednak pewien, czy ten krok jest ważny, ponieważ sam nie miał znaczenia. To, co zrobiło się przy następnym restarcie, siedząc przy grub, wciskając „e”, aby edytować domyślny rozruch Ubuntu, i usuwając cały konstrukt „if ... fi”, i zastępując UUID = „linux” linią / dev / / sda1. Takie podejście pozwoliło na pełne uruchomienie komputera.

Ostatecznie problemem okazał się awaria drugiego dysku twardego powodującego ogromne opóźnienie w sekwencji wyszukiwania dysku.

Alex North-Keys
źródło
0

Próbowałem wszystkich odpowiedzi, ale nie mogłem go rozwiązać, więc w końcu musiałem ponownie zainstalować ubuntu :(.

Ten sam błąd pojawił się także w moich kompach, ale nie miał z tym szczęścia.

Crodjer
źródło
0

Naprawiłem to sam edytując plik / etc / default / grub

GRUB_CMDLINE_LINUX=" rootdelay=3 "
GRUB_DISABLE_LINUX_UUID=true

Tylko pierwszy był niewystarczający. Próbowałem nawet 130, jak wspomniano wcześniej. Następnie wyłączyłem UUID za pomocą drugiego polecenia. W każdym razie była to partycja główna LVM, więc dane UUID były bezcelowe.

Francesc Guasch
źródło
0

W moim przypadku:

Systemy operacyjne są instalowane w ext4 z Ubuntu 14.04

ale znalazłem, gdy instaluję inne wydanie ubuntu, takie jak 10.04 po Ubuntu 10.04

a także skompiluj jądro Ubuntu 10.04 i użyj dpkg, aby go zainstalować.

pojawia się błąd.

Wreszcie problem znajduje się w grub.cfg.

Ponieważ Ubuntu 10.04 domyślnie używa ext2 dla systemu operacyjnego, więc initramfs załaduje sterownik ext2, a nie sterownik ext4 ...

Więc zamień ext2 na ext4 w grub.cfg, aby to naprawić.

jackend
źródło
0

mam ten sam problem w Ubuntu po kilku godzinach szukania, właśnie zdałem sobie sprawę, że grub próbuje uruchomić sdb5, a mój kali jest na sda5, więc uruchom z dysku CD na żywo i spróbuj zamontować swój Linux z mkdir i polecenie montowania, jeśli istnieje, spróbuj naprawić gruba przez przytrzymując shift w obciążeniu i wciskając e, zmień root dev i jeśli działa, ustaw go na stałe

użytkownik725770
źródło
0

Oprócz wszystkich innych odpowiedzi, spróbuj przejść do menu grub (naciśnij SHIFT podczas uruchamiania, aby przejść do opcji zaawansowanych Ubuntu) i wybierz starsze działające jądro. Konfiguracja Grub musi zostać zaktualizowana po zainstalowaniu nowszej wersji jądra.

Sztolni Ya
źródło
-3

Właśnie przeszedłem do trybu odzyskiwania. I wybierz coś, co wskazuje na aktualizację gruba w menu. następnie napraw problem.

Zhankun
źródło
/ dev / disk by uuid nie istnieje. Nie wiem, jak aktualizacja grub rozwiąże ten problem.
Starszy Geek