Próbuję w systemie Windows 7 uruchomić maszynę wirtualną z VMWare Player z systemu operacyjnego zainstalowanego na partycji fizycznej. Jednak gdy uruchamiam maszynę wirtualną, VMWare Player mówi, że nie mógł uzyskać dostępu do dysku fizycznego w celu zapisu.
Wydaje się, że jest to powszechnie uznany problem w społeczności VMWare, ponieważ system Windows Vista wprowadził nową, atrakcyjną funkcję bezpieczeństwa, która uniemożliwia zapis na dysku surowym bez uprzedniego uzyskania do niego wyłącznego dostępu.
Poszukałem problemu i znalazłem kilka obejść. Jednak czyste te wydają się tylko pracy na całych dysków fizycznych, a nie na partycje.
Więc zostałbym z brudnym rozwiązaniem . Krótko mówiąc, wtrąca się w MBR, aby usunąć wszelkie ślady używanych partycji, sprawia, że Windows zapomina o nich, a następnie przywraca MBR, abyśmy mogli uruchomić maszynę wirtualną.
Nie jestem pewien, czy chcę to zrobić. Czy istnieje sposób, aby umożliwić VMWare uzyskanie wyłącznego dostępu do partycji bez konieczności odszukiwania go? Przypuszczam, że to, czego szukałem, to sposób na wyłączenie tylko partycji zamiast całych fizycznych dysków.
Więcej informacji związanych z nagrodą.
Mam konfigurację podwójnego rozruchu: Mac OS jest moim głównym systemem operacyjnym i mam również zainstalowany system Windows. O ile mogę uruchomić system Windows na maszynie wirtualnej, jeśli nie chcę restartować, chciałbym móc uruchomić system Mac OS na maszynie wirtualnej, gdy jestem pod Windows.
Moim celem jest uruchomienie mojej głównej partycji Mac OS z VMWare pod Windows, tak jak ja uruchamiam Windows z VMWare Fusion. (Ponieważ jest to mój główny system operacyjny, nie planuję łatać jądra ani nic takiego, aby działało ono na maszynie wirtualnej). Stworzyłem maszynę wirtualną z VMWare Fusion (ponieważ ma ona typ maszyny wirtualnej „Mac OS X Server” ), a następnie przeniósł go do systemu Windows i zmodyfikował z VMWare Player. Wydaje się prawie działać, ponieważ system operacyjny przechodzi do ekranu ładowania, a następnie maszyna wirtualna umiera, ponieważ nie może uzyskać dostępu \\.\PhysicalDrive0
.
Virtual Box zawiesza się jeszcze bardziej, ponieważ uruchamia Mac OS w trybie gadatliwym i bardzo szybko ulega awarii (ale wydaje się, że jest w stanie uzyskać dostęp do partycji), więc myślę, że łatwiej byłoby uzyskać dostęp do VMWare do mojej partycji niż uruchomienie Virtual Boxa to.
Po stronie prawnej uruchomiłbym jedną kopię Mac OS X na jednym komputerze Apple, więc nic mi nie jest.
źródło
Odpowiedzi:
Natknąłem się tylko na jedno możliwe rozwiązanie, używając darmowego imdisku sterownika dysku wirtualnego wraz z devio (zdalny dostęp i akwizycja dysku). Ponieważ imdisk jest sterownikiem jądra, może być w stanie pisać na partycji. Niestety, ponieważ devio działa w trybie użytkownika, nie jestem zbyt pewien, czy to podejście będzie dla ciebie skuteczne.
devio może uzyskać partycję fizyczną i opublikować ją w sieci. Na przykład:
publikuje z pierwszego dysku drugą partycję na porcie TCP 9000 i czeka na połączenie na tym porcie. Lepiej wyłącz zaporę podczas testowania tego i uruchom devio jako administrator.
Aby zdefiniować tę opublikowaną partycję jako nowy i autonomiczny dysk twardy, użyj:
który za pomocą localhost utworzy nowy dysk twardy o nazwie R, który nie jest partycją czegokolwiek. Możesz teraz spróbować sprawdzić, czy możesz użyć udawanego prawdziwego dysku twardego R na maszynie wirtualnej VMware.
Podejście to wyjaśniono szczegółowo w Devio: Zdalny dostęp do dysku i akwizycja .
Jeśli to nie zadziała, albo musisz:
źródło
To zależy od tego, jak bardzo jesteś zdesperowany, aby to zadziałać, ale powiedziałbym, że jest to możliwe dzięki „tylko” dwóm „łatwym” (czytaj: brutalnym) krokom:
Napisz sterownik, aby ominąć ograniczenia ustawione przez system Windows, używając udokumentowanej flagi (pół -?)
SL_FORCE_DIRECT_WRITE
.Podłącz
CreateFile
i / lubWriteFile
wywołanie z VMWare za pomocą biblioteki takiej jak EasyHook (mówiłem, że to proste!), Aby ręcznie komunikować się z plikiem ze sterownikiem, być może komunikując się ze sterownikiem za pomocąDeviceIoControl
.Właściwie to nie brzmi tak źle, jeśli wiesz, gdzie szukać informacji na temat omijania ograniczeń ... Sam podłączyłem aplikacje takie jak Nero, aby sprawdzić
IOCTL_SCSI_PASS_THROUGH
połączenia, aby móc stworzyć własną bibliotekę nagrywarki CD, i to nie byłoby zbyt trudne; napisanie sterownika będzie trudniejszą częścią, ale wykonalną.Edytować:
Zgaduję już zdobione ten, ale struktura trzeba zmodyfikować nazywa FLT_IO_PARAMETER_BLOCK dla
IRP_MJ_READ
. Nie jestem pewien, jakie to będzie łatwe, ale nie powinno być zbyt trudne.źródło