[gelöst] Partition von geklonter platte löschen / virtualbox

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: [unlösbar] Partition von geklonter platte löschen / virtualbox

Beitrag von buddy67 » 15.02.2023 21:05:35

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

Benutzeravatar
cosinus
Beiträge: 3424
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

Beitrag von cosinus » 15.02.2023 22:23:39

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?!

Benutzeravatar
grubenlicht
Beiträge: 419
Registriert: 10.06.2021 22:35:56

Re: [unlösbar] Partition von geklonter platte löschen / virtualbox

Beitrag von grubenlicht » 15.02.2023 23:35:48

buddy67 hat geschrieben: ↑ zum Beitrag ↑
15.02.2023 21:05:35
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...
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.

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

habe ich mit diesen Befehlen

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
eine Raw VBox VM erzeugt. Wenn ich die dann "ansehe" von einem LiveSystem aus, dann sieht das so aus

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
wie man sieht, sind die Partitionen 3 und 4 nicht mehr benutzbar, aber eben "leider" noch vorhanden.
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

Ich sehe also für das hier anstehende 'Problem' keine Lösung (außer, man beläßt es bei Raw.

Benutzeravatar
grubenlicht
Beiträge: 419
Registriert: 10.06.2021 22:35:56

Re: [unlösbar] Partition von geklonter platte löschen / virtualbox

Beitrag von grubenlicht » 16.02.2023 23:31:51

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.

Benutzeravatar
cosinus
Beiträge: 3424
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

Beitrag von cosinus » 16.02.2023 23:54:54

grubenlicht hat geschrieben: ↑ zum Beitrag ↑
16.02.2023 23:31:51
– kopiere mit dd genau von 0 bis zum Endsektor der letzten Partition, die du brauchst
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 wieder :wink:
Wenn die Ausgangsquelle GPT partitioniert war, muß die erzeugte VHD noch mittels LiveSystem und 'gdisk' repariert werden.
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.

edit: typo

Benutzeravatar
grubenlicht
Beiträge: 419
Registriert: 10.06.2021 22:35:56

Re: [unlösbar] Partition von geklonter platte löschen / virtualbox

Beitrag von grubenlicht » 17.02.2023 16:09:42

cosinus hat geschrieben: ↑ zum Beitrag ↑
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 :wink:
die Stolperfallen lassen sich aber recht einfach beheben:
  1. man kopiert 1-2 Sektoren mehr (über das Ende der letzten gewünschten Partition hinaus
  2. dann mit z.B. 'gparted' die überflüssige Partition/en löschen (Warnung – Partition außerhalb der Platte – mit "cancel" wegdrücken)
Ergebnis: die VDI hat die Größe der Summe der gewünschten Partitionen, hier eben ohne die

Code: Alles auswählen

/dev/sdf4 235 GB -> wird NICHT benötigt (ist nicht formatiert, also freier Plattenplatz)

Benutzeravatar
cosinus
Beiträge: 3424
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

Beitrag von cosinus » 18.02.2023 13:43:09

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.

Benutzeravatar
grubenlicht
Beiträge: 419
Registriert: 10.06.2021 22:35:56

Re: [unlösbar] Partition von geklonter platte löschen / virtualbox

Beitrag von grubenlicht » 18.02.2023 14:38:35

cosinus hat geschrieben: ↑ zum Beitrag ↑
18.02.2023 13:43:09
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.
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.
Ich finde, der TO sollte mal wieder zu Wort kommen :?

Benutzeravatar
cosinus
Beiträge: 3424
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

Beitrag von cosinus » 18.02.2023 14:45:55

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

buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: [gelöst] Partition von geklonter platte löschen / virtualbox

Beitrag von buddy67 » 19.02.2023 12:53:36

grubenlicht hat geschrieben: ↑ zum Beitrag ↑
18.02.2023 14:38:35
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.
Ich finde, der TO sollte mal wieder zu Wort kommen :?
Moin,

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! :THX:

Gruß
Buddy

Benutzeravatar
cosinus
Beiträge: 3424
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

Beitrag von cosinus » 19.02.2023 14:17:30

buddy67 hat geschrieben: ↑ zum Beitrag ↑
19.02.2023 12:53:36
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).
Auch das war nicht wirklich das was du wolltest. Du hättest einfach nur mit dd die entsprechenden Partitionen kopieren müssen.

Benutzeravatar
grubenlicht
Beiträge: 419
Registriert: 10.06.2021 22:35:56

Re: [unlösbar] Partition von geklonter platte löschen / virtualbox

Beitrag von grubenlicht » 19.02.2023 14:50:59

ich tippe mal, @buddy67 will unbedingt "sein Ding" machen, oder warum zeigst du nicht wenigsten mal ein

Code: Alles auswählen

fdisk -l
von der Ausgangsplatte, von der du mit 'Disk2vhd' das Image erzeugt hast?
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)
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

Code: Alles auswählen

apt install geparted
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á!

buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: [unlösbar] Partition von geklonter platte löschen / virtualbox

Beitrag von buddy67 » 19.02.2023 15:23:36

grubenlicht hat geschrieben: ↑ zum Beitrag ↑
19.02.2023 14:50:59
ich tippe mal, @buddy67 will unbedingt "sein Ding" machen, oder warum zeigst du nicht wenigsten mal ein

Code: Alles auswählen

fdisk -l
von der Ausgangsplatte, von der du mit 'Disk2vhd' das Image erzeugt hast?
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)
......
@grubenlicht: nein, aber ich habe im Moment nicht wirklich viel freie Zeit dafür. Daher sorry mit Bitte um Verständnis!

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:
Bild

Als nächstes habe ich dann mit:

Code: Alles auswählen

qemu-img convert -O vpc /dev/sdd /path/to/image.vhd
die vhd-Datei erzeugt. Auch jetzt bei der 64GB micro-SD-Karte.

buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: [gelöst] Partition von geklonter platte löschen / virtualbox

Beitrag von buddy67 » 20.02.2023 17:48:56

...und zu guter letzt:

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
in ein qcow2-file convertiert und dann mit:

Code: Alles auswählen

qemu-img resize --shrink test.qcow2 18G
den unbenutzten rest "wegeschnitten" und dann mit:

Code: Alles auswählen

qemu-img convert -f qcow2 -O vpc test.qcow2 imagetest.vhd
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 :)

Benutzeravatar
cosinus
Beiträge: 3424
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

Beitrag von cosinus » 20.02.2023 18:57:25

buddy67 hat geschrieben: ↑ zum Beitrag ↑
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!
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. :)

Antworten