it-swarm.com.de

Wie behebe ich die UUID in Grub nach der Wiederherstellung von einem anderen Computer?

Ich möchte eine vollständige Tar-Sicherung von Ubuntu 12.04 mit all meinen Anpassungen, Dokumenten, installierter Software usw. auf einem anderen Computer wiederherstellen.

Ich habe die Sicherung mit den folgenden Befehlen durchgeführt:

Sudo su
cd /
tar cvpzf ububackup.tgz --exclude=/ububackup.tgz --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/tmp --exclude=/media /

Auf dem neuen Computer habe ich eine Neuinstallation von Ubuntu 12.04 durchgeführt, die Sicherungsdatei dorthin verschoben und dann mit der Sicherungsdatei wie folgt wiederhergestellt:

tar xvpfz backup.tgz -C /

Wie erwartet (siehe Mike Whatever's Antwort auf diese Frage: Kopiere Ubuntu Distribution mit allen Einstellungen von einem Computer auf einen anderen ) brach diese Made. Wenn ich den Computer einschalte, erhalte ich eine Fehlermeldung:

error: no such device: ...

press any key to continue ...

Ich glaube, der Grund, warum Grub kaputt ist, ist, dass die UUID, nach der gesucht wird, auf der alten Festplatte und nicht auf der Festplatte des Computers übereinstimmt.

Wie kann ich meinen Fehler beheben, um die neue Festplatte zu erkennen? Ich habe online nach Hilfe "Fix GRUB UUID" gesucht, aber die Schritte schienen entweder veraltet oder komplex. Die Antwort von Mike, die ich oben verlinkt habe, gibt mir Hoffnung, dass es einen ziemlich einfachen Weg gibt, dies zu reparieren.

21
snowguy

Um Ihr aktuelles Problem zu lösen, müssen Sie die UUID (s) in "/ etc/fstab" und "/boot/grub/grub.cfg" (sehr schwierig) ändern.

Sie können Ubuntu-Installations-CD verwenden, um die UUID (s) mit gparted zu erhalten (Sie müssen nur mit der rechten Maustaste auf die Partition klicken, für die Sie die UUID erhalten möchten, und auf "Information" klicken, dann UUID auswählen und mit STRG + kopieren C) oder Befehlszeile (Sudo blkid).

Dann müssen Sie "/ etc/fstab" auf dem richtigen Volume mit gedit, nano oder anderen bearbeiten.

Geben Sie in einem Terminal Folgendes ein:

gksudo gedit /etc/fstab

und ersetzen Sie die alten UUIDs durch die neuen.

WICHTIG: Wenn Sie dazu eine Boot-CD verwenden, müssen Sie natürlich "/ media/xxxxx" vor "/ etc/fstab" hinzufügen: "/ media/xxxxx/etc/fstab". Sie können auch gksudo gedit verwenden und die Datei öffnen, um sich selbst zu bearbeiten.

WARNUNG: Das Ändern von "/boot/grub/grub.cfg" ist sehr schwierig. Es sollte normalerweise mit dem Befehl Sudo update-grub generiert werden.

Ersetzen Sie die alten UUIDs durch die neuen in "/boot/grub/grub.cfg", indem Sie Folgendes in ein Terminal eingeben:

gksudo gedit /boot/grub/grub.cfg

WICHTIG: Wenn Sie dazu eine Boot-CD verwenden, müssen Sie "/ media/xxxxx" vor "/boot/grub/grub.cfg": "/ media/xxxxx/boot/grub/grub" hinzufügen. cfg ". Sie können auch gksudo gedit verwenden und die Datei öffnen, um sich selbst zu bearbeiten.

Wenn Sie die knifflige Lösung verwenden, empfehle ich Ihnen, Sudo update-grub zu starten, sobald Sie das System erfolgreich gestartet haben.

Ein sauberer, aber einfacher Weg, um Grub richtig zu konfigurieren, ist die Verwendung einer Boot-Reparaturdiskette wie "Boot-Repair-Disk": http://sourceforge.net/p/boot-repair-cd/home/Home/

Ich hoffe, dass dies Ihnen helfen wird, Ihr Problem zu lösen.

Sie könnten jedoch erwägen, Clonezilla zu verwenden, um den alten Computer auf den neuen zu replizieren, wie in meinem Kommentar angegeben.

19
Golboth

Vermutlich bedeutet dies, dass grub startet und eine Option zum Booten von Ubuntu anzeigt, aber wenn Sie auswählen, dass es nicht bootet?

Ich denke, es gibt zwei Möglichkeiten:

  1. Verwenden Sie den Zeileneditor GRUB, um die Linux-Startoption so zu ändern, dass Linux korrekt geladen wird (und führen Sie dann grub-install als root aus, um die richtige Konfiguration dauerhaft festzulegen).
  2. Booten Sie von einem Ubuntu-USB-Stick, hängen Sie die Ubuntu-Festplattenpartition ein, chrooten Sie hinein und führen Sie dann grub-install aus.

Der erste Fall sollte einfacher sein, wenn Sie nur Ubuntu und nur eine einzige Festplatte haben. Wählen Sie in diesem Fall die Option "Ubuntu-Wiederherstellung" und drücken Sie "e", um Folgendes zu bearbeiten:

Der Eintrag sollte ungefähr so ​​aussehen:

insmod gzio
insmod part_msdos
insmod ext2
set root=('hd0,msdos0')
search --no-floppy --fs-uuid --set=root XXXXXX
linux /boot/vmlinuz-YYYYY root=UUID=XXXXXX ro recovery nomodeset
initrd /boot/initrd.img-YYYYY

Entfernen Sie die Zeile "search" und ersetzen Sie "root = UUID = XXXXX" in der Zeile "linux" durch "root =/dev/sda1". Versuchen Sie dies und booten Sie es, und hoffentlich erhalten Sie nach kurzer Zeit das Ubuntu-Wiederherstellungsmenü, das eine Grub-Option haben sollte, die Grub ordnungsgemäß neu installieren sollte.

Andernfalls oder wenn Sie lieber nicht direkt mit Grub herumspielen möchten (der eine Gesundheitswarnung enthalten sollte, verwenden Sie einen CD/USB-Stick, wie in https://help.ubuntu.com/community/Grub2/Installing) dokumentiert # Neuinstallation von_GRUB_2

3
chronitis

In meinem Fall unterschied sich die von grub installierte UUID von meiner aktuellen UUID (Sudo blkid) für meine Windows-Partition (bestätigt in grub.cfg). Ich habe verschiedene Methoden erfolglos ausprobiert. Schließlich habe ich die Windows-Partition mit dem Dateimanager gemountet und update-grub erneut ausgeführt, und die UUID wurde in grub.cfg erfolgreich aktualisiert.

0
Tavo

Was ich getan habe, anstatt fstab und grub zu bearbeiten:

  1. Ich habe diese Dateien bei der Neuinstallation von Ubuntu gesichert (tar -cvf /somedir/boot.tar /etc/fstab /boot/grub/grub.cfg)
  2. Aus Sicherung wiederhergestellt (tar -xvpf /mnt/remotebk/full.tar)
  3. kopiere wiederhergestellte fstab Datei (cp /etc/fstab /somedir/fstab.restored)
  4. stelle meine frisch installierten Bootdateien wieder her (tar -xvpf /somedir/boot.tar -C /)
  5. Neustart und es hat funktioniert.

Ich verwende virtuelle VMware-Maschinen. Ich habe diesen Prozess ausgeführt, um einen Linux-Server von einem Host auf einen anderen Host zu verschieben.

0
Roberto Dimas