it-swarm.com.de

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

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.

60
Wauzl

Es ist möglich , ja, und es muss nicht unbedingt langsamer sein, da es heutzutage keine Emulation ist mehr, es ist Virtualisierung - die meisten CPUs unterstützen hardwaregestützte Virtualisierung (VT-x und so), aber auch ohne diese , VirtualBox hat 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).


Ich bin mir jedoch nicht ganz sicher, wie dies in VirtualBox geschehen soll. Ich denke, Sie müssen eine spezielle .vdi-Datei mit vboxmanage erstellen, die auf die reale Datei verweist Trennwand? Ich habe auch keine Ahnung, wie der Bootloader in einer solchen Situation funktioniert.

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

58
grawity

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

Wenn Sie /dev/sda2 in 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 einem 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.).

28
LawrenceC

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 für verschiedene Installationen zu benötigen.

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 nicht sicher, wie aktuelle Aktivierungsprozesse auf das Umschalten der Hardware reagieren würden. Das könnte durchaus zu Problemen führen ... (Wenn Sie Windows jedoch nur als physischen Computer starten und Linux als VM/oder physischen Computer verwenden, 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.

19
Michael B

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 Ihrer Boot Camp-Partition in VMware Fusion

8
magma

Ich habe das getan . 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 können Sie das Betriebssystem in einer virtuellen Maschine nicht booten, während deren 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 ext-Dateisysteme sowieso nicht unterstützt.

  • Das Einstellen von Bootloadern ist schwierig. Sie benötigen eine separate Startkonfiguration für das Booten in 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 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 innerhalb der VM bootete.

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

7
gronostaj

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

Schauen Sie hier zum Beispiel: http://www.serverwatch.com/server-tutorials/using-a-physical-hard-drive-with-a-virtualbox-vm.html - oder suchen Sie auf der VirtualBox-Website (die gerade nicht erreichbar ist) nach diesen Schlüsselwörtern.

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 vorausgewä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 beibehalten, achten jedoch 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 Startzeitlimit in GRUB.

Hoffe das hat dir geholfen :)

0
Markus