Festplatte von UUID nicht erkannt (initramfs), Bootfehler

18

Ich kann Ubuntu 10.04 nicht booten, da die eingebaute Boot-Shell diesen Fehler ausgibt:

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)

Update 1
Dieser Fehler trat auf, nachdem ich meinen 2.6.32-26Versionskernel aktualisiert und direkt in Windows gebootet hatte.

Die Rootdelay-Lösung hat nicht funktioniert. Besteht die Möglichkeit, dass sich die UUID meiner Festplatte geändert hat (möglicherweise durch Windows), konnte ich mich früher bei meinem Ubuntu anmelden, aber nach dem Anmelden bei Windows und einem Neustart erhalte ich diese Fehlermeldung. Muss ich in Bezug auf die Datensicherung auch dann vorgehen, wenn ich separate Partitionen für Privatanwender und Arbeitsbereiche als Ubuntu-Installation habe?

Update 2
Das Update, nach dem dies geschah, war nur ein Update (keine Neuinstallation) von. version 2.6.32-26.Ich denke, das hat etwas mit dem letzten Update dieser Kernelversion zu tun. Da es sich nicht um eine Neuinstallation handelte, wurde kein neuer Menüeintrag hinzugefügt. Möglicherweise liegt dies an meinem Neustart in Windows nach dem Kernel-Update.

Update 3
Installierter älterer Kernel durch Chrooten über Live-USB, immer noch das gleiche Problem mit dem Kernel, so dass es anscheinend doch nicht an einem Kernel-Update liegt .

Ich habe dieses Problem auch schon früher angetroffen, aber damals dachte ich nur darüber nach, die Distribution einfacher neu zu installieren (ich habe früher viel mit Switches gearbeitet). Aber jetzt hatte ich es zu weit konfiguriert und so nach einem letzten Ausweg gesucht.

Update 4
Ubuntu neu installiert. Die Konfiguration war diesmal einfacher, da die Partitionen für Privatanwender und Arbeitsbereich voneinander getrennt waren. Selbst wenn es schwierig ist, brauche ich die Lösung dieses Problems noch nicht. Wenn Sie jedoch eine mögliche Lösung kennen, veröffentlichen Sie diese bitte hier, damit Sie später davon profitieren können.

Crodjer
quelle
Versuchen Sie, "blkid" an der Eingabeaufforderung initramfs auszuführen, um die erkannten Geräte-Uids aufzulisten.
João Pinto
Was passiert, wenn Sie den Computer eine Minute lang an der Eingabeaufforderung "(initramfs)" sitzen lassen, dann "exit" eingeben und die Eingabetaste drücken?
Li Lo
gibt die gleiche Aufforderung erneut aus, die obigen Meldungen werden an die Boot-Shell angehängt
crodjer
Ich hatte genau das gleiche Problem und fand eine Lösung in dieser "sehr wenig hochgestimmten" Lösung, aber es funktioniert tatsächlich! askubuntu.com/a/519814/223469
Aleks

Antworten:

7

Ich hatte das gleiche Problem wie der Thread-Starter und löste es ohne Neuinstallation.

Mein Problem trat beim Jonglieren mit einer virtuellen Installation auf der Grundlage eines kopierten Datenträgerabbilds auf. Dies führte zu einer geänderten UUID und der Kopiervorgang konnte nicht gestartet werden. Dies ist eine grobe Skizze dessen, was ich getan habe.

Starten Sie zuerst mit einem Rettungssystem (gleiche Version) und führen Sie eine Shell auf Ihrer nicht bootenden Festplatte aus. Schauen Sie sich /etc/fstabdie uuids an und bestätigen Sie sie, indem Sie den blkidBefehl für jedes Gerät eingeben . Korrigieren Sie diese Einträge, da sie wichtig sind.

Als nächstes reparieren wir Grub mit:

  • grub-mkconfig
  • update-grub

Dann renne:

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

Dadurch wird eine neue Initramdisk für Ihre Version erstellt. Wenn Sie nicht genau wissen, welche Version Sie ausgeführt haben, schauen Sie sich die Dateien in / boot / an. Die Auswahl der höchsten Versionsnummer sollte sicher sein.

Nach dem Verlassen der Rescue-Shell bietet Ihnen die Ubuntu Live-CD das letzte Menü, von dem aus Sie die Shell betreten haben. Wählen Sie dort "install Grub" (oder ähnliches) und geben Sie das Gerät ein, auf dem Sie Ihren Bootsektor ablegen möchten.

Auf den meisten Systemen (Standardinstallation) /dev/sdaist dies eine sichere Sache. Achtung: Windows- oder andere Multiboot-Systeme benötigen hier eventuell andere Einträge!

Schließlich sollten Sie in der Lage sein, von der reparierten Festplatte zu booten.

Andreas
quelle
1
Dies funktionierte für mich, aber der Befehl update-initramfs lautete: update-initramfs -k -u 2.6.IHRERVERSION-HIER
Dan
5

Das Problem scheint zu sein, dass Ihre Festplatte oder der Controller nicht schnell genug reagiert.

Versuche Folgendes:

  • Wenn das Boot-Menü angezeigt wird und der Anfang der Liste markiert ist, drücken Sie e(zum Bearbeiten ).

  • Sie sollten eine lange Liste von Parametern sehen. Fügen Sie diesen hinzu: rootdelay=130

  • Hit Enterund dann b( booten ). Versuchen Sie zu sehen, ob Ihr System jetzt startet. Sie können den Wert erhöhen, wenn dies beim ersten Mal nicht hilft (aber nicht viel, 130 ist bereits mehr als genug für jede Hardware, die nicht kaputt ist).

Es kann jedoch auch sein, dass Ihre Festplatte ausfällt. Das erste, was Sie tun müssen, wenn Sie wieder in Ihrem System sind, ist die Sicherung Ihrer Daten . Wenn Sie sicher sein wollen, sichern Sie es mit einer Ubuntu-CD. Ich fordere Sie dringend auf, dies eher früher als später zu tun.

Stefano Palazzo
quelle
1
Dies ist wahr ... was auch immer passiert, versuchen Sie es mit einer Live-CD oder einem Live-USB-Gerät und nachdem Sie vom Live-Desktop gebootet haben, schließen Sie eine externe Festplatte an (ich hoffe, Sie haben eine) und beginnen Sie, Ihre Daten auf der externen Festplatte zu sichern ...
Salih Emin
Die Rootdelay- Lösung funktionierte nicht. Besteht die Möglichkeit, dass sich die UUID meiner Festplatte geändert hat (möglicherweise durch Windows), konnte ich mich früher bei meinem Buntu anmelden, aber nach dem Anmelden bei Windows und einem Neustart erhalte ich diesen Fehler. Muss ich in Bezug auf die Sicherung auch dann vorgehen, wenn ich separate Partitionen für Privat- und Arbeitsbereiche als buntu-Installation habe?
Crodjer
5

In der Tat habe ich festgestellt, dass sich die Festplatten-UUIDs ein- oder zweimal spontan geändert haben. Die Änderung kann das Ergebnis einer Beschädigung sein. Ich würde folgendes versuchen:

  • Starten Sie Ihren Computer von einem Live-Medium.
  • fdisk -l /dev/sdaum die Partition zu finden, nach der Sie suchen; oder verwenden Sie cfdisk; or usegparted (replacesda` von Ihrer Festplatte).
  • blkid /dev/sda1(Ersetzen sda1durch die Partition, die Sie gefunden haben); alternativ verwenden vol_id;
  • Überprüfen Sie, ob Sie die Partition bereitstellen können (mithilfe der Gerätedatei /dev/sda1).
  • Überprüfen Sie, ob die angezeigte UUID mit der UUID in Ihrer Root-Partition übereinstimmt /etc/fstab.
  • Generieren Sie eine neue UUID mit uuidgenund wenden Sie sie mit auf die Partition an tune2fs -U.
  • Ändern Sie den fstabEintrag entsprechend.

Es mag unwahrscheinlich erscheinen, dass sich etwas so Wichtiges wie die UUID ohne ersichtlichen Grund ändert, aber es passiert, wahrscheinlich aufgrund eines Fehlers. Überprüfen Sie, ob das Ändern der UUID in einen neuen Wert hilfreich ist.

Loevborg
quelle
1
Die UUID in der Initramfs-Eingabeaufforderung, der Stammdatenträger und die FSTAB waren identisch. Ich habe es immer noch wie angegeben geändert, aber immer noch das gleiche Problem
crodjer
Vielleicht ist dies wirklich ein Problem im Zusammenhang mit dem Kernel-Update. Können Sie das Dateisystem von der busybox-Shell aus mounten? Mounten Sie es mit der Gerätedatei / dev / sda1 (mutatis mutandis), die überhaupt nicht mit der UUID zusammenhängen sollte. Wenn das funktioniert, können Sie einfach Ihre fstab- und GRUB-Konfiguration so bearbeiten, dass Gerätedateien anstelle von UUIDs verwendet werden.
Loevborg
Außerdem geht es um die Neuinstallation - es ist kein großes Problem, wenn Sie eine Kopie Ihres / home-Verzeichnisses erstellen und nach der Installation dort ablegen. Dann müssen nur noch die gleichen Pakete installiert werden (dies kann auch automatisch erfolgen). Ich bin damit einverstanden, dass es eigentlich nicht notwendig sein sollte und es viel sauberer ist, das Problem zu finden.
Lövborg
2

Als ich dies auf meinem System sah, war es eine Frage der falschen UUID, die als Boot-Root-Parameter in festgelegt wurde /boot/grub/menu.lst.

cat /proc/cmdlineTatsächlich werden die Boot-Parameter angezeigt, die an initramfs übergeben wurden. Wenn Sie sehen, dass initramfs angewiesen wird, eine nicht vorhandene Root-Partition bereitzustellen, schlägt dies offensichtlich fehl.

update-grub habe diese Parameter für mich nicht aktualisiert, sondern einfach einen manuellen Ersatz für die alte UUID im Menü durchgeführt. Ich habe es für mich behoben.

Fredrik Gunger
quelle
Dies ist auch, wie ich Dinge in der Vergangenheit zu beheben hatte. Beim letzten Mal habe ich mich jedoch nicht einmal um die UUID gekümmert und nur die falsche UUID durch die Geräte-ID / dev / xxx in / etc / fstab ersetzt. Für andere, die versuchen, dies zu beheben, siehe auch die Antwort von @ loevborg.
Belacqua
1

Hast du einen älteren Kernel? Funktioniert es? Überprüfen Sie / etc / fstab, wie Loevborg über mögliche "veraltete" Datensätze sagte (ich hatte das gleiche Problem bei der Installation von lvm und grub2 - es gab einen alten Datensatz für / boot-Partition, der den Fehler verursachte)

Pavlos G.
quelle
nein .... Ich habe die Angewohnheit, alten Kernel nach 4-5-maligem Testen einer neuen Installation zu löschen. Das Update, nach dem dies geschah, war lediglich ein Update (keine Neuinstallation) der Version 2.6.32-26 . Ich schätze, das hat etwas mit dem letzten Update dieser Kernelversion zu tun.
Crodjer
Warum versuchst du nicht, mit einer Live-CD zu chrooten und diesen Kernel oder den neuesten 2.6.35-23 neu zu installieren?
Pavlos G.
yeah ..... macht gerade einen live usb stick
crodjer 30.11.10
Die Installation des alten Kernels hat auch nicht funktioniert .... das Problem scheint schließlich nicht am Kernel-Update zu liegen.
Crodjer
Können Sie dann versuchen, bootsinfoscript ( sourceforge.net/projects/bootinfoscript ) auszuführen und die Ergebnisse hier einzufügen ?
Pavlos G.
1

Ich habe keine Ahnung, was dies verursachen kann, aber als Lösung können Sie versuchen, nur Grub neu zu installieren. Ich denke, es wird dein Problem lösen.

binW
quelle
1
Ich chrootete und versuchte es auch, aber es funktionierte nicht ... endlich habe ich die Distribution neu installiert.
Crodjer
1

Dieses Problem trat bei mir nach der Installation auf libuuid. Ich konnte es manuell reparieren und jetzt bootet es in Ordnung, aber jedes Mal, wenn es immer noch Fehler über fehlende zeigt blkid. Außerdem tritt nach Updates, die einen Neustart erfordern, erneut ein Startfehler auf.

Die UUID in der /proc/cmdlineist korrekt, das System erkennt sie jedoch nicht.

RocketR
quelle
1

Wie man einen Ubuntu-Fehler behebt: " No init found. Try passing init= bootarg"

Heute Morgen ist ein Freund mit seinem Laptop zu mir gekommen, der nicht booten kann. Bei jedem Startversuch gibt sein Ubuntu 10.04 Lucid Lynx-System die folgenden Fehlermeldungen aus:

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.

Lösung:

  1. Booten Sie von der Ubuntu Live-CD.

  2. Terminal öffnen / ausführen;

  3. Typ: sudo fdisk -l(die Gerätenamen zu erhalten) , dann drücken ENTER;

    Festplatte / dev / sda: 250,1 GB, 250059350016 Bytes 255 Köpfe, 63 Sektoren / Spur, 30401 Zylinder Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes Festplatten-ID: * ***

    ID des Start-Endblocks des Geräts System / dev / sda1 * 1 30238 242886703+ 83 Linux / dev / sda2 30239 30401 1309297+ 5 Erweitert / dev / sda5 30239 30401 1309266 82 Linux-Swap / Solaris

Der Gerätename für das System meines Freundes basiert auf den obigen Angaben: /dev/sda1

  1. Typ: sudo fsck /dev/sda1dann drücken ENTER;

  2. Starten Sie das System neu und starten Sie es normal.

    • Der Laptop wurde nach dem Fix normal gebootet.
Kalaitrigger
quelle
1

Ich sah das gleiche Problem - mit den zusätzlichen Informationen, die ich mit blkid (und tune2fs) zur Überprüfung der UUID verwendet habe, und es ist eine genaue Übereinstimmung. Listing / dev / disk / by-uuid zeigte auch die erwartete UUID an. Das Laufwerk lässt sich auch perfekt in die Busybox einbauen. Alle normalen Dateien, die in [/ mnt] / boot / erwartet werden, sind vorhanden (für Kernel 3.13.0-36).

Ich habe den Computer zum Booten gebracht, indem ich (innerhalb von busybox) die UUID-Referenz von / etc / fstab für die Root-Partition auf / dev / sda1 geändert habe (je nach Setup ändern). Ich bin mir jedoch nicht sicher, ob dieser Schritt wichtig ist, da er alleine keinen Unterschied machte. Was geschah, war beim nächsten Neustart, als ich bei Grub saß, "e" drückte, um den Ubuntu-Standardstart zu bearbeiten, das gesamte "if ... fi" -Konstrukt zu entfernen und die UUID = der "linux" -Zeile durch / dev zu ersetzen / sda1. Durch diesen Ansatz konnte der Computer vollständig gestartet werden.

Am Ende stellte sich heraus, dass das Problem, dass eine zweite Festplatte ausgefallen war, zu einer massiven Verzögerung der Festplatten-Suchsequenz führte.

Alex North-Keys
quelle
0

Versuchte alle Antworten, konnte es aber nicht lösen, also musste ich ubuntu :( neu installieren.

Derselbe Fehler trat auch bei meinem Freund auf, aber er hatte auch kein Glück damit.

Crodjer
quelle
0

Ich habe das selbst behoben, indem ich die Datei / etc / default / grub bearbeitet habe

GRUB_CMDLINE_LINUX=" rootdelay=3 "
GRUB_DISABLE_LINUX_UUID=true

Mit nur dem ersten war es nicht genug. Ich habe sogar eine 130 ausprobiert, wie bereits erwähnt. Dann habe ich die UUID mit dem zweiten Befehl deaktiviert. Es war sowieso eine LVM-Root-Partition, sodass die UUID-Daten sinnlos waren.

Francesc Guasch
quelle
0

In meinem Fall:

Die Betriebssysteme werden in ext4 mit Ubuntu 14.04 installiert

aber ich habe festgestellt, wenn ich andere Ubuntu-Edition wie 10.04 nach dem Ubuntu 10.04 installiere

und Kompilieren Sie auch den Ubuntu 10.04-Kernel und installieren Sie ihn mit dpkg.

Der Fehler ist aufgetreten.

Schließlich ist das Problem in grub.cfg.

Da Ubuntu 10.04 standardmäßig ext2 für das Betriebssystem verwendet, damit die initramfs den ext2-Treiber laden, wird der ext4-Treiber nicht verwendet.

Ersetzen Sie ext2 durch ext4 in grub.cfg, um das Problem zu beheben.

Jackend
quelle
0

Ich habe das gleiche Problem in Ubuntu, nachdem ich stundenlang gesucht habe. Ich habe gerade festgestellt, dass Grub versucht, SDB5 zu booten, und mein Kali ist auf SDA5 halte shift in load und drücke e und ändere root dev und wenn es funktioniert mach es permanent

user725770
quelle
0

Versuchen Sie, abgesehen von allen anderen Antworten, das Grub-Menü aufzurufen (drücken Sie beim Booten die UMSCHALTTASTE, um die erweiterten Ubuntu-Optionen aufzurufen) und wählen Sie Ihren älteren Kernel aus. Die Grub-Konfiguration muss nach der Installation der neueren Kernel-Version aktualisiert worden sein.

Stollen Sie Ya
quelle
-3

Ich bin gerade in den Wiederherstellungsmodus gegangen. Und wählen Sie etwas aus, um anzuzeigen, dass die Aktualisierung im Menü erfolgt. Beheben Sie dann das Problem.

Zhankun
quelle
/ dev / disk von uuid existiert nicht. Ich sehe nicht, wie das Aktualisieren von grub dieses Problem lösen wird.
Elder Geek