Kann ich einen VirtualBox Ubuntu-Gast auf eine * echte * Hardware-Box migrieren?


13

Ich möchte Ubuntu von einer VirtualBox Guest-Appliance auf einen realen Computer (Metall und Chips) übertragen.

Kann das gemacht werden und welche Schritte sind damit verbunden?

Antworten:


7

Ich würde es mit versuchen dd(vergessen Sie nicht, die Gerätenamen wie sdamit Ihrem Gerätenamen zu ersetzen ):

  1. Ersetzen Sie alle uuids in Ihrem /etc/fstabdurch Dinge wie /dev/sda1( sda= Ziel-HD-Nummer!)
  2. update-grub2 && grub-install /dev/sda
  3. Speichern Sie Ihre virtuelle Festplatte in VBox in einer Datei: dd if=/dev/sda /home/user/sda.img
  4. Kopieren Sie das Image auf eine Festplatte (externe Festplatte, Netzwerkfreigabe, DVD, ...)
  5. Stellen Sie das Image auf dem Ziellaufwerk wieder her: dd if=/media/drive/sda.img of=/dev/sda

Das größte Problem dürfte der Bootloader sein (es gibt aber auch in diesem Forum Tutorials dazu). Ich habe einmal einen Bootloader neu installiert, indem ich eine Neuinstallation von Ubuntu durchgeführt habe (vorzugsweise die gleiche wie die, die Sie gemacht haben) und dann dddie alte Partition über die Neuinstallation (in diesem Fall würden Sie nur dd /dev/sda1nicht /dev/sda, was auch den Bootloader und enthält) alle Partitionen)


Ich kann mit dd umgehen. Ich habe es schon einmal benutzt und weiß, dass wenn nicht der Beginn einer bedingten Anweisung ist :) ... Aus irgendeinem Grund verwirren mich uuids und grub .. Sie sind wahrscheinlich recht einfach, aber ich könnte es auch sein .. Ich Ich werde wahrscheinlich den MBR von einer neuen (Dummy-) Installation verwenden. Die größte Hürde für mich besteht darin, die Partitionen tatsächlich von der VM zu übertragen. Wie kann ich von einer VM-Partition zum Host übertragen?
Peter.O

... ein bisschen mehr (Ich habe versucht, dies in meinem vorherigen Kommentar zu ändern, aber die Bearbeitung war nicht erlaubt!? .. ein weiteres kleines Rätsel):. . . Die freigegebenen Ordner von VirtualBox scheinen von den Addons abhängig zu sein, die auf einer Live-CD nicht vorhanden sind, da ein Neustart erforderlich ist.
Peter.O

du könntest dd in einen netzwerkordner, ich habe das letzte woche gemacht und es war wie 30MB / s. Wenn Sie in Ihrer Live-CD-Umgebung / windows / linux einen freigegebenen Ordner festlegen und das überbrückte Netzwerk für die VM aktivieren, sollte dies funktionieren.
sBlatt

Übrigens: Es ist möglich, eine ganze Linux-Partition mit cp zu kopieren (+ einige Argumente, um die Berechtigungen beizubehalten! Sehr wichtig! Ich denke, es war -p oder --preserve = all). Ich habe dies einmal gemacht, um ein Image nach der Größenänderung einer Partition zurück zu kopieren (also habe ich die dd-Image-Datei gemountet und cp gemacht)
sBlatt 20.10.10

Tut mir leid, dass ich so dumm darüber bin, aber ich muss einen unglaublich einfachen Punkt übersehen haben ... Alles, was ich lese, scheint zu implizieren, dass NAT dem Gast standardmäßig den Zugriff auf den Host ermöglicht (eine Verbindung in die andere Richtung benötigt Bridging). Okay Ich hatte meine drei Vermutungen (eher wie dreißig!). Ich habe erfolgreich VBox Shared Folders Zugriff nur , wenn Guest Addons installiert sind. Ich kann diese Addons nicht in einem LiveCD-Lauf installieren, daher stecke ich wieder fest. Wie greife ich vom Gast auf das Dateisystem des mit NAT verbundenen Hosts zu (keine Addons)? Ich nehme an, ich muss etwas auf dem Host tun, aber ich weiß nicht, was es ist?
Peter.O

1

Haben Sie nicht versucht diese selbst, aber die Beschreibung scheint realistisch genug , um zu versuchen.


Der Artikel, den Sie erwähnen, befindet sich auf einem ähnlichen Weg wie ich. Wenn ich seine Fedora LVM-Probleme ignoriere, ist fast eines meiner Probleme gelöst: So bringen Sie die VM-Partition in die Host-Umgebung. Er erwähnt ein VirualBox-Tool VBoxManage , mit dem ein VM-Roh-Image auf dem Host bereitgestellt werden kann. Es gibt jedoch ein Problem mit diesem Artikel, da es sich um einen Windows-Host handelt. Der Befehlsname ist in Ordnung, aber keiner der Argumente wird erkannt ... aber ich nehme an, dass derselbe für Linux verfügbar ist ... Kennt jemand die Syntax?
Peter.O

Versuchen Sie, "VBoxManage internalcommands" auszuführen - es werden einige Nutzungsinformationen ausgedruckt. Könnte ausreichen.
Serge Broslavsky

1

1> Machen Sie einen Teer Ihres virtualBox OS

2> Beginnen Sie mit einer Live-Distribution

3> entpacke dein virtualBox OS in der / den Zielpartition / en (zum Beispiel / dev / sda1)

4> Partition bootfähig machen (fdisk kann Ihnen helfen): # fdisk / dev / sda Befehl (m für Hilfe): a (a = Umschalten eines bootfähigen Flags) Partitionsnummer (1-4): 1 (1 = / dev / sda1) Befehl (m für Hilfe): q (q = exit)

5> installiere grub in mbr (https://wiki.ubuntu.com/Grub2) # mount / dev / sda1 / mnt / # mount --bind / dev / mnt / dev # mount --bind / proc / mnt / proc # mount --bind / sys / mnt / sys # cd / mnt && chroot. # (chroot) update-grub # (chroot) grub-install / dev / sda (NICHT / dev / sda1!) # (chroot) grub-install --recheck / dev / sdX

6> Viel Spaß ...


1
Um Teer meines VirtualBox O klingt so einfach ... aber nicht für mich ... Zum Beispiel; Wohin tariere ich es? Ich gehe davon aus, dass der geeignete Weg, ein Dateisystem zu tarieren , darin besteht, es nicht zu verwenden ... also habe ich die VM über eine LiveCD gebootet ... Dies gab mir Zugriff auf das Laufwerk der VM über die LiveCDs / Medien ... aber Wie kann ich die Daten von der VM abrufen? Für die freigegebenen Ordner von VirtualBox sind die GuestAddons erforderlich, für die ein Neustart erforderlich ist. Für die Live-CD ist der Status "Keine Addons" erforderlich. Oder ich habe etwas über die freigegebenen Ordner von VirtualBox verpasst /
Peter .O

Sie können das System auch dann direkt tar (rsync), wenn es ausgeführt wird (dies ist Linux ...):
Daniele

Sie können das System auch dann direkt tarieren, wenn es ausgeführt wird. Das ist Linux ;-). Installieren Sie zuerst diese Pakete: sshfs ( fuse.sourceforge.net/sshfs.htm ) und hängen Sie ein reales Verzeichnis in virtualbox ein. Zum Beispiel können Sie in virtualbox, wie gesagt, ein Pendrive (gemountet, sagen wir in / media / pendrive) folgendermaßen verwenden: # sshfs root@10.0.2.2: / media / pendrive / mnt After tar direkt von Ihrem LÄUFT virtualbox auf dem pendrive (Linux kann): # cd / # tar -cvpzf /mnt/backup.tgz --exclude = / proc / --exclude = / lost + found / --exclude = / mnt / --exclude = / sys / /
Daniele

1

Was genau möchten Sie von der Installation migrieren? Wenn Sie sich nur um Benutzerdaten und Einstellungen kümmern, können Sie wahrscheinlich alles von Ihrem Home-Verzeichnis auf der VM in ein Dateisystem außerhalb der VM kopieren (z. B. ein Keydrive), diese Dateien in eine neue Ubuntu-Installation kopieren und dann Installieren Sie alle auf der VM installierten Programme neu. Dies hängt davon ab, wie stark Sie die VM-Installation angepasst haben und wie viel Ärger die anderen Lösungen hier verursachen würden.


Ich benutze Ubuntu (erstmaliger Linux-Benutzer) auf echter Hardware. Ich habe gelernt viel , aber mein System hat eine Menge Unordnung gesammelt. Ich habe eine Einstellung geändert und vergessen, wo ich sie festgelegt habe usw. Meine Idee ist, die (minimale) Erfahrung, die ich jetzt habe, zu nutzen und ein paralleles VM-System ohne die Fehler zu erstellen und es dann einfach auf die primäre Hardware zu mischen . Ich kann meine Zeit in Anspruch nehmen und immer noch mit der aktuellen experimentieren. Es ist auch ein gutes "Lern" -Projekt ... aber ich habe das Gefühl, dass ich ein bisschen mehr abgebissen habe, als ich kauen kann :) ... langsam dorthin zu kommen ...
Peter.O

1

Ich verwende gerne rsync zum Sichern meines Systems. Dies ist gut für ein Home Directroy- oder ECT-Verzeichnis, aber möglicherweise nicht das, was Sie für eine vollständige Systemmigration suchen. Um rsync verwenden zu können, müssen Sie ubuntu auf beiden Systemen installieren. Aktualisieren Sie beide, sodass die Pakete identisch sind und sich auf demselben Level befinden (dies ist nicht obligatorisch, erleichtert jedoch die Arbeit). Um Ihr Ausgangsverzeichnis von Server1 auf Server2 zu kopieren, können Sie auf Server1 Folgendes ausführen:

$rsync -avz /home/username/ username@server2:/home/username/

Das, was ich daran mag, ist, dass rsync die Unterschiede zwischen Verzeichnissen berechnet und die Änderungen eher als alles überträgt. Auf diese Weise können Sie Ihre Sicherung auf dem neuesten Stand halten, indem Sie sie auf Server2 ausführen (um sie auf Server1 zu sichern):

$rsync -avz /home/username/ username@server1:/home/username/

hth


Danke, ich habe rsync verwendet, um meine Nicht-Betriebssystem-Partitionen (dh Daten, wie Musik usw.) zu sichern. Ich mag auch die Art und Weise, wie Rsync funktioniert. sehr effizient. Mein Hauptproblem ist, dass ich nicht weiß, ob eine einfache Dateikopie von der VM auf gleichwertige Partitionen funktioniert. Z.B. Wie wird Ubuntu mit den verschiedenen HARDWARE umgehen? Erkennt es es automatisch und passt es sich beim Booten an? Windows würde es bestimmt nicht! und ich bin mir noch nicht sicher, wie ich mit Mount-Punkten umgehen soll: Ich möchte mein TeraByte-Laufwerk nicht mit der OS-Partition synchronisieren. und GRUB spinnt mich aus. Dies sind die kleinen lustigen Dinge, über die ich noch nicht genug weiß.
Peter.O
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.