vdi-Image auf Festplatte schreiben

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Bananenbieger
Beiträge: 17
Registriert: 03.11.2020 18:35:57

vdi-Image auf Festplatte schreiben

Beitrag von Bananenbieger » 28.05.2021 21:49:21

Hallo,
ich möchte ein VDI-Image (VBox) mit einer Debian 10.9-Installation auf eine SSD kopieren, um diese dann native zu starten.

Dabei möchte ich möglichst nur die belegten Bereiche der ext4-Partition kopieren und nicht auch die unbenutzten Bereiche schreiben, also im Prinzip auf Dateiebene bleiben. Andererseits sollen aber auch die Partitions-Kennungen UUIDs übertragen werden, damit ich nicht die fstab und/oder grub anpassen muss.

Gibt es dafür eine möglichst einfache Lösung?

Den MBR kann ich mir mit dd kopieren. Das bekomme ich hin. Für den Rest habe ich aber keine Lösung gefunden.

rhHeini
Beiträge: 2260
Registriert: 20.04.2006 20:44:10

Re: vdi-Image auf Festplatte schreiben

Beitrag von rhHeini » 28.05.2021 21:56:45

Häh? Das VDI-Image alleine nützt Dir gar nichts. Wenn Du eine Virtualbox-VM auf ein anderes LW umziehen willst, kopiere den ganzen Ordner.

Dann musst Du halt die VM "Hinzufügen".

Rolf

Bananenbieger
Beiträge: 17
Registriert: 03.11.2020 18:35:57

Re: vdi-Image auf Festplatte schreiben

Beitrag von Bananenbieger » 28.05.2021 22:25:04

Soweit ich weiß, beinhaltet die .VDI-Datei alle Daten der virtuellen Festplatte oder sogar Festplatten, sofern keine Snapshots angelegt worden sind.
Diesen Festplatteninhalt möchte ich auf eine SSD kopieren, um diese dann nativ, also ohne VBox zu starten. Das System soll anschließend nicht mehr in einer VM laufen, sondern direkt auf die Hardware zugreifen.

rhHeini
Beiträge: 2260
Registriert: 20.04.2006 20:44:10

Re: vdi-Image auf Festplatte schreiben

Beitrag von rhHeini » 28.05.2021 22:50:32

Du kannst natürlich einfach die .vdi-Datei kopieren. Ich wette aber die Datei alleine wird Dir nichts nützen. Probiers halt aus.

Code: Alles auswählen

cp quelle ziel
Rolf

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: vdi-Image auf Festplatte schreiben

Beitrag von Tintom » 28.05.2021 22:57:43

Öffne mal ein Terminal und schau dir VBoxManage an. Das Modul clonemedium sollte das können was du suchst.

Bananenbieger
Beiträge: 17
Registriert: 03.11.2020 18:35:57

Re: vdi-Image auf Festplatte schreiben

Beitrag von Bananenbieger » 29.05.2021 02:06:34

Mit "VBoxManage clonemedium" kann man nach meiner Recherche ein RAW-Image erzeugen. Das ist dann allerdings so groß, wie die virtuelle Festplatte. Ich hatte gehofft, dass es eine Möglichkeit gibt, nur in etwa den Platz zu verbrauchen, den die Nutzdaten benötigen, also ohne die ungenutzten Bereiche.

wanne
Moderator
Beiträge: 7447
Registriert: 24.05.2010 12:39:42

Re: vdi-Image auf Festplatte schreiben

Beitrag von wanne » 29.05.2021 07:41:46

Code: Alles auswählen

VBoxManage modifymedium disk ./NWABAP75101.vdi –compact
Sollte™ das VDI auf die belegte größe zusammen schrumpfen.
Eventuell willst du im Gast vorher fstrim oder zerofree laufen lassen. (Oder schlicht große Dateien mit Nullen (fallocate -l XG) anlegen bis aller Platz belegt ist und dann wieder löschen.)
Sonst gibt es natürlich für jedes Dateisystem tools um nur das Dateisystem zu kopieren. Dazu kommt die Partitionstabelle. Aber dazu musst du erst mal an den Inhalt der VDI kommen, was erst mal kompliziert ist. Viel schlimmer willst du ja am Ende vermutlich wider ne VDI haben. Einfach ist da sicher nichts.
rot: Moderator wanne spricht, default: User wanne spricht.

Bananenbieger
Beiträge: 17
Registriert: 03.11.2020 18:35:57

Re: vdi-Image auf Festplatte schreiben

Beitrag von Bananenbieger » 29.05.2021 16:10:22

wanne hat geschrieben: ↑ zum Beitrag ↑
29.05.2021 07:41:46

Code: Alles auswählen

VBoxManage modifymedium disk ./NWABAP75101.vdi –compact
Das kannte ich, aber das verkleinert leider nur den Platzverbauch des vdi-Images.
Aber dazu musst du erst mal an den Inhalt der VDI kommen, was erst mal kompliziert ist. Viel schlimmer willst du ja am Ende vermutlich wider ne VDI haben. Einfach ist da sicher nichts.
Jo, das Problem ist, an den Inhalt des VDIs zu kommen, ohne es zuvor in ein RAW-Image zu konvertieren und damit den vollen Platz der enthaltenen Festplatten auf der realen Festplatte zu belegen. Mit quemu-nbd scheint das aber möglich zu sein, wie ich inzwischen herausgefunden habe.
https://www.robert-sperling.de/virtualb ... t-mounten/
Damit kann man die Festplatte oder auch nur eine Partition mounten.
Für die Kopie ist dann aber immer noch ein Tool notwendig, welches auf Dateiebene "alles" (Dateien + Attribute + ???) kopieren kann.
Das sollte mit rsync gehen, was ich aber noch nie benutzt habe.
Mit dieser Anleitung hier sollte es aber gehen:
https://wiki.ubuntuusers.de/Ubuntu_umzi ... c-kopieren

Jemand, der quemu und rsync regelmäßig benutzt, schüttelt vermutlich den Kopf, aber da ich die Programme beide nicht kenne und in der Terminaleingabe ungeübt bin, bietet beides viel Raum für Fehler und entsprechend groß ist mein innerer Widerstand :-) Ein Tool, welches alles in einem erledigen würde, oder gar eine GUI bereitstellen würde, wäre Sahne :)

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: vdi-Image auf Festplatte schreiben

Beitrag von Tintom » 29.05.2021 16:47:18

Ich verstehe dein Problem anscheinend nicht. Ich hatte gedacht, du willst das Image direkt auf eine SSD schreiben.
https://www.virtualbox.org/manual/ch08.html#vboxmanage-clonemedium hat geschrieben:VBoxManage clonemedium [disk|dvd|floppy] <uuid|inputfile> <uuid|outputfile>
Outputfile wäre in diesem Fall die SSD-Gerätedatei.

Laut https://forums.virtualbox.org/viewtopic ... f1#p444941 lässt sich Virtualbox jedoch nur mit Hilfsmitteln überreden direkt auf ein Gerät zu schreiben, d.h. Exportieren in ein RAW-Image und anschließend dieses Image auf die SSD schreiben.

Bananenbieger
Beiträge: 17
Registriert: 03.11.2020 18:35:57

Re: vdi-Image auf Festplatte schreiben

Beitrag von Bananenbieger » 29.05.2021 17:06:02

Ja, genau, ich möchte den Inhalt eines VDIs auf eine SSD kopieren, um anschließend von dieser SSD nativ booten zu können, ohne VBox.

Du meintest wahrscheinlich, dass es z.B. so gehen sollte:

Code: Alles auswählen

VBoxManage clonemedium disk test.vdi /dev/sdb
Dass das möglich sein könnte, hatte ich bisher nicht so verstanden, aber du schränkst das ja auch selbst ein. Selbst wenn es grundsätzlich möglich wäre, wäre zu klären gewesen, ob das auf Block- oder auf Dateiebene liefe. Auf Blockebene kopiert man zwar alles, aber leider auch alle leeren Bereiche, was insbesondere bei einer SSD Abnutzung bedeutet. Je nach Füllgrad und Größe ist es zudem unnötig langwierig und ineffizient.
Der Umweg über ein RAW-Image würde genauso viel Schreiberei erfordern.

Bananenbieger
Beiträge: 17
Registriert: 03.11.2020 18:35:57

Re: vdi-Image auf Festplatte schreiben

Beitrag von Bananenbieger » 09.06.2021 15:04:48

Zwischenstand:

Ich habe ein VDI mit der oben erwähnten Methode erfolgreich mounten, bzw. anschließen können. Die einzelnen Schritte:

Code: Alles auswählen

apt install qemu-utils

#nbd entladen
sudo rmmod nbd

#nbd neu laden
sudo modeprobe nbd

#Image mounten
sudo qemu-nbd -c /dev/nbd0 VBox.vdi

#alle Partitionen anzeigen
lsblk

#Partitionen mounten
sudo mkdir /media/p1
sudo mount /dev/nbd0p1 /media/p1

sudo mkdir /media/p5
sudo mount /dev/nbd0p5 /media/p5

#nbd trennen
sudo qemu-nbd -d /dev/nbd0
Kopiert habe ich die Sachen (noch) nicht. Mit fsarchiver konnte ich aber Images der einzelnen Partition anlegen.

Mit dd if=/dev/nbd0 of=mbr.bin count=1 bs=512 konnte ich den MBR auslesen.


Außerdem habe ich herausgefunden, dass 7z ein VDI öffnen kann. Darin sind dann wiederum Images der einzelnen Partitionen, die man wiederum intern mit 7z öffnen kann, sodass man alle Dateien präsentiert bekommt. Somit sollte es auch ohne Terminalhackerei möglich sein, sehr einfach Dateien auszulesen.
Leider habe ich es nicht mit 7z unter Linux hinbekommen, aber es ist schon mal gut zu wissen, dass es grundsätzlich geht.

Antworten