[gelöst] Partition von geklonter platte löschen / virtualbox
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
Moin,
ich hatte leider wenig Zeit in den letzten Tagen. So sieht die geclonte Platte aus:
/dev/sdd1 15.61 GiB Linux Filesytem
/dev/sdd2 200.00 MB EFI_1
/dev/sdd3 200.00 MB EFI_2
nicht zugeteilt 222.48 GiB
Mit Clonezlla geclont (disk to local disk). Dabei ist die originale HDD 128 GB groß. Zum clonen hatte ich nur die HDD mit (laut Gparted) 238,47 GB. Wie schon gesagt, es werden nur die ersten drei Partitionen benötig. Auch wenn ich von der geclonten Platte direkt eine .vdi erzeugen lasse, lässt sich diese nicht verkleinern. Benötigt werden in der VM nur die ersten drei Partitionen. Mir gelingt es aber nicht, den nicht verwendeten Speichrplatz nicht "mit clonen" zu lassen.
Die .vdi oder auch die .vdh lässt sich problemlos in VirtualBox oder auch im VMPlayer starten. Mich stören die unnötigen 222.48 GB der VM-Datei. Ich kann natürlich per .iso Gparted in der VM starten, bringt aber leider nichts. Einen root-Zugriff auf das Dateisystem in der (ohne CD-ISO) gestarteten VM habe ich nicht.
Die Frage bleibt also: Wie erstelle ich eine lauffähige .vdh / .vdi Datei OHNE den nicht zugeteilten Speicherplatz. Egal ob von der geclonten Platte oder vom Originalrechner...
Gruß
Buddy
ich hatte leider wenig Zeit in den letzten Tagen. So sieht die geclonte Platte aus:
/dev/sdd1 15.61 GiB Linux Filesytem
/dev/sdd2 200.00 MB EFI_1
/dev/sdd3 200.00 MB EFI_2
nicht zugeteilt 222.48 GiB
Mit Clonezlla geclont (disk to local disk). Dabei ist die originale HDD 128 GB groß. Zum clonen hatte ich nur die HDD mit (laut Gparted) 238,47 GB. Wie schon gesagt, es werden nur die ersten drei Partitionen benötig. Auch wenn ich von der geclonten Platte direkt eine .vdi erzeugen lasse, lässt sich diese nicht verkleinern. Benötigt werden in der VM nur die ersten drei Partitionen. Mir gelingt es aber nicht, den nicht verwendeten Speichrplatz nicht "mit clonen" zu lassen.
Die .vdi oder auch die .vdh lässt sich problemlos in VirtualBox oder auch im VMPlayer starten. Mich stören die unnötigen 222.48 GB der VM-Datei. Ich kann natürlich per .iso Gparted in der VM starten, bringt aber leider nichts. Einen root-Zugriff auf das Dateisystem in der (ohne CD-ISO) gestarteten VM habe ich nicht.
Die Frage bleibt also: Wie erstelle ich eine lauffähige .vdh / .vdi Datei OHNE den nicht zugeteilten Speicherplatz. Egal ob von der geclonten Platte oder vom Originalrechner...
Gruß
Buddy
- cosinus
- Beiträge: 3466
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
Das verstehe ich bei dir nicht. Da nutzt du schon CloneZilla und musst dich nichtmal mit dem nerdigen dd-Befehl auseinandersetzen, klonst aber trotzdem die gesamte Disk, anstatt einfach nur die drei Partitionen zu klonen anstelle der gesamten Platte. Hast du da ein grundlegendes Verständnisproblem zwischen Disk/Device und Partition?!
- grubenlicht
- Beiträge: 422
- Registriert: 10.06.2021 22:35:56
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
erzeuge von der Platte eine Rawdisk (s. mein post vom 12.02.2023 11:50:00, ausführlicher in https://wiki.ubuntuusers.de/Dualboot-Wi ... alisieren/), dann wandelst du Rawdisk in VDI um -> VBox V 7.x Hilfe 8.36.buddy67 hat geschrieben:15.02.2023 21:05:35Die Frage bleibt also: Wie erstelle ich eine lauffähige .vdh / .vdi Datei OHNE den nicht zugeteilten Speicherplatz. Egal ob von der geclonten Platte oder vom Originalrechner...
EDIT.: Habe mal einen Versuch gemacht, dabei werden tatsächlich nur die eingebundenen Partition wirksam, aber die restlichen Partitionen sind 'irgendwie' doch vorhanden.
Dieses Gerät
Code: Alles auswählen
Modell: SMI USB DISK (scsi)
Festplatte /dev/sdd: 4010MB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk-Flags:
Nummer Anfang Ende Größe Typ Dateisystem Flags
1 1049kB 17,8MB 16,8MB primary fat16 boot
2 17,8MB 19,9MB 2097kB primary ntfs
3 19,9MB 3438MB 3418MB primary ntfs
4 3438MB 4010MB 571MB primary ext2
Code: Alles auswählen
1. $ install-mbr --force ~/VirtualBox\ VMs/2xpart/2xpart.mbr
2. $ echo 0xf2e9b497 | sed -e 's/0x\(..\)\(..\)\(..\)\(..\)/0x\4\3\2\1/' | xxd -r | dd of=~/VirtualBox\ VMs/2xpart/2xpart.mbr bs=1 seek=440 conv=notrunc
3. $ sudo VBoxManage createmedium disk --filename ~/VirtualBox\ VMs/2xpart/2xpart.vmdk --format=VMDK --variant RawDisk --property RawDrive=/dev/sdd --property Partitions=1,2
4. $ sudo chown $USER ~/VirtualBox\ VMs/2xpart/2xpart.vmdk
5. $ sudo chown $USER ~/VirtualBox\ VMs/2xpart/2xpart-pt.vmdk
6. $ sudoedit /etc/udev/rules.d/VBox2xpart.rules
7. $ sudo udevadm trigger
Code: Alles auswählen
~$ sudo parted -l
Modell: ATA VBOX HARDDISK (scsi)
Festplatte /dev/sda: 4010MB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk-Flags:
Nummer Anfang Ende Größe Typ Dateisystem Flags
1 1049kB 17,8MB 16,8MB primary fat16 boot
2 17,8MB 19,9MB 2097kB primary ntfs
3 19,9MB 3438MB 3418MB primary
4 3438MB 4010MB 571MB primary
Und eine Umwandlung in VDI funktioniert nicht
Code: Alles auswählen
$ VBoxManage convertfromraw 2xpart.vmdk 2xpart.vdi
Converting from raw image file="2xpart.vmdk" to file="2xpart.vdi"...
Creating dynamic image with size 730 bytes (1MB)...
VBoxManage: error: VD: The given disk size 730 is not aligned on a sector boundary (512 bytes)
VBoxManage: error: Error code VERR_VD_INVALID_SIZE at /home/vbox/tinderbox/build-trunk/svn/src/VBox/Storage/VD.cpp(6058) in function int VDCreateBase(PVDISK, const char*, const char*, uint64_t, unsigned int, const char*, PCVDGEOMETRY, PCVDGEOMETRY, PCRTUUID, unsigned int, PVDINTERFACE, PVDINTERFACE)
VBoxManage: error: Cannot create the disk image "2xpart.vdi": VERR_VD_INVALID_SIZE
- grubenlicht
- Beiträge: 422
- Registriert: 10.06.2021 22:35:56
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
Ich habe noch mal gegrübelt:
– kopiere mit dd genau von 0 bis zum Endsektor der letzten Partition, die du brauchst
– das kann gleich auf ein device erfolgen, welches genau die Größe der Summe der gewünschten Quellpartitionen hat
– dieses (neue) device kannst du dann mit Disk2vhd umwandeln
– das VHD file kannst du direkt in VirtualBox als Platte einbinden
Wenn die Ausgangsquelle GPT partitioniert war, muß die erzeugte VHD noch mittels LiveSystem und 'gdisk' repariert werden.
– kopiere mit dd genau von 0 bis zum Endsektor der letzten Partition, die du brauchst
– das kann gleich auf ein device erfolgen, welches genau die Größe der Summe der gewünschten Quellpartitionen hat
– dieses (neue) device kannst du dann mit Disk2vhd umwandeln
– das VHD file kannst du direkt in VirtualBox als Platte einbinden
Wenn die Ausgangsquelle GPT partitioniert war, muß die erzeugte VHD noch mittels LiveSystem und 'gdisk' repariert werden.
- cosinus
- Beiträge: 3466
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
Könnte man so machen. Da wird aber auch die Partitionstabelle kopiert und dann hätte man auf einem neuen Gerät zumindest in der Tabelle als Definition die ungewollte Partition wiedergrubenlicht hat geschrieben:16.02.2023 23:31:51– kopiere mit dd genau von 0 bis zum Endsektor der letzten Partition, die du brauchst
Richtig - GPT sieht einen Backupheader am Ende des Datenträgers vor. Kann man reparieren, sofern der Mainheader intakt ist mit x,r,e in gdisk.Wenn die Ausgangsquelle GPT partitioniert war, muß die erzeugte VHD noch mittels LiveSystem und 'gdisk' repariert werden.
edit: typo
- grubenlicht
- Beiträge: 422
- Registriert: 10.06.2021 22:35:56
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
die Stolperfallen lassen sich aber recht einfach beheben:cosinus hat geschrieben:16.02.2023 23:54:54...dann hätte man auf einem neuen Gerät zumindest in der Tabelle als Definition die ungewollte Partition wieder
- man kopiert 1-2 Sektoren mehr (über das Ende der letzten gewünschten Partition hinaus
- dann mit z.B. 'gparted' die überflüssige Partition/en löschen (Warnung – Partition außerhalb der Platte – mit "cancel" wegdrücken)
Code: Alles auswählen
/dev/sdf4 235 GB -> wird NICHT benötigt (ist nicht formatiert, also freier Plattenplatz)
- cosinus
- Beiträge: 3466
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
Man kann auch einfach die neue VDI-Disk manuell partitionieren, so wie man es braucht, also nur die Partition 1-3 einrichten wie auf dem Quellmedium. Dann mit dd oder pv sdx1-sdx3 auf die neuen Partionen kopieren.
- grubenlicht
- Beiträge: 422
- Registriert: 10.06.2021 22:35:56
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
Falls es sich um die Partitionen "/" und ESP eines Linuxsystems im EFI Modus handelt, kann das auch so funktionieren, im "legacy" Modus aber nicht, da müßte der Bootloader repariert werden.cosinus hat geschrieben:18.02.2023 13:43:09Man kann auch einfach die neue VDI-Disk manuell partitionieren, so wie man es braucht, also nur die Partition 1-3 einrichten wie auf dem Quellmedium. Dann mit dd oder pv sdx1-sdx3 auf die neuen Partionen kopieren.
Ich finde, der TO sollte mal wieder zu Wort kommen
- cosinus
- Beiträge: 3466
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
Ok, man kann auch einfach von Sektor 0 bis zum letzten Sektor der dritten Partition kopieren. Dann hat man auch Partitionstabelle inkl. legacy/csm bootcode erwischt. Ich würde dann aber direkt danach noch mit fdisk dann die ungewollte dritte Partition löschen. Ich geh aber davon aus, dass es UEFI/GPT ist denn @buddy67 schrieb ja selbst:
Code: Alles auswählen
/dev/sdd2 200.00 MB EFI_1
/dev/sdd3 200.00 MB EFI_2
Re: [gelöst] Partition von geklonter platte löschen / virtualbox
Moin,grubenlicht hat geschrieben:18.02.2023 14:38:35Falls es sich um die Partitionen "/" und ESP eines Linuxsystems im EFI Modus handelt, kann das auch so funktionieren, im "legacy" Modus aber nicht, da müßte der Bootloader repariert werden.
Ich finde, der TO sollte mal wieder zu Wort kommen
ich habe inzwischen eine für mich zumindest zufriedenstellende Lösung gefunden. Ich habe schon öfter große HDD's auf kleinere SSD's mit Clonzilla clonen können, wenn der benutze Speicherplatz auf der original HDD insgesamt kleiner war, als die Gesamtkapazität der SSD. Im vorliegenden Fall hat das aber nicht geklappt. Ohne vorheriges anlegen von Partitionen auf dem Zieldateisystem hat Clonezilla die erste Partition (16GB im Original) auf der Zielpartition nur mit 8GB angelegt, was natürlich dann beim Kopieren der Originalpartition auf die geclonte Zielpartition nicht funktioniert hat.
Jetzt habe ich es mit der kleinsten micro-SD die ich hatte (64GB) versucht und vor dem clonen auf dieser die drei Partitionen angelegt (1. 16GB, 2. 200MB, 3.200MB, Rest unformatierter Speicherplatz). Das hat geklappt. Die letztendlich erstellte Datei für VirtualBox ist nun 56GB groß. Also immer noch ca. 50GB größer als meiner Ansicht nach notwendig, aber natürlich wesentlich kleiner als das erste Ergebnis mit 256GB. Beim ersten Booten in VirtualBox hat sich scheinbar das System "selbst geheilt", Die Partitionen waren mit den falschen flags angelegt. Nach einem Reboot der virtuellen Maschine funktioniert jetzt aber alles.
@grubenlicht: Ja, so ist es. Beim anlegen der Partitionen auf dem Zielsystem habe ich "gpt" gewählt und dann nur noch die Größe der Partitionen angegeben (1. 2. 3., Rest unformatiert)
Theoretisch ist es zwar ziemlich das gleiche Ergebnis, wie mit einer größeren SSD, denn der unbenutzte freie Platz von ca. 50GB ist immer noch in der VM-Datei enthalten, ist aber bei der Gesamtgröße von 54GB ziemlich egal. Falls ich noch irgendwo eine 32GB micro-SD finde, versuch ich es damit nochmal. Aber so reicht es mir eigentlich schon. Daher setze ich den Thread auf gelöst...
Danke an Alle!
Gruß
Buddy
- cosinus
- Beiträge: 3466
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: [gelöst] Partition von geklonter platte löschen / virtualbox
Auch das war nicht wirklich das was du wolltest. Du hättest einfach nur mit dd die entsprechenden Partitionen kopieren müssen.buddy67 hat geschrieben:19.02.2023 12:53:36Jetzt habe ich es mit der kleinsten micro-SD die ich hatte (64GB) versucht und vor dem clonen auf dieser die drei Partitionen angelegt (1. 16GB, 2. 200MB, 3.200MB, Rest unformatierter Speicherplatz).
- grubenlicht
- Beiträge: 422
- Registriert: 10.06.2021 22:35:56
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
ich tippe mal, @buddy67 will unbedingt "sein Ding" machen, oder warum zeigst du nicht wenigsten mal ein von der Ausgangsplatte, von der du mit 'Disk2vhd' das Image erzeugt hast?
Mit einem
erzeugst du eine *.vdi, die exakt die Größe hat, die du brauchst.
Nächste Aktion: die per Disk2vhd erzeugte *.vhd und die mit o.g. "createmedium" erzeugte *.vdi als Platte in eine neu VM von VBox einhängen, zum Starten ein LiveSytem (iso-file) als 'optisches Laufwerk' einbinden. (möglichst eine ios, bei der gparted schon dabei ist, bei Debian müßte man erst 'contrib' in den Paketquellen hinzufügen und dann dafür ausführen.
Dann mit geparted die *.vdi mit einem GPT Schema versehen, die "/" Partition und die ESP (welche von beiden die richtige ist, kann man auch herausbekommen, wenn du willst; eine von beiden ist in jedem Falle obsolet!) von der *.vhd auf die *.vdi kopieren.
BootOrder in der VM auf die VBox harddisk einstellen.
VM herunterfahren, *.vhd und iso-file aushängen, neu starten:
E voilá!
Code: Alles auswählen
fdisk -l
Mit einem
Code: Alles auswählen
vboxmanage createmedium disk --filename <deinName> --sizebyte=xxxx --format=VDI --variant=Standard # xxxx= (Endsektor der gewünschten letzten Partition der Ausgabe von fdisk -l) * Sektorgröße (i.d.R. 512)
Nächste Aktion: die per Disk2vhd erzeugte *.vhd und die mit o.g. "createmedium" erzeugte *.vdi als Platte in eine neu VM von VBox einhängen, zum Starten ein LiveSytem (iso-file) als 'optisches Laufwerk' einbinden. (möglichst eine ios, bei der gparted schon dabei ist, bei Debian müßte man erst 'contrib' in den Paketquellen hinzufügen und dann
Code: Alles auswählen
apt install geparted
Dann mit geparted die *.vdi mit einem GPT Schema versehen, die "/" Partition und die ESP (welche von beiden die richtige ist, kann man auch herausbekommen, wenn du willst; eine von beiden ist in jedem Falle obsolet!) von der *.vhd auf die *.vdi kopieren.
BootOrder in der VM auf die VBox harddisk einstellen.
VM herunterfahren, *.vhd und iso-file aushängen, neu starten:
E voilá!
Re: [unlösbar] Partition von geklonter platte löschen / virtualbox
@grubenlicht: nein, aber ich habe im Moment nicht wirklich viel freie Zeit dafür. Daher sorry mit Bitte um Verständnis!grubenlicht hat geschrieben:19.02.2023 14:50:59ich tippe mal, @buddy67 will unbedingt "sein Ding" machen, oder warum zeigst du nicht wenigsten mal einvon der Ausgangsplatte, von der du mit 'Disk2vhd' das Image erzeugt hast?Code: Alles auswählen
fdisk -l
Mit einem......Code: Alles auswählen
vboxmanage createmedium disk --filename <deinName> --sizebyte=xxxx --format=VDI --variant=Standard # xxxx= (Endsektor der gewünschten letzten Partition der Ausgabe von fdisk -l) * Sektorgröße (i.d.R. 512)
fdisk -l
Code: Alles auswählen
Disk /dev/sdd: 238,47 GiB, 256060514304 bytes, 500118192 sectors
Disk model: YZWY_TE
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/sdd1 2048 32729088 32727041 15,6G Linux filesystem
/dev/sdd2 32731136 33140735 409600 200M EFI System
/dev/sdd3 33140736 33550335 409600 200M EFI System
Das ist die geklonte Platte. Mit Gparted zeigt sich noch:
Als nächstes habe ich dann mit:
Code: Alles auswählen
qemu-img convert -O vpc /dev/sdd /path/to/image.vhd
Re: [gelöst] Partition von geklonter platte löschen / virtualbox
...und zu guter letzt:
das knapp 64 GB vhd-File habe ich dann mit:
in ein qcow2-file convertiert und dann mit:
den unbenutzten rest "wegeschnitten" und dann mit:
wieder in eine vhd-datei umgewandelt. das ergebnis: eine vhd-datei mit gerade mal 16,1 GB, welche anstandslos in virtualbox läuft.
@cosius: Um bei Deinen Worten zu bleiben: Hast DU ein Verständnisproblem bezüglich Partitionen einer HDD und unbenutztem UND unpartitionierten Platz auf einer HDD? Nix für Ungut!
Dank noch mal an alle, die hier fleißig waren
das knapp 64 GB vhd-File habe ich dann mit:
Code: Alles auswählen
qemu-img convert -p -f vpc -O qcow2 /home/buddy/test.vhd /home/buddy/test.qcow2
Code: Alles auswählen
qemu-img resize --shrink test.qcow2 18G
Code: Alles auswählen
qemu-img convert -f qcow2 -O vpc test.qcow2 imagetest.vhd
@cosius: Um bei Deinen Worten zu bleiben: Hast DU ein Verständnisproblem bezüglich Partitionen einer HDD und unbenutztem UND unpartitionierten Platz auf einer HDD? Nix für Ungut!
Dank noch mal an alle, die hier fleißig waren
- cosinus
- Beiträge: 3466
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: [gelöst] Partition von geklonter platte löschen / virtualbox
Nein. Im Gegensatz zu dir habe ich aber auch begriffen, dass man nicht bis zum letzten Sektor kopieren muss v.a. wenn die letzten paarhundert Gigabytes eh unbelegt sind.buddy67 hat geschrieben:20.02.2023 17:48:56@cosius: Um bei Deinen Worten zu bleiben: Hast DU ein Verständnisproblem bezüglich Partitionen einer HDD und unbenutztem UND unpartitionierten Platz auf einer HDD? Nix für Ungut!