
Ich habe vor Kurzem mein Ubuntu 14.04 (Kubuntu) aktualisiert und führe es als Gast in VirtualBox 4.3.12 aus, das von Windows 7 Enterprise, 64 Bit, gehostet wird.
Bis gestern lief alles reibungslos, als ich versuchte, das neue, aktualisierte System zu starten.
Erstens, dass das neue System (Kernel 3.13.0-52-generic) nicht bootet: Ich bekomme das klassische
ALERT! /dev/disk/by-uuid/<long string> does not exist. Dropping to a shell!
Fehler und ich lande in der (initramfs)
Eingabeaufforderung von Ash. Ich kann ein älteres System (Kernel 3.13.0-32-generic) booten, aber es bietet eine Art kaputtes KDE, bei dem der Fenstermanager scheinbar nicht startet: Eine App wird gestartet und oben links auf dem (einen) Desktop platziert, ohne dass man sie verschieben oder ihre Größe ändern kann. Und in keinem der Systemeinstellungsmenüs gibt es Optionen zum Hinzufügen weiterer virtueller Desktops.
Ich habe viel im Internet danach gesucht – das ist ein Fehler, den ich noch nie gesehen habe – aber ich bin mir nicht sicher, wie ich Fixes auf ein virtuelles System anwenden kann. Ich nehme an, ich könnte einfach ein komplett neues System von Grund auf installieren … aber ist das der beste Weg? Beachten Sie, dass blkid
derzeit als einzige Zeile zurückgegeben wird
/dev/sr0: LABEL="VBOXADDITIONS_4.3.12_93733" TYPE="iso9660"
Außerdem gibt /dev/disk
es weder ein Verzeichnis noch ein /boot
Verzeichnis. Vor einiger Zeit habe ich es geschafft, Zeilen aus blkid
dem Boot-Image zu erhalten, /dev/sda1
aber ich bin mir nicht sicher, wo es jetzt geblieben ist.
Ich habe Folgendes versucht: mein virtuelles Linux-Image („ubuntu.vdi“) auf einen SCSI-Controller in VirtualBox zu übertragen und den Parameter „rootdelay=60“ zur Bootzeile im GRUB-Menü hinzuzufügen, aber bisher hat nichts funktioniert.
Ich wäre für jede Hilfe sehr dankbar, da ich Linux für den Großteil meiner Arbeit benötige und es unter Windows laufen muss, da meine Institution Microsoft AD für alles verwendet, einschließlich des Zugriffs auf gemeinsame Laufwerke und Drucker. Und unsere IT-Dienste weigern sich rundheraus, Linux-Unterstützung einzubauen.
Antwort1
Ich hatte ein ähnliches Problem auf einer physischen Maschine. Es sieht so aus, als ob sie während eines Updates neu gestartet wurde und Grub beim Booten eines Kernel-Images (3.13.0-45-generic) zurückgelassen hat, das meine Festplatten nicht finden konnte und keinen Eintrag für /dev/disk/by-uuid/ hatte.
Ich habe das Problem gelöst, indem ich von einem älteren Kernel gebootet und dann das Upgrade abgeschlossen habe. Dadurch erhielt ich 3.13.0-53-generic, was besser zu funktionieren scheint.
1) Starten Sie den Computer zur Grub-Eingabeaufforderung und drücken Sie „e“, um das Startskript für den aktuellen (fehlerhaften) Startvorgang anzuzeigen. Machen Sie ein Foto vom Bildschirm.
2) Drücken Sie ESC und dann „c“, um zur GRUB-Eingabeaufforderung zu gelangen.
3) Überprüfen Sie den Inhalt des Startverzeichnisses auf Ihrem Root-Laufwerk, um zu sehen, welche Kernel verfügbar sind. (Ersetzen Sie hd0,msdos3 durch Ihren Root-Verzeichnis):
grub> ls (hd0,msdos3)/boot/
grub/ .... vmlinuz-3.13.0-45-generic vmlinuz-3.2.0-70-generic initrd.img-3.13.0-45-generic initrd.img-3.2.0-70-generic
4) Booten Sie vom älteren Kernel. (Die genauen Befehle und die Root-UUID=... finden Sie auf Ihrem Foto. Verwenden Sie die Tabulatorvervollständigung, um die Schreibweise genau richtig zu machen, und verwenden Sie für vmlinuz und initrd.img dieselbe Versionsnummer):
grub> set root='hd0,msdos3'
grub> linux /boot/vmlinuz-3.2.0-70-generic root=UUID=xxx[replace this]xx ro
grub> initrd /boot/initrd.img-3.2.0-70-generic
grub> boot
(Es kann mehrere Versuche dauern, bis alles richtig ist. Wenn die UUID nicht funktioniert, versuchen Sie es mit root=/dev/sda3 – oder wie auch immer Linux Ihre Root-Disk+Partition nennt.)