Konflikt Virtual Size und Actual Size in der Virtualbox

  • Bitte den Befehl "inxi -Fzxi" (ohne die Anführungszeichen) im Terminal ausführen und die Ausgabe dann hier hinein kopieren
    System:
    Kernel: 6.17.0-14-generic arch: x86_64 bits: 64 compiler: gcc v: 13.3.0
    Desktop: Cinnamon v: 6.6.7 Distro: Linux Mint 22.3 Zena
    base: Ubuntu 24.04 noble
    Machine:
    Type: Laptop System: LENOVO product: 20BWS2S700 v: ThinkPad T450s
    serial: <superuser required>
    Mobo: LENOVO model: 20BWS2S700 serial: <superuser required>
    UEFI-[Legacy]: LENOVO v: JBET49WW (1.14 ) date: 05/21/2015
    Battery:
    ID-1: BAT0 charge: 13.9 Wh (96.5%) condition: 14.4/23.2 Wh (62.3%)
    volts: 12.2 min: 11.1 model: SANYO 45N1773 status: not charging
    ID-2: BAT1 charge: 15.2 Wh (100.0%) condition: 15.2/23.2 Wh (65.5%)
    volts: 12.3 min: 11.1 model: SANYO 45N1775 status: full
    Device-1: hidpp_battery_0 model: Logitech Marathon Mouse/Performance Plus
    M705 charge: 100% (should be ignored) status: discharging
    CPU:
    Info: dual core model: Intel Core i5-5300U bits: 64 type: MT MCP
    arch: Broadwell rev: 4 cache: L1: 128 KiB L2: 512 KiB L3: 3 MiB
    Speed (MHz): avg: 840 high: 967 min/max: 500/2900 cores: 1: 798 2: 967
    3: 798 4: 798 bogomips: 18358
    Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
    Graphics:
    Device-1: Intel HD Graphics 5500 vendor: Lenovo driver: i915 v: kernel
    arch: Gen-8 bus-ID: 00:02.0
    Device-2: Bison Integrated Camera driver: uvcvideo type: USB bus-ID: 1-8:8
    Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6 driver: X:
    loaded: modesetting unloaded: fbdev,vesa dri: iris gpu: i915 resolution:
    1: 1920x1080~60Hz 2: 1600x900~60Hz
    API: EGL v: 1.5 drivers: iris,swrast platforms:
    active: gbm,x11,surfaceless,device inactive: wayland
    API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa
    v: 25.2.8-0ubuntu0.24.04.1 glx-v: 1.4 direct-render: yes renderer: Mesa
    Intel HD Graphics 5500 (BDW GT2)
    API: Vulkan v: 1.3.275 drivers: N/A surfaces: xcb,xlib devices: 2
    Audio:
    Device-1: Intel Broadwell-U Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel bus-ID: 00:03.0
    Device-2: Intel Wildcat Point-LP High Definition Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel bus-ID: 00:1b.0
    API: ALSA v: k6.17.0-14-generic status: kernel-api
    Server-1: PipeWire v: 1.0.5 status: active
    Network:
    Device-1: Intel Ethernet I218-LM vendor: Lenovo driver: e1000e v: kernel
    port: 3080 bus-ID: 00:19.0
    IF: enp0s25 state: down mac: <filter>
    Device-2: Intel Wireless 7265 driver: iwlwifi v: kernel bus-ID: 03:00.0
    IF: wlp3s0 state: up mac: <filter>
    IP v4: <filter> type: dynamic noprefixroute scope: global
    IP v6: <filter> type: noprefixroute scope: link
    IF-ID-1: vboxnet0 state: down mac: <filter>
    IF-ID-2: vboxnet1 state: down mac: <filter>
    WAN IP: <filter>
    Bluetooth:
    Device-1: Intel Bluetooth wireless interface driver: btusb v: 0.8 type: USB
    bus-ID: 1-7:7
    Report: hciconfig ID: hci0 rfk-id: 1 state: up address: <filter> bt-v: 4.2
    lmp-v: 8
    Drives:
    Local Storage: total: 704.24 GiB used: 323.29 GiB (45.9%)
    ID-1: /dev/sda vendor: Samsung model: MZ7LN256HCHP-000L7 size: 238.47 GiB
    ID-2: /dev/sdb vendor: Samsung model: Portable SSD T5 size: 465.76 GiB
    type: USB
    Partition:
    ID-1: / size: 233.18 GiB used: 135.91 GiB (58.3%) fs: ext4 dev: /dev/sda3
    ID-2: /boot/efi size: 512 MiB used: 6.1 MiB (1.2%) fs: vfat dev: /dev/sda2
    Swap:
    ID-1: swap-1 type: file size: 2 GiB used: 0 KiB (0.0%) file: /swapfile
    Sensors:
    System Temperatures: cpu: 36.0 C pch: 39.0 C mobo: N/A
    Fan Speeds (rpm): fan-1: 0
    Info:
    Memory: total: 8 GiB note: est. available: 7.46 GiB used: 2.61 GiB (35.0%)
    Processes: 240 Uptime: 38m Init: systemd target: graphical (5)
    Packages: 2328 Compilers: gcc: 13.3.0 Shell: Bash v: 5.2.21 inxi: 3.3.34

    Nun bin ich in meiner Virtualbox wieder auf ein Problem gestoßen. Nachdem ich unter Linux Mint eine zweite VM in der VBox installiert habe (die erste Win10, die zweite Linux Mint), hat die VM bald Speicherkonfilkt gemeldet. Virtualsize und Actualsize waren bei meinen angelegten 20GB nur noch ca. 0,1GB auseinander.

    Als ich die zweite VM (LinuxMint) entfernt habe und auf der verbleibenden VM (Win10) etwas aufgeräumt habe, hat sich am Speicherkonflicht nichts gendert.

    Inzwischen habe ich gelesen, dass Virtualbox nicht mehr benutzten Speicher weiterhin nicht als frei ausgibt. Das Prozedere, den Speicher manuell zu leeren bzw. mit Nullen zu überschreiben, scheint mit total unpraktisch zu sein. Übrigens habe ich schon den Speicher als dynamisch, nicht als feste Größe installiert.

    Die VM Win10 läuft flüssig, ohne Einschränkungen, nachdem ich im Nachhinein virtualsize auf 50GB hochgesetzt habe. Doch actual size ist nach wie vor bei ca. 20 GB.

    Gibt eis eine einfache, durchschaubare Vorgehensweise, Virtualsize zu bereinigen. Das was ich auf AI gelesen habe, ist kompliziert und kann nicht die einzige Vorgehensweise sein.
    Wie komme ich im Nachhinein dorthin, wo ich bei der Installation die 20GB Festplattengröße als dynamisch festgelegt habe? Ich will nur sicher gehen, dass da wirklich die Größe als dynamisch eingetragen ist.

    Sollte ich das Problem künftig ignorieren? Es könnte ja sein, dass auch die 50GB bald wieder als "actual size" ausgegeben werden. Ich kann mir kaum vorstellen, dass das manuelle Überschreiben mit Nullen, der normale Gebrauch der Virtualbox ist. Vielleicht habe ich da auch etwas Grundlegendes nicht verstenden oder übersehen.

    Danke schon mal im Voraus.

  • Thoma Was ist Actualsize und Virtualsize bei dir? Und was willst du mit Nullen überschreiben, vor allem warum?

    In einer VM, die sich dynamisch anpasst, wird eine virtuelle Größe gegeben, damit das zu installierende System eine "Festplatte" sieht mit einer gewissen Größe. Auf dem Host wird aber nur der Platz verbraucht, der auch benötigt wird. Das heißt, in der VM Windows 25 gibst du 100 GB an, auf dem Host verbraucht sie aber nur ca. 30 GB. Windows glaubt aber, 100 GB zur Verfügung zu haben, und könnte die auch nutzen. Erst wenn die 100 GB nicht mehr reichen, müsste man eingreifen.

    Aber was willst du jetzt machen, was passt da nicht?

  • Wenn ich im virtual VBox Manager settings, storage, Win10.vdi (meine VM Datei) klicke, sehe ich die Einträge: Normal VDI, Virtual size 50GB, Actual 19,82 GB, storage details: Dynamically allocated storage.
    Als ich noch 2 VMs installiert hatte, waren die Bedingungen noch so: Virtual size 20 GB und Actual size 19,77GB. Klar, dass da eine Meldung kam.
    Als dann die zweite VM entfernt wurde, hatte sich nichts an der aktuellen Größe der VDI Datei geändert (actual size).

    Meine Frage: Offenbar weist "Virtual size" den Wert der jemals größten gemessenen Auslastung aus und behält diesen auch weiterhin. Jetzt habe ich also 50GB Virtual size. Würde ich unsinnigerweise einmal diese 50GB als aktuelle Größe nutzen und dann, Programme und Snapshots ... wieder löschen, blieben dann diese 50GB (oder etwas weniger) als "Actual size" eingeschrieben?. Würden diese dann zum bleibenden Konflikt führen? Wahrscheinlich Ja! Vermutlich passiert jetzt nichts, solange ich nicht an diese 50GB rankomme -oder?

  • Ich sehe schon, wir reden vom selben, nur in zwei Sprachen. Ich nutze das deutsche System, liegt an der Sprache, die ich habe, seitdem ich geboren bin. Um Missverständnisse zu vermeiden, hilft dann die Bildersprache hervorragend.

    Snapshots haben nichts mit der Größe deiner VM zu tun, die kommt zusätzlich dazu. Sie ist eine Kopie zu der Zeit, als du sie gemacht hast, und ersetzt die laufende, wenn du diese zurücksetzt. Das kann man sich in dem Ordner ansehen, wo die VM gespeichert ist.

  • Meine VB ist leider nicht deutschsprachig. Ich weiß auch nicht, wo ich nachträglich die Sparche ändern kann. Schnappschuss ist auch nicht das Problem, es war nur ein Test, ob diese auf die virtuelle Festplatte geschrieben werden (werden sie natürlich nicht). Das mit der Fehlermeldung zur fehlenden Speicherkapazität war ärgerlich und ich wollte nur wissen, wie ich die unnötigen Daten los werde. Inzwischen ahne ich, dass die tatsächlich eingeschriebene Datenmenge nicht so einfach sichtbar ist. Es bleibt wohl der Wert der maximalen Speicherauslastung als aktuelle Größe eingeschrieben. Diese 19,82 GB scheinen wie in Stein gemeißelt.

    Danke für die Antwort. Um die "Actual size" kümmere ich mich nicht mehr.

  • Bilder sind oft hilfreicher, um zu verstehen.

    Wenn Du die VM, Virtuelle Größe nachträglich erhöht hast, musst Du dies in der VM (Windows) auch machen. Also Festplatte vergrößern, sonst bleibt es bei der erst eingegebenen Größe.

    Deine 19,82 GB sind nicht eingemeißelt, sondern die aktuelle Größe die das System nutzt.

    Wenn Dich das alles stört, dann musst Du am Anfang beim Erstellen der VM für eine feste Zuteilung des Speichers entscheiden. Hat den großen Nachteil, dass es dann nicht mehr veränderbar ist. Das heißt, 50GB werden reserviert für die VM und stehen dem System (Host) nicht mehr zur Verfügung, auch wenn Du nur 20GB eigentlich benötigst.

  • Danke für die Hilfe,

    der Reihe nach, bttr, in meiner VBox gibt es nur English (build in). Ich habe nicht die Sprachen wie unter dem Link ersichtlich. Aber ich komme schon zurecht. Möglicherweise habe ich beim Installieren was falsch gemacht.

    Helmfuss, Das verstehe ich nicht. Wo kann ich die Virtuelle Größe noch ändern, wenn nicht in der VM. Hast du in deiner VBox jemals eine Abnahme des Wertes für die Tatsächliche Speicherauslastung festgestellt? Ich glaube nicht. Der Wert wächst mit dem Bedarf an, aber setzt sich nicht zurück. Sehe ich das falsch? Ich wäre zufrieden, wenn mir im folgenden angenemmenen Beispiel jemand widersprechen könnte.
    Man habe z.B. eine dyn. Größe der VM von 20GB eingetragen. Durch Programminstallationen und anderen Aktionen ist die Tatsächliche Größe (Actual size) auf 19,8GB angewachsen. Es geht nichts mehr. Man deinstalliert den unnützen Kram und bereinigt. Doch die 19,8GB bleiben eingetragen. Nun geht auch weiterhin nichts mehr, obwohl der belegte Speicher wieder freigegeben wurde. Es werden weiterhin Fehlermeldungen kommen, bis man die Virtuelle Größe erhöht hat. bttr, zu deinem Link unten: damit muss ich mich erst einmal beschäftigen, das war mir für den Moment etwas zu hoch, aber trotzdem Danke.

  • Was zeigt denn die Datenträgerverwaltung in Windows an? Auch wenn du alles löschst in Win, benötigt das System zwischen 20 und 30 GB.

    Also, ich sehe jetzt noch keinen Fehler!

  • Hier die Einträge der Datenträgerverwaltung unter Win10VM.
    Diese erklären sich mir noch nicht so ganz. 20GB hatte ich ursprünglich als Virtuelle Größe eingetragen. Die 20GB und die 30GB sind dann zusammen sicher die 50GB der VDI. Auch die eingetragenen 50MB der GAs sind mir nicht klar. Hat es mit der Gasterweiterung zu tun?
    Vielleicht sollte ich die VM einfach noch einmal installieren.

  • Da ist jetzt schön zu sehen, du hast der VM 30GB dazugegeben, aber in Windows das Laufwerk C:/ (20GB) noch nicht vergrößert auf die 50GB.
    Für Windows stehen so nur die rund 20 GB zur Verfügung.

    Die Gasterweiterung hat damit nichts zu tun.

  • Thoma Das ist schon richtig so. Hier verhält sich eine VM genauso wie ein physisches Gerät.

    Du hast die "Festplatte" vergrößert - ok aber das System, egal Win oder Linux weiß das nicht. Im Moment ist das eher wie wenn man eine 2. Festplatte in den Rechner einbaut. Schön das sie da ist aber das OS weiß es nicht.


    Boote deine VM mit irgendeinem Live Linux - wähle gparted oder etwas ähnliches und vergrößere die Partition

    Arch%20Linux-1793D1?logo=arch-linux&logoColor=fff&style=for-the-badge NIXOS-5277C3.svg?style=for-the-badge&logo=NixOS&logoColor=white ansible-%231A1918.svg?style=for-the-badge&logo=ansible&logoColor=white github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white

    Arch Linux isn't unstable

  • Du hast die "Festplatte" vergrößert - ok aber das System, egal Win oder Linux weiß das nicht. Im Moment ist das eher wie wenn man eine 2. Festplatte in den Rechner einbaut. Schön das sie da ist aber das OS weiß es nicht.

    Habe ich das nicht bereits zuvor geschrieben?

    Boote deine VM mit irgendeinem Live Linux - wähle gparted oder etwas ähnliches und vergrößere die Partition

    Das macht in Windows keinen Sinn und passt hier überhaupt nicht hin!

  • Habe ich das nicht bereits zuvor geschrieben?

    Das macht in Windows keinen Sinn und passt hier überhaupt nicht hin!

    Natürlich passt es. Thoma hat meines Erachtens nicht genau die Unterschiede verstanden, genau dabei wollte ich helfen. Und einer virtuellen Disk speicher hinzuzufügen reicht eben nicht aus. Die Partition muss hinterher angepasst werden - gparted.

    Arch%20Linux-1793D1?logo=arch-linux&logoColor=fff&style=for-the-badge NIXOS-5277C3.svg?style=for-the-badge&logo=NixOS&logoColor=white ansible-%231A1918.svg?style=for-the-badge&logo=ansible&logoColor=white github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white

    Arch Linux isn't unstable

  • Der Wert wächst mit dem Bedarf an, aber setzt sich nicht zurück. Sehe ich das falsch?

    Das siehst Du richtig!

    Es nützt Dir also nichts, wenn Du innerhalb der VM Objekte löscht, um mehr freien Speicherplatz zu gewinnen. Die VDI-Datei wird dadurch nicht kleiner. Da ursprünglich nur 20 GB als virtuelle Endgröße vorgesehen waren, bleibt es für VirtualBox dabei, dass die VM nahezu voll ist.

    Du müsstest dem virtuellen Windows sowohl innerhalb der VM mehr Speicher zuweisen (wie ich sehe, sind noch 30 GB uninitialisierter Speicher hinter der Windows-Partition frei), als auch die VDI-Datei auf dem Host vergrößern. Anders als unter VMware kann man das mit VirtualBox aber nur mit Script-Kommandos erledigen. Sieh Dir also im Handbuch von VirtualBox das Kapitel 'VBoxManage' an (welcher Befehl es genau ist, habe ich jetzt nicht auswendig im Kopf).

    Falls das eine Option sein sollte, könntest Du aber auch die VM löschen und anschließend neu aufsetzen. Diesmal dann mit passenderen Werten. Also 50 GB virtuelle Endgröße dürften vermutlich reichen. Auf der physikalischen Partition, die die VDI aufnimmt, sollte aber mindestens noch so viel freie Kapazität vorhanden sein. Außerdem sollte man noch Platz für mindestens einen Snapshot einkalkulieren. So einen VBox-Snapshot sollte man machen, wenn die VM ihre optimale Konfiguration erreicht hat. Dann kann man später im Fehlerfall bequem auf den Zustand bei der Erstellung des Snapshots zurückschalten.

    Nachdem ein Snapshot gemacht wurde, wächst die ursprüngliche VDI nicht mehr weiter (weil ab nun Read Only). Dafür erzeugt VirtualBox automatisch eine Verzweigungsdatei, auf die nachfolgend alle Schreibzugriffe landen. Das geht vollautomatisch und die in der VM laufenden Programme bekommen davon nichts mit. Diese Verzweigungsdatei ist es aber, die nun in Richtung Endgröße weiterwächst.

    (Bis zu dem Zeitpunkt, wo ein weiterer Snapshot gesetzt würde. Dann wird auch diese Datei Read Only und es entsteht eine weitere, dynamisch wachsende Verzweigungsdatei. Daher sollte man nach Möglichkeit auch nie mit virtuellen Disks operieren, denen bei Start eine fixe Größe zugeordnet wird. Dadurch würde man nämlich viel Diskspeicher unnütz vergeuden.)

  • Ich hatte zwei VMs installiert, die zunächst auch normal liefen Win10 und LMint. Dann kam die Speicherfehlermeldung in der VM LMint, dass nicht genügend Sp.platz vorhanden sei. In der VBox habe ich daraufhin die VM LMint gelöscht. Als ich den Konflikt auch unter Win10 weiterhin hatte, habe ich die Virtuelle Größe auf 50GB gesetzt. Der Rest ist bekannt. Win10VM lauft bisher ohne Auffälligkeiten.

    Und nun werde ich mich mit gparted beschäftigen. Ich befürchte, dass es nicht mit einer knappen Schritt-für-Schritt Anleitung getan ist.
    Aber was passiert, wenn ich auch die Win10VM lösche und noch einmal frisch aufsetze und darüberhinaus auch die VBox noch einmal installiere? Ich danke euch beiden, für die engagierte Hilfe bis hier her.

  • Während ich noch geschrieben habe, kam Neumann noch hinzu, bei dem ich mich auch bedanke. Es war ohnehin mein Vorschlag, die VM noch einmal zu installieren. Die Alternative ist wohl gparted. Ich weiß nicht, ob hier auch mit Script Befehlen gearbeitet wird. Der Vorteil ist, nach erstem Sichten, dass Daten erhaten bleiben können.
    Es ist für mich Neuland; ich sollte wohl besser die VM neu installieren. Ist es mit der Neuinstallation der VM getan? Oder muss die VBox auch neu aufgesetzt werden?

  • Also GParted läuft komplett über GUI-Aktionen.

    Um Script-Befehle für VirtualBox ausführen zu können, musst Du 'vboxmanage' im Terminal starten und dort nachfolgend entsprechende Befehle eingeben. Das einzige Mal, wo ich das selber gebraucht habe, war unter VirtualBox auf einem Windows-Host (TaskWindow in der Windows-Terminologie). Die Befehle sind also VirtualBox-bezogen und nicht etwa Linux-Kommandos.

    Wenn Du aber die VM ohnehin neu anlegst, gibt es jedoch im Normalfall weder was mit GParted noch mit vboxmanage zu tun. Du errichtest die Windows-VM einfach mit 50 GB Endgröße. Falls gewünscht kannst Du für die VM auch noch EFI in der VBox-Konfiguration aktivieren. In jedem Fall installiert sich Windows selbstständig mit allen Partitionen, die es braucht. (Also von den vorgeschlagenen 50 GB geht dann noch ein bißchen was weg für die MSR- und die Recovery-Partition sowie die EFI- bzw. Startpartition (falls kein EFI in VirtualBox konfiguriert wird).

    VirtualBox brauchst Du jedenfalls nicht neu zu installieren. Einfach alte VM löschen und neue erstellen.

  • Könnte er nicht in der VM die Partition von Laufwerk C: von 19,96Gb um die 30Gb auf 50Gb erweitern.
    In der Windows VM cmd als Admin ausführen und mit diskpart die Partition vergrößern.

    diskpart
    list volume um die Nummer von LW zu ermitteln
    select volume <Nummer> Die ermittelte Nummer eintragen vermutlich 0
    extend um die Partition/Volume auf den gesamten freien angrenzenden zu erweitern
    exit um diskpart zu beenden

  • Könnte er nicht in der VM die Partition von Laufwerk C: von 19,96Gb um die 30Gb auf 50Gb erweitern.

    Das wäre zu einfach, man könnte es ja in Windows mit der Datenträgerverwaltung machen, aber auch das wäre zu einfach. Also alles weg und neu machen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!