Saya mencoba, di bawah Windows 7, untuk menjalankan mesin virtual dengan VMWare Player dari OS yang diinstal pada partisi fisik. Namun, ketika saya mem-boot mesin virtual, VMWare Player mengatakan bahwa ia tidak dapat mengakses drive fisik untuk menulis.
Ini tampaknya menjadi masalah yang diakui secara umum di komunitas VMWare, karena Windows Vista memperkenalkan fitur keamanan baru yang meyakinkan yang membuatnya tidak mungkin untuk menulis ke drive mentah tanpa mendapatkan akses eksklusif terlebih dahulu.
Saya telah menelusuri masalah ini dan menemukan beberapa solusi. Namun, bersih yang tampaknya hanya bekerja pada disk fisik secara keseluruhan, dan bukan pada partisi.
Jadi saya akan dibiarkan dengan solusi kotor . Singkatnya, itu campur tangan dengan MBR untuk menghapus jejak partisi yang akan digunakan, membuat Windows melupakannya, kemudian mengembalikan MBR sehingga kita dapat meluncurkan VM.
Saya tidak yakin ingin melakukan itu. Apakah ada cara untuk membiarkan VMWare mendapatkan akses eksklusif ke partisi tanpa mengharuskan saya untuk membatalkannya? Apa yang saya cari, saya kira, adalah cara untuk menempatkan hanya partisi offline daripada seluruh drive fisik.
Lebih banyak info terkait dengan hadiah.
Saya memiliki pengaturan dual-boot: Mac OS adalah sistem operasi utama saya, dan saya telah menginstal Windows juga. Sebanyak yang saya bisa menjalankan Windows di mesin virtual jika saya tidak ingin reboot, saya ingin dapat menjalankan Mac OS di mesin virtual ketika saya di bawah Windows.
Tujuan saya adalah menjalankan partisi Mac OS utama saya dari VMWare di Windows, sama seperti saya menjalankan Windows dari VMWare Fusion. (Karena ini adalah OS utama saya, saya tidak berencana untuk menambal kernel atau apa pun untuk membuatnya bekerja di mesin virtual.) Saya membuat mesin virtual dari VMWare Fusion (karena memiliki jenis VM "Mac OS X Server" VM ) kemudian memindahkannya ke Windows dan memodifikasinya dari VMWare Player. Tampaknya hampir berfungsi, karena OS sampai ke layar memuat dan kemudian VM mati karena tidak dapat mengakses \\.\PhysicalDrive0
.
Virtual Box gagal lebih keras, karena ia memulai Mac OS dalam mode verbose dan crash sangat cepat (tetapi tampaknya dapat mengakses partisi), jadi saya pikir akan lebih mudah untuk mendapatkan VMware mengakses partisi saya daripada membuat Virtual Box dijalankan Itu.
Di sisi hukum, saya akan menjalankan satu salinan Mac OS X pada satu mesin berlabel Apple, jadi saya baik-baik saja.
Jawaban:
Saya telah menemukan hanya satu solusi yang mungkin, menggunakan im disk driver virtual gratis bersama dengan devio (akses dan akuisisi remote drive). Karena imdisk adalah driver kernel, ia mungkin dapat menulis ke partisi. Sayangnya, karena devio berfungsi dalam mode pengguna, saya tidak terlalu yakin apakah pendekatan ini akan berhasil untuk Anda.
devio dapat memperoleh partisi fisik dan menerbitkannya di jaringan. Sebagai contoh:
tidak mempublikasikan dari disk pertama partisi kedua pada port TCP 9000, dan akan menunggu koneksi pada port ini. Nonaktifkan firewall lebih baik saat menguji ini, dan jalankan devio sebagai administrator.
Untuk mendefinisikan partisi yang diterbitkan ini sebagai hard disk baru dan berdiri sendiri, gunakan:
yang menggunakan localhost akan membuat hard disk baru bernama R yang bukan partisi apa pun. Anda sekarang dapat mencoba apakah Anda dapat menggunakan hard disk R nyata dalam mesin virtual VMware.
Pendekatan ini dijelaskan secara rinci dalam Devio: Akses dan akuisisi drive jarak jauh .
Jika ini tidak berhasil, Anda harus:
sumber
Itu tergantung pada seberapa putus asa Anda membuat ini bekerja, tetapi saya akan mengatakan bahwa itu mungkin, dengan "hanya" dua "mudah" (baca: brutal) langkah-langkah:
Tulis driver untuk memintas batasan yang ditetapkan oleh Windows, menggunakan bendera (semi -?) Yang didokumentasikan
SL_FORCE_DIRECT_WRITE
.Kaitkan
CreateFile
dan / atauWriteFile
panggil dari VMWare menggunakan pustaka seperti EasyHook (saya bilang itu mudah!) Untuk berkomunikasi dengan file secara manual dengan driver Anda, mungkin berkomunikasi dengan driver menggunakanDeviceIoControl
.Sebenarnya tidak terdengar seburuk itu, jika Anda tahu di mana mencari informasi untuk melewati batasan ... Saya sendiri sudah mengaitkan aplikasi seperti Nero untuk memeriksa
IOCTL_SCSI_PASS_THROUGH
panggilan sehingga saya bisa membuat perpustakaan CD burner saya sendiri, dan ini tidak akan terlalu sulit; menulis driver akan menjadi bagian yang lebih sulit, tetapi dapat dikelola.Edit:
Saya kira Anda sudah menemukan ini, tetapi struktur yang perlu Anda modifikasi disebut FLT_IO_PARAMETER_BLOCK untuk
IRP_MJ_READ
. Tidak yakin seberapa mudahnya, tetapi seharusnya tidak terlalu sulit.sumber