Kann mit einem Hypervisor wie VirtualBox ein virtualisiertes Betriebssystem gestartet werden, das auch direkt bootfähig ist?


60

Diese Frage ist eher theoretisch:

Angenommen, ich habe einen PC mit zwei verschiedenen Betriebssystemen auf zwei verschiedenen Partitionen: OS1 auf sda1 und OS2 auf sda2. Ist es irgendwie möglich, ein Programm wie VMWare oder Virtualbox in OS1 einzurichten, das auf sda2 zugreift, es bootet und OS2 ausführt? Andererseits sollte OS2 auch direkt bootfähig sein.

Mir ist klar, dass das emulierte OS2 sehr viel langsamer sein würde und wahrscheinlich niemand dieses Setup wirklich verwenden würde, aber ich finde das sehr interessant.


1
@MorrisIriga bist du sicher? Ich erinnere mich, dass es ein Virtualisierungstool gab, mit dem echte Festplatten gemountet werden konnten. Nicht sicher, ob seine Oracle VirtualBox oder Microsoft VirtualPC.
LPChip

1
@LPChip Sorry, ich hatte die Frage falsch verstanden. Ja, Sie können eine physische Festplatte mit VirtualBox mounten. Schau dir das oder das an . Ich kenne keine andere Virtualisierungssoftware.
MorrisIriga



4
VMWare Fusion kann eine "Boot Camp" -Partition
Jacob Krall

Antworten:


58

Es ist möglich , ja, und es muss nicht unbedingt langsamer sein, da es heutzutage keine Emulation mehr ist, sondern Virtualisierung - die meisten CPUs unterstützen hardwaregestützte Virtualisierung (VT-x und so), aber auch ohne diese hat VirtualBox viele Tricks, um softwarevirtualisierte VMs schnell laufen zu lassen.

In jedem Fall wird es nicht langsamer sein, als eine einfache alte VM hochzufahren. Möglicherweise ist es sogar schneller (aufgrund der Verwendung einer unformatierten Partition anstelle eines fragmentierten Datenträgerabbilds).


Aber ich bin nicht ganz sicher, wie es in VirtualBox gemacht wird - ich denke, Sie müssen eine spezielle .vdi-Datei erstellen vboxmanage, die auf die reale Partition verweist? Ich habe auch keine Ahnung, wie der Bootloader in einer solchen Situation funktioniert.

Obwohl ich unter Linux verschiedene Bootprobleme durch Ausführen einer schreibgeschützten Kopie des aktuellen Betriebssystems unter Verwendung von debuggt habe qemu-system-x86_64 -enable-kvm -hda /dev/sda -snapshot -monitor stdio.


6
Sie haben tatsächlich ein Betriebssystem ausgeführt, das in sich selbst virtualisiert ist?
Wauzl

8
Sicher warum nicht? Es unterscheidet sich nicht wesentlich von der Ausführung einer regulären VM. Der einzige wichtige Teil ist -snapshot, dass eine temporäre Kopie von / dev / sda erstellt wird (damit beide Systeme die Daten des anderen nicht überlasten).
Grawity

6
Ihre vorläufige Aussage zur Verwendung von vboxmanage, ein VDI (nicht VHD) als Platzhalter für die unformatierte Partition einzurichten, ist korrekt. Das VBOX-Handbuch erklärt es ausführlich. Ich mag Ihren Debugging-Trick. Ich habe noch nie darüber nachgedacht, aber ich denke bereits an einige Anwendungsfälle ;-)
Tonny

28

qemuDamit können Sie Blockgeräte wie /dev/sda2usw. als virtuelle Festplatten verwenden. VMWare funktioniert auch. Ich bin mir nicht sicher über Virtualbox.

Wenn Sie /dev/sda2in einer VM starten , hat dies einen ähnlichen Effekt, als hätten Sie eine Festplatte herausgenommen und auf einem anderen Computer mit unterschiedlicher Hardware gestartet. Wenn das Betriebssystem diese Änderung verarbeiten kann, sollte es in Ordnung sein, das Betriebssystem sowohl in einer VM als auch nativ auszuführen. Windows wird Ihnen natürlich Probleme bereiten und Linux wird es wahrscheinlich sehr gut vertragen.

Sie können potenzielle Probleme abmildern, indem Sie die virtuelle Hardware so genau wie möglich an die physische Hardware Ihres Systems anpassen. Natürlich müssen Sie weniger RAM angeben. Von besonderer Bedeutung ist die Angabe des gleichen Typs von Festplattencontroller (IDE, SCSI usw.).


8
Anscheinend kann virtualbox dies auch mit dem Befehl 'VBoxManage internalcommands createrawvmdk' ( hier zu sehen )
Michael B

19

Es ist durchaus möglich, dass ich das früher getan habe!

Ich hatte eine Partition / Platte (ich vergesse welche) mit Windows eine mit Linux, ich glaube, es war in den Tagen von Windows XP (zugegeben, das hat eine Weile gedauert). Es war eine gute Möglichkeit, auf beide Datensätze zuzugreifen, ohne viel Speicherplatz mit unterschiedlichen Installationen zu belegen.

Das einzige Problem, an das ich mich erinnere, war, dass ich zwei verschiedene Hardwareprofile in XP einrichten musste. Es wurde wirklich verwirrt, als es in die falschen gebootet wurde.

Ich bin mir nicht sicher, wie aktuelle Aktivierungsprozesse auf das Schalten von Hardware reagieren würden. Das könnte einige Probleme verursachen ... (aber wenn Sie Windows nur als physische Maschine booten und Linux als VM / oder physische haben, würde dies das Problem lösen.)

Soweit ich mich erinnere, habe ich dies mit VMware Workstation gemacht. Das unterstützt definitiv das Booten von einer rohen Festplatte. Ich bin mir sicher, dass die MS-Version dies tut. Bei den Linux-VMs bin ich mir nicht so sicher, aber wenn nicht, wäre ich sehr überrascht.


Oh, Hardwareprofile ... Ich habe diese Funktion noch nie berührt. Die Lizenzierung würde es jetzt definitiv ruinieren.
sinni800

@ sinni800 Das war meine einzige Zeit , sie jemals verwendet, gemäß dieser noch existieren sie, sondern dem Fahrer - Kit als devconx64.exe bewegt
Michael B

Hardwareprofile wurden von Vista und späteren Windows-Systemen entfernt
ZAB

8

Interessanterweise ist es für Benutzer, die VMware Fusion auf einem Mac mit einer Windows-Bootcamp-Partition ausführen, möglich, eine virtuelle Maschine zu starten, die von der Bootcamp-Partition ausgeführt wird:

Mit VMware Fusion können Sie eine bereits installierte Boot Camp-Partition starten, ohne dass die Fähigkeit zum systemeigenen Booten beeinträchtigt wird. Auf diese Weise können Sie über Fusion von Mac OS aus auf eine Boot Camp-Partition zugreifen und Windows direkt neu starten und starten.

Beachten Sie jedoch:

Möglicherweise werden Sie aufgefordert, Windows erneut zu aktivieren, da das Betriebssystem unterschiedliche Hardware erkennt.

Quelle: VMware - Starten Sie Ihre Boot Camp-Partition in VMware Fusion


3
Sie empfehlen, zuerst die Tools zu installieren, damit beim Aktivierungsvorgang in beiden Situationen dieselbe "Hardware" angezeigt wird. Befolgen Sie die Anweisungen, da Sie sonst mit den Microsoft-Aktivierungsservern auf dem Telefon sprechen.
Thorbjørn Ravn Andersen

@ ThorbjørnRavnAndersen toller Rat - danke
Magma

7

Ich habe das gemacht . Es ist ziemlich nützlich, aber es gibt einige Einschränkungen, und das Einrichten ist nicht trivial.

  • Das native oder VM-Betriebssystem muss tolerant gegenüber der Hardware sein, auf der es ausgeführt wird. Die meisten Linux-Distributionen kümmern sich nicht darum und laufen nur auf irgendetwas, auf dem Sie sie booten, solange die CPU-Architektur übereinstimmt. Mit Windows läuft es nicht so reibungslos. Sie können auch Aktivierungs- / Lizenzierungsprobleme haben.

  • Unter Windows kann das Betriebssystem in einer virtuellen Maschine nicht gestartet werden, während die Partition auf dem Host bereitgestellt ist. Dies ist keine große Sache, da Sie in diesem Fall wahrscheinlich Linux in Windows booten möchten und Windows extohnehin keine Dateisysteme unterstützt .

  • Das Einstellen von Bootloadern ist schwierig. Sie benötigen eine separate Startkonfiguration für das Booten in der VM und für das native Booten. Ich habe Grub4DOS / NeoGrub als Bootloader der ersten Stufe beim nativen Booten verwendet. Dann konnte ich den Windows-Bootloader in einer Kette laden oder in Ubuntu booten. VM hatte ein kleines Laufwerk (wenige MB) mit höherer Priorität als das Hauptlaufwerk. Dieses Laufwerk enthielt manuell installiertes GRUB2, mit dem ich Ubuntu in VM bootete.

  • Ungewöhnliche Bootloader-Setups erfordern eine sorgfältige Aktualisierung. Zum Beispiel kann das Aktualisieren von GRUB unter Linux die Bootloader-Kette unterbrechen. Für die Aktualisierung innerhalb der VM muss diese manuell auf der Startpartition installiert werden.


0

Das ist ganz einfach möglich. Wenn Sie für jede Installation separate Festplatten verwenden!

Schauen Sie sich zum Beispiel hier um: http://www.serverwatch.com/server-tutorials/using-a-physical-hard-drive-with-a-virtualbox-vm.html - oder durchsuchen Sie die VirtualBox-Website (die nicht verfügbar ist) im Moment) für diese Keywords.

Ich benutze es, um auf meine Linux-Partition zugreifen zu können, wenn ich Windows-Arbeiten erledige, z. B. Adobe-Sachen oder andere Dinge, die unter Wine oder der Virtualisierung von Windows unter Linux nicht reibungslos funktionieren.

Außerdem greife ich häufig über Fernzugriff auf meinen Tower zu - und meine gesamte Linux-Festplatte ist verschlüsselt, während meine Windows-Festplatte nicht verschlüsselt ist und nur nicht vertrauliche Daten enthält. Also starte ich Windows (der Windows-Eintrag in GRUB ist vorgewählt), logge mich in Teamviewer ein, starte Virtualbox und dann meine Linux-Festplatte.

In dieser Richtung - Windows -> Virtualbox -> andere HD mit Linux -> ist es aufgrund der überragenden Hardwareerkennung recht einfach möglich, dass Linux, nämlich Ubuntu, im laufenden Betrieb unterstützt.

In der anderen Richtung werden Sie mit einem Durcheinander enden. Windows mag es nicht, jemals die Hardware zu ändern. Es könnte Ihr System durcheinander bringen, startet überhaupt nicht oder sagt Ihnen sogar, dass Ihre Lizenz nicht mehr gültig ist, weil zu viele Hardwareänderungen zu oft vorkommen.

Das heißt, Sie möchten Windows als vorausgewählten Starteintrag in GRUB behalten, achten aber wirklich darauf, dass Sie den richtigen Eintrag in GRUB auswählen, wenn es in Virtualbox ausgeführt wird. Wenn Sie Probleme mit Verzögerungen aus der Ferne haben, erhöhen Sie aus Sicherheitsgründen das Boot-Timeout in GRUB.

Hoffe das hat dir geholfen :)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.