Windows altında fiziksel bir bölüme özel erişim elde etmenin temiz bir yolu var mı?


11

Windows 7 altında, fiziksel bir bölüme yüklü bir işletim sisteminden VMWare Player ile sanal bir makine çalıştırmaya çalışıyorum. Ancak, sanal makineyi önyüklediğimde, VMWare Player yazma için fiziksel sürücüye erişemediğini söylüyor.

Bu, VMWare topluluğunda genel olarak kabul görmüş bir sorun gibi görünüyor, çünkü Windows Vista, ilk önce ona özel erişim elde etmeden ham sürücüye yazmayı imkansız kılan çekici yeni bir güvenlik özelliği tanıttı .

Sorunu araştırdım ve birkaç geçici çözüm buldum. Bununla birlikte, temiz olanlar sadece fiziksel disklerde çalışır, bölümlerde değil.

Kirli bir çözüme bırakılırdım . Kısacası, kullanılacak bölümlerin izlerini silmek için MBR ile uğraşır, Windows'un bunları unutmasını sağlar, ardından VM'yi başlatabilmemiz için MBR'yi geri yükler.

Bunu yapmak istediğimden emin değilim. VMWare'in, bölümden ayrılmamı gerektirmeden bölüme özel erişim elde etmesine izin vermenin bir yolu var mı? Aradığım şey, tüm fiziksel sürücüler yerine yalnızca bölümleri çevrimdışı duruma getirmenin bir yoludur.


Ödülle ilgili daha fazla bilgi .

Çift önyükleme kurulumum var: Mac OS birincil işletim sistemim ve Windows da yüklü. Yeniden başlatmak istemiyorsam Windows'u sanal bir makinede çalıştırabildiğim kadarıyla, Windows altındayken Mac OS'u sanal bir makinede çalıştırabilmek istiyorum.

Amacım ana Mac OS bölümümü, tıpkı Windows VMWare Fusion'dan çalıştırdığım gibi Windows altında VMWare'den çalıştırmak. (Bu benim ana işletim sistemim olduğu için, çekirdeği yamalamayı veya sanal bir makinede çalışmasını sağlamak için ne varsa planlamıyorum.) Sanal makineyi VMWare Fusion'dan oluşturdum ("Mac OS X Server" VM türüne sahip olduğu için) ) daha sonra Windows'a taşıdı ve VMWare Player'dan değiştirdi. İşletim sistemi yükleme ekranına geldiğinde ve VM erişemediği için öldüğü için neredeyse işe yarıyor gibi görünüyor \\.\PhysicalDrive0.

Virtual Box, Mac OS'u ayrıntılı modda başlattığından ve çok hızlı bir şekilde çöktüğünden (ancak bölüme erişebiliyor gibi görünüyor) daha da başarısız oluyor, bu yüzden VMWare'i sanal kutuyu çalıştırmaktan daha kolay bölüştürmek daha kolay olacağını düşünüyorum o.

Yasal olarak, bir Apple etiketli makinede Mac OS X'in bir kopyasını çalıştırıyorum, bu yüzden iyiyim.


İlginç bir sorun. Boş, biçimlendirilmemiş bir bölüm oluşturursanız çalışır mı?
nhinkle

@nhinkle Dahili diskimde test edebileceğim yedek bir bölüm odam yok. Ancak, okuduğum kadarıyla, Windows tanıdığı herhangi bir bölümü kilitleyecek gibi görünüyor; ve montaj noktası olmayanları da kilitleyeceğini doğrulayabilirim.
Aralık'ta zneak

@zneak: Geçmiş TrueCrypt'te Windows kısıtlamaları üzerinde çalışmak için kullandım. Kendi disk sürücüsüne sahip olduğundan, diske yazabilir. Neden bir TrueCrypt sanal diskinde bölüm oluşturmayı denemiyorsunuz?
harrymc

@harrymc Denemedim. Mac OS bölümümü şifrelemem gerekir mi?
zneak

Bölümde bir TrueCrypt birimi oluşturmanız gerekir (tüm içeriği kaybedersiniz). Bu , nasıl yapılacağını göstermeye yardımcı olabilir, ancak TrueCrypt yardımına da bakın.
harrymc

Yanıtlar:


5

Devio (uzaktan sürücü erişimi ve edinimi) ile birlikte ücretsiz sanal disk sürücüsü imdisk'i kullanarak sadece bir olası çözümle karşılaştım . İmdisk bir çekirdek sürücüsü olduğundan, bölüme yazabilir. Ne yazık ki, devio kullanıcı modunda çalıştığından, bu yaklaşımın sizin için işe yarayıp yaramayacağından emin değilim.

devio fiziksel bir bölüm alabilir ve bunu ağda yayınlayabilir. Örneğin:

devio -r 9000 \\.\PhysicalDrive0 2

TCP 9000 numaralı bağlantı noktasında ilk diskteki ikinci bölümü yayımlar ve bu bağlantı noktasında bağlantı bekler. Bunu test ederken güvenlik duvarını daha iyi devre dışı bırakın ve devio'yu yönetici olarak çalıştırın.

Yayınlanan bu bölümü yeni ve tek başına bir sabit disk olarak tanımlamak için şunu kullanın:

imdisk -a -t proxy -o ip -f 127.0.0.1 -m R:

localhost kullanarak R adında yeni bir sabit disk oluşturur ki bu da hiçbir şeyin bölümü değildir. Artık sanal sanal makinede gerçek sabit disk R'yi kullanıp kullanamayacağınızı deneyebilirsiniz.

Bu yaklaşım Devio: Uzaktan sürücü erişimi ve edinimi bölümünde ayrıntılı olarak açıklanmaktadır .

Bu işe yaramazsa, aşağıdakileri yapmanız gerekir:

  1. MBR'yi değiştiren tehlikeli bir çözümü kabul edin.
  2. Windows uygulamaları aracılığıyla Mac satırındaki dosyaları kullanarak (satır sonu karakter sorunlarıyla) Win7 içinde MacOS'u VM olarak kullanmayı bırakın.
  3. ELDOS Geri Arama Dosya Sistemi gibi bir Sanal Dosya Sistemi ürünü kullanın , ancak bu sorunun sizin için birkaç bin dolar değerinde olduğundan şüphe duyuyorum.
  4. Windows 7'yi terk edin ve XP'ye düşürün.
  5. Değiştir imdisk kaynağını bir çekirdek sürücüsü olarak o devio gerek kalmadan, fiziksel bölümü doğrudan bir hayali diski yaratacak şekilde yerleştirin.

Düzgün yapılırsa, MBR'yi düzenlemek çok büyük bir tehdit oluşturmamalıdır. Bozulmuş olsa bile, birincil işletim sistemi bölümü değil, kimin umurunda? Kolayca düzeltebilirsiniz!
Atılım

@Breakthrough Her iki işletim sisteminin de aynı diskte olduğu gerçeğini kaçırdığınızı düşünüyorum.
zneak

@zneak: Bence @Breakthrough doğru - MBR'yi kaydedip daha sonra acil olarak geri yükleyebilen birkaç program var.
harrymc

Ayrıca, sadece kayıt için, VMWare ne yazık ki imdisk'ten bir sanal sürücü kullanamıyor.
zneak

ImDisk, IOCTL_MOUNTMGR_CREATE_POINT kontrol kodunu kullanarak NT Mount Manager'a doğru bir şekilde kaydetmediği için bu doğru ; bunun yerine doğrudan sürücü harfi için sembolik bir bağlantı oluşturur ve tabii ki çekirdek bunu meşru bir birim olarak görmez. Daha önce işe yaramaya çalıştım, ama pek başarılı olamadım. (Örneğin, bir VHD'yi monte etmek için bir ImDisk birimini kullanamamanızın nedeni de budur.)
user541686

2

Bu çalışmayı elde etmek için ne kadar umutsuz olduğunuza bağlıdır, ancak "sadece" iki "kolay" (okuma: acımasız) adımlarla bunun mümkün olduğunu söyleyebilirim:

  1. (Yarı -) belgelenmiş bayrağı kullanarak Windows tarafından belirlenen kısıtlamayı atlamak için bir sürücü yazın SL_FORCE_DIRECT_WRITE.

  2. Kanca CreateFileve / veya WriteFilebenzeri bir kütüphane kullanılarak VMWare gelen çağrıyı EasyHook (Kolay olduğunu söylemiştim!) Sürücünüzde elle dosya ile iletişim kurmak için, belki de sürücü kullanarak iletişim DeviceIoControl.

Aslında bu kulağa kötü gelmiyor, kısıtlamaları atlamak için nerede bilgi arayacağınızı biliyorsanız ... IOCTL_SCSI_PASS_THROUGHKendi CD yazıcı kütüphanemi yapabilmem için aramaları incelemek için Nero gibi uygulamaları bağladım ve bu çok zor olmazdı; bir sürücü yazmak daha zor, ama yönetilebilir.


Düzenle:

Ben zaten bu out düşündüm tahmin ediyorum, ancak değiştirmeniz gereken yapı denir FLT_IO_PARAMETER_BLOCK için IRP_MJ_READ. Ne kadar kolay olacağından emin değilim, ama çok zor olmamalı.


Kulağa eğlenceli geliyor. Yarın bu konuya bakacağım.
Ocak'ta

@zneak: Cevabıma bakarsanız, imdisk neredeyse istediğinizi yapan açık kaynaklı bir sanal disk sürücüsüdür.
harrymc

@Mehrdad Çok benzer bir sorunum var, bana yardım eder misin? CreateFile: Yönetici ayrıcalıklarıyla bile “Erişim reddedildi” - Win7
Ali
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.