Ich versuche unter Windows 7, eine virtuelle Maschine mit VMWare Player von einem Betriebssystem aus auszuführen, das auf einer physischen Partition installiert ist. Wenn ich jedoch die virtuelle Maschine starte, gibt VMWare Player an, dass sie zum Schreiben nicht auf das physische Laufwerk zugreifen konnte.
Dies scheint ein allgemein anerkanntes Problem in der VMWare-Community zu sein, da Windows Vista eine überzeugende neue Sicherheitsfunktion eingeführt hat , die es unmöglich macht, auf ein unformatiertes Laufwerk zu schreiben, ohne zuvor exklusiven Zugriff darauf zu erhalten.
Ich habe das Problem gegoogelt und einige Problemumgehungen gefunden. Allerdings ist die sauber diejenigen scheinen nur Arbeit auf ganzen physischen Datenträger und nicht auf Partitionen.
Also würde ich mit der schmutzigen Lösung zurückbleiben . Kurz gesagt, es mischt sich in den MBR ein, um alle Spuren der zu verwendenden Partitionen zu löschen, lässt Windows sie vergessen und stellt dann den MBR wieder her, damit wir die VM starten können.
Ich bin mir nicht sicher, ob ich das machen will. Gibt es eine Möglichkeit, VMWare exklusiven Zugriff auf die Partition zu ermöglichen, ohne dass ich sie entfernen muss? Ich würde wohl nach einer Möglichkeit suchen, nur Partitionen offline zu schalten, anstatt ganze physische Laufwerke.
Weitere Infos zum Kopfgeld.
Ich habe ein Dual-Boot-Setup: Mac OS ist mein primäres Betriebssystem, und ich habe auch Windows installiert. So viel ich Windows in einer virtuellen Maschine ausführen kann, wenn ich nicht neu starten möchte, möchte ich Mac OS in einer virtuellen Maschine ausführen können, wenn ich unter Windows bin.
Mein Ziel ist es, meine Mac OS-Hauptpartition unter VMWare unter Windows auszuführen, genau wie ich Windows unter VMWare Fusion ausführe. (Da dies mein Hauptbetriebssystem ist, habe ich nicht vor, den Kernel oder was auch immer zu patchen, damit er in einer virtuellen Maschine funktioniert.) Ich habe die virtuelle Maschine aus VMWare Fusion erstellt (da sie den VM-Typ "Mac OS X Server" hat ) verschob es dann nach Windows und änderte es von VMWare Player. Scheint fast zu funktionieren, da das Betriebssystem zum Ladebildschirm gelangt und die VM stirbt, weil sie nicht darauf zugreifen kann \\.\PhysicalDrive0
.
Virtual Box schlägt noch schwerer fehl, da es Mac OS im ausführlichen Modus startet und sehr schnell abstürzt (aber anscheinend auf die Partition zugreifen kann). Ich denke, es wäre einfacher, VMWare auf meine Partition zuzugreifen, als Virtual Box zum Laufen zu bringen es.
Auf der rechtlichen Seite würde ich eine Kopie von Mac OS X auf einem Apple-Computer ausführen, also bin ich in Ordnung.
Antworten:
Ich bin nur auf eine mögliche Lösung gestoßen , bei der der kostenlose Treiber für virtuelle Festplatten imdisk zusammen mit devio (Remote Drive Access and Acquisition) verwendet wird. Da imdisk ein Kerneltreiber ist, kann er möglicherweise auf die Partition schreiben. Da devio im Benutzermodus arbeitet, bin ich mir leider nicht sicher, ob dieser Ansatz für Sie funktioniert.
devio kann eine physische Partition erwerben und im Netzwerk veröffentlichen. Beispielsweise:
veröffentlicht von der ersten Festplatte die zweite Partition auf TCP-Port 9000 und wartet auf eine Verbindung auf diesem Port. Deaktivieren Sie die Firewall besser, während Sie dies testen, und führen Sie devio als Administrator aus.
Verwenden Sie Folgendes, um diese veröffentlichte Partition als neue und eigenständige Festplatte zu definieren:
Durch die Verwendung von localhost wird eine neue Festplatte mit dem Namen R erstellt, die keine Partition von irgendetwas ist. Sie können jetzt versuchen, ob Sie die vorgetäuschte echte Festplatte R in einer virtuellen VMware-Maschine verwenden können.
Dieser Ansatz wird in Devio: Remote Drive Access and Acquisition ausführlich erläutert .
Wenn dies nicht funktioniert, müssen Sie entweder:
quelle
Es hängt davon ab, wie verzweifelt Sie sind, um dies zum Laufen zu bringen, aber ich würde sagen, dass es mit "nur" zwei "einfachen" (sprich: brutalen) Schritten möglich ist:
Schreiben Sie einen Treiber, um die von Windows festgelegte Einschränkung zu umgehen, indem Sie das (halb -?) Dokumentierte Flag verwenden
SL_FORCE_DIRECT_WRITE
.Schließen Sie den
CreateFile
und / oderWriteFile
Anruf von VMWare mit einer Bibliothek wie EasyHook an (ich habe Ihnen gesagt, dass es einfach ist!), Um manuell mit der Datei mit Ihrem Treiber zu kommunizieren, möglicherweise mit dem Treiber überDeviceIoControl
.Es klingt eigentlich nicht so schlecht, wenn Sie wissen, wo Sie nach Informationen suchen müssen, um die Einschränkungen zu umgehen ... Ich habe Anwendungen wie Nero selbst angeschlossen, um
IOCTL_SCSI_PASS_THROUGH
Anrufe zu untersuchen , damit ich meine eigene CD-Brennerbibliothek erstellen kann, und dies wäre nicht zu schwierig; Das Schreiben eines Treibers ist der schwierigere Teil, aber überschaubar.Bearbeiten:
Ich vermute, Sie haben dies bereits herausgefunden, aber die Struktur, die Sie ändern müssen, heißt FLT_IO_PARAMETER_BLOCK für
IRP_MJ_READ
. Ich bin mir nicht sicher, wie einfach es sein wird, aber es sollte nicht zu schwer sein.quelle