VirtualBox Windows-Host, Ubuntu-Gast auf RAW-Partition installiert

2180
Daniel F

Ich bin hier etwas verwirrt.

Ich habe gerade eine neue 128-GB-SSD auf einem Windows-PC installiert und dann eine 50-GB-Partition auf diesem Laufwerk erstellt. Ich habe es nicht formatiert, so dass es im Dienstprogramm "Disk Management" mit "50,00GB RAW" gekennzeichnet ist.

Es befindet sich um \\.\PhysicalDrive0, ich habe früher gesehen VBoxManage internalcommands listpartitions -rawdisk \\.\PhysicalDrive0, ob die Partition für VirtualBox sichtbar ist.

Ich habe dann VBoxManage internalcommands createrawvmdk -filename "C:\Users\USERNAME\VirtualBox VMs\Disks\ssd370-p1.vmdk" -rawdisk \\.\PhysicalDrive0 -partitions 1ein vmdk erstellt, das diese Partition darstellt.

Dann habe ich eine neue virtuelle Maschine erstellt und anstatt eine neue Festplatte zu erstellen, wählte ich "Vorhandene virtuelle Festplattendatei verwenden", wo ich die zuvor erwähnte vmdk auswählte.

Ich habe das Ubuntu-Iso als CD gemountet und die VM gebootet.

Ich musste das ein paar Mal ausprobieren. Mein Hauptproblem war, dass sich der vmdk als 119,24-GB-Laufwerk präsentiert, sodass die Erstellung der Linux-Partition fehlgeschlagen ist. Bei einem Versuch sagte ich dem Installer, während er während der Installation einen manuellen Partitionierungsprozess durchführte, dass er eine Partition von 48 GB erstellen sollte, was unter der Größe von 50 GB liegt, die ich in Windows verwendet habe. Das hat funktioniert.

Ich habe die VM neu gestartet und es hat immer noch funktioniert, was mich etwas verwirrt macht.

Während der Installation habe ich gesagt, dass GRUB installiert werden soll. Bin ich falsch in meiner Annahme, dass einige Boot- / GRUB-bezogene Dinge den MBR verwenden? Ich meine, etwas im Installationsprozess müsste etwas in den MBR geschrieben haben.

Emuliert VirtualBox den MBR? Oder hat es einen MBR in diese Partition geschrieben und den Rest ein bisschen verkleinert?

Ich habe auch versucht, eine zu machen sudo fstrim -v /, die mit einer endet FITRIM ioctl failed: Operation not supported. Ist das normal?

Außerdem habe ich die Erstellung einer Swap-Partition übersprungen. Könnte ich eine von 2 GB Größe erstellt haben? Sollte ich den gesamten Installationsvorgang wiederholen, eine Partition von 45 GB und einen Swap von 3-4 GB erstellen? Funktioniert das?

Wäre es besser für mich, eine 50 GB-VMDK-Datei anstelle der RAW-Partition zu verwenden?

1
Ich benutze VirtualBox gelegentlich unter Ubuntu, obwohl ich den kostenlosen VMware Player vorziehen möchte. Ich habe noch nie eine unbearbeitete Partition verwendet, daher kann ich keine Antwort darauf geben, wie sie funktioniert: Ich sehe keinen Nutzen, wenn Sie nicht die Möglichkeit haben möchten, direkt zu starten. Der große Vorteil einer VMDK-Datei ist die einfache Erweiterung, wenn sie voll ist. Auch eine einfache Dateikopie macht eine genaue Sicherung, wenn die VM unterstützt wird. Zugehörige Argumente gelten für den Austausch: Der einzige Vorteil einer Partition ist, dass sie den Ruhezustand zulässt (ich kann mir nicht vorstellen, dass dies für eine VM relevant ist). Eine Auslagerungsdatei kann bei Bedarf jedoch leicht vergrößert werden. AFH vor 8 Jahren 0

1 Antwort auf die Frage

2
Tom Yan

Der -partitionsParameter createrawvmdkfunktioniert NICHT so, wie Sie gedacht haben. Anstatt die Partitionen, die Sie als Datenträger angegeben haben, für den Gast -partitionsverfügbar zu machen, wird der gesamte Datenträger für den Gast verfügbar gemacht, als hätten Sie den Parameter nicht angegeben . Der einzige Unterschied ist, dass die Partitionen, die Sie nicht aufgelistet haben, maskiert werden, sodass Sie nicht darauf lesen oder schreiben können. Sie können ein ADDITIONAL-Image als MBR für den Gast verwenden, es ist jedoch auf den Startcodeteil beschränkt (der Gast bleibt mit der Partitionstabelle auf der Raw-Festplatte). Weitere 9.9.1.2. Access to individual physical hard disk partitionsInformationen finden Sie unter https://www.virtualbox.org/manual/ch09.html#rawdisk

GRUB schreibt den Boot-Code in den MBR, wenn er mit dem Ziel installiert wird i386-pc(für das Booten von BIOS / CSM). Wenn es jedoch mit einem der EFI-Ziele ( x86_64-efi/ i386-efi) installiert wird, wird die ausführbare EFI-Datei stattdessen auf der EFI-Systempartition gespeichert.

Damit das FITRIM-ioctl funktioniert, muss VirtualBox einen ordnungsgemäßen SCSI-Passthrough durchführen (z. B. Hyper-V), damit der Gast Befehle identifizieren und an die Festplatten senden kann (oder bei SATA-Festplatten die SCSI-ATA-Übersetzung) Windows-Ebene, die SCSI-UNMAP-Befehle direkt in ATA DSM / TRIM-Befehle für SATA-SSDs übersetzt. Ab VirtualBox 5.0 bietet keiner seiner Speichercontroller rohen Datenträgerzugriff auf dieser Ebene. Es kann durch Prüfen und Vergleichen von Ausgaben von bestätigt werden sg3_utils ( sg_vpd -a, sg_readcap -16und sg_inq) auf dem Linux - Gast und Windows - Host.

Danke, aber machen die -Paritionen ein Remapping? Die Partition, die ich verwendete, war die erste auf der Festplatte. Hat dies die Arbeit für mich einfacher gemacht? Wenn es sich um eine Partition handelt, die in der Mitte des Laufwerks beginnt, muss ich den Wert des Startpunkts notieren, um ihn im Installationsprogramm verwenden zu können? Oder könnte ich einfach sagen "16-Bit-Partition erstellen" während der Installation und Virtualbox den Offset berechnen würde? Ich meine, ich hatte zwei Partitionen auf dem Laufwerk, aber der Installer sagte, es sei ein großes Stück, so groß wie das gesamte Laufwerk. Daniel F vor 8 Jahren 0
Das ist seltsam. Sie sollten sehen, dass es auch zwei Partitionen auf dem Gast gibt. Es sind nur die, die Sie nicht in den `-partitions`-Parametern aufgeführt haben. Sie werden" maskiert ", damit Sie nicht lesen oder schreiben können. Siehe hierzu: https://ptpb.pw/BEfo.PNG Tom Yan vor 8 Jahren 0
Ich habe gerade meine Antwort bearbeitet. Ich hoffe es ist jetzt klarer. Sicher, dass Sie nicht das falsche Laufwerk für den Parameter "-rawdisk" angegeben haben? Tom Yan vor 8 Jahren 0
Ja, ich bin sicher, dass es das richtige Laufwerk war. Die Größe stimmte überein (~ 128 GB), und die beiden Partitionen (beide genau 50 GB) wurden in `VBoxManage-Listen für interne Befehle 'richtig angezeigt. Alle anderen Laufwerke sind 2 TB, 4 TB und eine 100 GB SSD ("C: \\"), die intakt ist, sonst würde der PC nicht mehr booten. Vielen Dank für deine Mühe. Daniel F vor 8 Jahren 0