Entscheidung zwischen virtueller Maschine oder Dual-Boot-Setup

26

Ich möchte einen PC einrichten, auf dem Ubuntu die meiste Zeit ausgeführt wird, aber ich möchte auch XP für bestimmte Anwendungen und Tests ausführen. In der Vergangenheit hätte ich einfach eine Dual-Boot-Maschine eingerichtet und dann Windows XP nach Bedarf neu gestartet und gebootet.

Da der Computer jedoch über mehrere Kerne und einen erheblichen Speicher verfügt, kann ich möglicherweise Virtual Box-, Xen- oder VMWare-Hypervisoren verwenden. Ich denke daran, Ubuntu zur "Host" -VM zu machen und XP als Gast-VM zu haben. Dies ist besonders nützlich für das Testen / Debuggen / Entwickeln, da Anwendungen auf beiden Betriebssystemen gleichzeitig ausgeführt werden können. Ich habe noch nie eine virtuelle Maschine eingerichtet und bin der Meinung, dass ich durch die folgenden Fragen das Ausprobieren vermeiden kann.

Grundsätzlich muss ich mich entscheiden, ob ein Dual-Boot- oder VM-Setup besser für die gewünschten Aufgaben geeignet ist.

Hier sind meine Fragen:

  1. Ich brauche nicht immer XP. Erlauben mir die Hypervisoren, die Gast-VM herunterzufahren, damit die Host-VM dann sofort alle Speicher- und Prozessorressourcen nutzen kann? Wenn ich dann die Gast-VM aufrufe, kann ich dann problemlos bereitstellen, wie viel Speicher und andere Ressourcen von ihr verwendet werden? Idealerweise möchte ich dies im Voraus vorkonfigurieren und dann die Gast-VM aus- / einschalten, ohne darüber nachzudenken.

  2. Ist es möglich oder ratsam, dass das Host-Betriebssystem 64-Bit und das Gast-Betriebssystem 32-Bit ist? Wenn beide VMs 32-Bit sind und ich über 8 GB RAM verfüge, kann der Hypervisor dann jede VM mit 4 GB RAM versorgen, wenn sie gleichzeitig ausgeführt werden?

  3. Welche Hypervisoren eignen sich am besten für Setups, wie ich sie beschrieben habe?

Angelo
quelle
VMware ist besser, wenn Sie XP als Host-Betriebssystem verwenden. Virtual Box ist besser, wenn Sie Ubuntu als Host-Betriebssystem verwenden.
Neugieriger Lehrling

Antworten:

17

Nach meiner Erfahrung ist es eine gute Idee, ein weniger häufig verwendetes Betriebssystem in einer virtuellen Maschine auszuführen. Dies vermeidet Neustarts und ermöglicht einen einfachen Datenaustausch zwischen beiden Welten. Als Faustregel gilt, dass wir das Betriebssystem verwenden sollten, mit dem wir am häufigsten arbeiten, um das Gastbetriebssystem auszuführen, das wir nicht so oft verwenden.

Von meiner Seite kann ich nur für Virtual Box sprechen, da ich sehr wenig Erfahrung mit anderen Lösungen habe. Virtual Box ist jedoch stabil, kostenlos und plattformübergreifend verfügbar. Ich kann es nur empfehlen.

Die Nachteile und Vorteile einer virtuellen Maschine werden in dieser Antwort zusammengefasst , sodass ich sie hier nicht wiederholen werde.

Nur eins noch dazu: Wenn Sie Software entwickeln, ist es vielleicht ganz nett, wenn der Fehler nur in einer virtuellen Maschine auftritt.

So beantworten Sie Ihre Fragen:

  1. Ja, Sie können das Gastbetriebssystem einfach herunterfahren, um alle Ressourcen wieder auf den Host zu übertragen. Sie können sogar einen Maschinenzustand speichern, um Ihre Arbeit nach dem erneuten Aufwecken fortzusetzen.

  2. Die Architektur spielt keine Rolle. Ich führe sowohl 64-Bit-Computer als auch 32-Bit-Computer auf meinem 64-Bit-Host aus. Sie fühlen sich gleich. Wenn Ihr Prozessor Virtualisierung anbietet (was sehr wahrscheinlich der Fall ist), können Sie sogar 64-Bit-Gäste auf einem 32-Bit-Host ausführen.

  3. Das hängt von sehr spezifischen Anforderungen ab, bei denen die eine oder andere Lösung momentan möglicherweise besser ist - wir können nicht wirklich eine Empfehlung für alle Aspekte geben. Solche Dinge werden sich wahrscheinlich auch im Laufe der Zeit ändern.

Probieren Sie es aus, es ist nicht so kompliziert und die Unterstützung für Virtual Box ist ausgezeichnet.

Hier ist ein Beispiel für die Speichernutzung von Virtual Box-Computern:

Bildbeschreibung hier eingeben

Linke Seite ist

  • Ubuntu 11.10 64-Bit auf einer Dual-Core-AMD-CPU, 2 Benutzer haben sich mit 2,3 GiB Arbeitsspeicher für verschiedene Anwendungen angemeldet.
  • Ein 32-Bit-4-GB-RAM von Windows XP wird ausgeführt.
  • Ein zweites Windows XP 32-Bit-1-GB-RAM wird ausgeführt.

Die 1-GiB-VM wird an Position 1 heruntergefahren , die 4-GiB-VM wird an Position 2 heruntergefahren .

Das weitere Erhöhen der Speichergröße der VMs führte zu einer umfangreichen Verwendung von Swap, wodurch das System fast nicht mehr reagierte. Das Ausführen von 2 VMs mit jeweils 4 GiB war auf meinem System hier nicht zulässig (8 GiB). Eine der Maschinen wurde dann vom Virtual Box Manager heruntergefahren.

Takkat
quelle
Vielen Dank! Es scheint einige Unterschiede in den Antworten zu geben, ob beispielsweise 8 GB physischer Arbeitsspeicher zur Verfügung stehen und gleichzeitig jeweils 4 GB für zwei 32-Bit-VMs reserviert werden können. Was sagst du dazu?
Angelo
@Angelo: Sie können einer Maschine beliebig viel RAM zuweisen, aber Sie benötigen etwas RAM, damit der Host die virtuelle Maschine betreiben kann. In Virtual Box können einem Computer nicht mehr als 88% des Arbeitsspeichers zugewiesen werden.
Takkat
danke, ja ich verstehe, dass es etwas Overhead für die virtuelle Box geben muss. Was ich frage ist, ob ich eine große Menge an physischem RAM (zum Beispiel 8 GB oder 16 GB) bekommen kann und dann die maximal möglichen (4 GB) für jeden 32-Bit-Computer bei gleichzeitiger Ausführung zuweisen kann. Aus der anderen Antwort geht hervor, dass die 32-Bit-VMs nur die ersten 4 GB physischen Speicher freigeben dürfen (meine Frage war möglicherweise nicht klar). Ist das der Fall?
Angelo
@Angelo: Meine Tests (siehe Bearbeiten) haben ergeben, dass Sie - sofern Sie über genügend RAM verfügen - mehrere 32-Bit-Computer gleichzeitig mit 4 GB betreiben können sollten.
Takkat
5

Mit Virtualbox können Sie sogar einen Link zu Ihrer virtuellen XP-Maschine auf Ihrem Desktop oder zwischen Ihrer Anwendung hinzufügen, um sie im Handumdrehen zu starten, und Sie können problemlos zwischen Gast und Host wechseln.

Durch das Herunterfahren Ihres Gasts erhält der Host sofort seine Ressourcen zurück, da virtuelle Maschinen wie eine Anwendung auf Ihrem System ausgeführt werden. Selbst wenn Sie eine virtuelle Maschine ausführen, wird sie dem Host dynamisch übergeben, wenn nicht der gesamte dafür vorgesehene RAM verwendet wurde. Beispiel: Wenn Sie insgesamt 8 GB RAM-Speicher haben, legen Sie für Ihren Gast einen RAM-Wert von 4 GB fest. In seinen Prozessen werden jedoch nur 2 GB verwendet, und der Host kann auf 6 GB RAM zugreifen.

Tatsächlich ist es sehr einfach, Speicher und andere Ressourcen auf Ihrer VM festzulegen, und sie werden bei jedem VM-Start gespeichert.

Es ist kein Problem, 32-Bit-Gäste auf 64-Bit-Hosts auszuführen, ich mache das jeden Tag.

Sie können sogar 32-Bit-Gastsysteme auf 32-Bit-Hosts ausführen, was absolut kein Problem darstellt.

Wenn beide VMs 32-Bit sind und ich über 8 GB RAM verfüge, kann der Hypervisor dann jede VM mit 4 GB RAM versorgen, wenn sie gleichzeitig ausgeführt werden?

Ich habe diese Frage nicht wirklich verstanden, aber wenn Sie insgesamt 8 GB RAM haben, können Sie nur die Hälfte davon (4 GB) für Ihre VMs verwenden, wenn Sie mehrere VMs gleichzeitig ausführen möchten Teilen Sie 4 GB in die Anzahl der VMs auf, die Sie ausführen möchten.

Da Sie ein Anfänger sind, kann ich Ihnen die Verwendung von VM Virtualbox empfehlen, die auch für fortgeschrittene Benutzer geeignet ist, damit Sie damit wachsen können. Es ist im offiziellen Repository nach Terminal verfügbar:

sudo apt-get install virtualbox

oder einfach im Ubuntu Software Center nachsehen.

Es verfügt über eine sehr benutzerfreundliche Oberfläche und einfache Schritt-für-Schritt-Assistenten.

Gerne unterstütze ich Sie bei Ihrem VM-Setup.

Neonboy
quelle
Vielen Dank! Wenn ich das richtig verstehe, sagen Sie, dass bei mehreren 32- Bit-VMs nur ein Bruchteil derselben 4 GB physischen Speichers verwendet werden darf?
Angelo
Ja, aber nur, wenn Sie sie gleichzeitig starten möchten. Wenn Sie sie einzeln ausführen möchten, können sie die gesamte Leistung von 4 GB haben.
Neonboy
2

Antworten: A1: Ja, mit VirtualBox können Sie JEDE Art von Computer emulieren (sofern er Ihren Hardwarespezifikationen entspricht). Sie können sogar einen 64-Bit-Computer in einem 32-Bit-Computer emulieren. Wenn Sie also eine VM starten, beansprucht sie den eingestellten Speicherplatz und den VD-Speicherplatz, den Sie beim Starten angegeben haben. Auch wenn die VM nicht den gesamten angegebenen Arbeitsspeicher verwendet, ist immer noch Nullarbeitsspeicher vorhanden, den der Hostcomputer jedoch nicht verwenden kann. Wenn Sie also über genügend Rechenleistung verfügen, können Sie sogar ANDERE Prozessorkarten usw. emulieren. Dies ist jedoch meistens nicht sinnvoll und kann nicht so einfach überwacht werden. Und grob gesagt, weil virtualbox (abgesehen von der Speichersache) beim ersten Start (und zu jedem späteren Zeitpunkt) prüft, welche Treiber und Dinge beim Booten benötigt werden.

A2: Ja und sehr einfach. Wenn Sie jedoch zwei VMs hatten, die jeweils die Hälfte Ihres Arbeitsspeichers beanspruchten, müssen Sie immer noch ungefähr 50-100 MB RAM haben, damit virtualbox und der Host im Hintergrund ausgeführt werden können. Also etwa 3,75 GB für jeden ...

A3: Wenn Sie von Hypervisoren sprechen, meinen Sie Host-Betriebssystem oder VMWare vs VirtualBox, da die direkte Antwort lautet, dass VMWare veraltet und VirtualBox stabil ist. Sie müssen sich also für abstürzende und fehlerbehaftete, aber schnelle VMWare entscheiden oder Effizient und stabil, beanspruchen aber immer noch ein bisschen Speicher, wenn Sie VirtualBox ausführen ... Ich bevorzuge VirtualBox, aber viele andere mit nicht so leistungsfähiger Hardware verwenden VMWare gern. ..Sie entscheiden, obwohl ich Ubuntu mit openbox vorschlage, wenn Sie möchten, dass möglichst wenig Prozesse ausgeführt werden, wenn Sie Dual-VMs ausführen ...

TenorB
quelle
Vielen Dank! Es hört sich so an, als ob virtualBox oder OpenBox das Ticket für leistungsfähige Hardware sein könnten. Kennt jemand Xen?
Angelo
Xen ist gut, aber Vbox ist viel einfacher zu bedienen und bietet eine hervorragende Kompatibilität mit Windows XP.
Neonboy
@TenorB, beziehen Sie sich auf eines der Open Source-Produkte von VMWare oder auf die kommerziellen Produkte (VMWare Workstation / Fusion)?
Angelo
@ Angelo Open Source
TenorB
@Angelo VirtualBox und VMware sind zwei verschiedene Produkte.
Haziz
2

Sofern Sie keine grafikintensiven Aufgaben für den Gast ausführen müssen, funktioniert die VM einwandfrei. Ich habe festgestellt, dass Virtual Box für das, was Sie versuchen, sehr einfach einzurichten ist. Sie können den Gast nach Bedarf laden und entladen. Sie können die Speichernutzung einfach konfigurieren und einstellen, wie viel Speicher dem Gast zugewiesen wird. Es ist am besten, wenn Sie einen 64-Bit-Host mit mehr als 3 GB Arbeitsspeicher auf dem Host verwenden. Wenn Sie XP als Gast verwenden, handelt es sich höchstwahrscheinlich um einen 32-Bit-Gast, der hervorragend funktioniert.

Alle drei VM-Manager sind großartig. Xen wird hauptsächlich über die Befehlszeile konfiguriert. Es ist wirklich mächtig, kann aber ein wenig entmutigend sein. VMware ist nicht Open Source, wenn Ihnen das wichtig ist. Virtual Box funktioniert hervorragend und ist einfach zu konfigurieren. Bestimmte Funktionen erfordern ein proprietäres Add-On-Paket, sind jedoch normalerweise nicht obligatorisch.

Das einzige, worüber ich Sie warnen möchte, ist die anfängliche Festplattengröße. Dies ist wirklich schwierig, die Größe der virtuellen Partition nach der anfänglichen Konfiguration zu ändern. Ich würde empfehlen, es ein wenig größer zu machen, als Sie denken, dass Sie brauchen.

Kurz gesagt, virtuelle Maschinen können großartig sein. Es ist definitiv bequemer als Dual-Boot.

Viel Glück!

Chris
quelle