Windows에서 물리적 파티션에 독점적으로 액세스 할 수있는 깨끗한 방법이 있습니까?


11

Windows 7에서 물리적 파티션에 설치된 OS에서 VMWare Player로 가상 컴퓨터를 실행하려고합니다. 그러나 가상 컴퓨터를 부팅 할 때 VMWare Player는 물리적 드라이브에 쓰기 위해 액세스 할 수 없다고 말합니다.

이것은 Windows Vista와 같이 VMWare 커뮤니티에서 일반적으로 인정되는 문제인 것 같습니다. 강력한 새로운 보안 기능 도입 따라서 원시 드라이브에 독점적으로 액세스하지 않고 원시 드라이브에 쓸 수 없습니다.

나는 문제를 봤어 몇 가지 해결 방법을 발견했다. 그러나, 그 깨끗한 그들 파티션이 아닌 전체 물리적 디스크에서만 작동하는 것처럼 보입니다.

그래서 나는 더러운 해결책 . 간단히 말해서, MBR에 간섭하여 사용할 파티션의 흔적을 지우고, Windows가 해당 파티션을 잊어 버린 다음 MBR을 복원하여 VM을 시작할 수 있습니다.

나는 그것을하고 싶지 않다. VMWare에서 파티션을 독점적으로 액세스 할 수있게 해주는 방법이 있습니까? 내가 원하는 것은 전체 물리적 드라이브 대신 파티션을 오프라인으로 만드는 방법입니다.


더 많은 정보 현상금과 관련이있다.

이중 부팅 설정이 있습니다. Mac OS가 기본 운영 체제이고 Windows도 설치되어 있습니다. 재부팅하고 싶지 않으면 가상 컴퓨터에서 Windows를 실행할 수있는만큼 Windows 기반의 가상 컴퓨터에서 Mac OS를 실행할 수 있어야합니다.

내 목표는 VMWare Fusion에서 Windows를 실행하는 것처럼 Windows에서 VMWare의 기본 Mac OS 파티션을 실행하는 것입니다. VMWare Fusion에서 가상 머신을 만들었습니다 ( "Mac OS X Server"VM 유형이 있기 때문에). ) 그런 다음 Windows로 이동하고 VMWare Player에서 수정했습니다. OS가 로딩 화면에 도착한 후 VM이 액세스 할 수 없기 때문에 거의 작동하지 않는 것 같습니다. \\.\PhysicalDrive0.

VirtualBox는 Mac OS를 자세한 모드로 시작하고 매우 빠르게 충돌하지만 (파티션에 액세스 할 수있는 것처럼 보임) VirtualHack을 실행하는 것보다 VMWare가 내 파티션에 액세스하는 것이 더 쉬울 것이라고 생각합니다. 그것.

합법적 인 측면에서 보면 Mac OS X의 사본 한 장을 Apple의 라벨이 부착 된 컴퓨터에서 실행할 수 있으므로 괜찮습니다.


재미있는 문제. 포맷되지 않은 공백 파티션을 만들면 작동합니까?
nhinkle

@nhinkle 내부 드라이브로 테스트 할 수있는 여분의 파티션 룸이 없습니다. 그러나, 내가 읽은 것으로부터 Windows는 인식 할 수있는 파티션을 잠글 것입니다. 마운트 포인트가없는 파일도 여전히 잠글 것이라고 확인할 수 있습니다.
zneak

@ zneak : 과거의 TrueCrypt에서 Windows 제한 사항을 해결하기 위해 사용했습니다. 자체 디스크 드라이버가 있기 때문에 디스크에 쓸 수 있습니다. 파티션을 TrueCrypt 가상 디스크로 만들면 어떨까요?
harrymc

@harrymc 나는 시도하지 않았다. 내 Mac OS 파티션을 암호화해야합니까?
zneak

파티션에 TrueCrypt 볼륨을 생성해야합니다 (모든 컨텐츠 손실). 방법을 보여줄 수도 있지만 TrueCrypt 도움말을 참조하십시오.
harrymc

답변:


5

무료 가상 디스크 드라이버를 사용하여 가능한 해결책을 찾아 왔습니다. imdisk devio (원격 드라이브 액세스 및 획득)와 함께. imdisk는 커널 드라이버이므로 파티션에 쓸 수 있습니다. 불행하게도, devio가 사용자 모드에서 작동하기 때문에,이 접근법이 당신에게 효과가 있을지 확신 할 수 없습니다.

devio는 물리적 파티션을 획득하여 네트워크에서 게시 할 수 있습니다. 예 :

devio -r 9000 \\.\PhysicalDrive0 2

첫 번째 디스크에서 두 번째 파티션을 TCP 포트 9000에 게시하고이 포트에서 연결을 기다립니다. 이를 테스트하는 동안 방화벽을 사용하지 않도록 설정하고 devio를 관리자로 실행하십시오.

이 게시 된 파티션을 새로운 독립 실행 형 하드 디스크로 정의하려면 다음을 사용하십시오.

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

localhost를 사용하면 R이라는 새로운 하드 디스크가 생성됩니다.이 하드 디스크는 아무 것도 아닌 파티션입니다. 이제 VMware 가상 시스템에서 실제 하드 디스크 R을 가장 할 수 있는지 여부를 시도 할 수 있습니다.

이 접근법은 Devio : 원격 드라이브 액세스 및 획득 .

그래도 작동하지 않으면 다음 중 하나를 수행해야합니다.

  1. MBR을 수정하는 위험한 솔루션을 수락하십시오.
  2. Windows 응용 프로그램을 통해 Mac 파티션의 파일을 사용하여 Win7 내에서 MacOS를 VM으로 사용하지 마십시오 (줄 끝 문자 문제 포함).
  3. 다음과 같은 가상 파일 시스템 제품을 사용하십시오. ELDOS 콜백 파일 시스템 , 비록 내가 이 문제가 당신에게 수 천 달러 가치가 있는지 의심하십시오.
  4. Windows 7을 포기하고 XP로 다운 그레이드하십시오.
  5. 수정 imdisk 소스 그래서 커널 드라이버로서 devio를 필요로하지 않고 물리적 파티션에 직접 척 디스크를 생성합니다.

제대로 수행되면 MBR을 편집하면 너무 큰 위협이 제기되어서는 안됩니다. 손상 될 경우에도 기본 OS 파티션이 아니므로 누가 신경 써야합니까? 쉽게 고칠 수 있습니다!
Breakthrough

@Breakthrough 두 OS가 같은 디스크에 있다는 사실을 놓친 것 같습니다.
zneak

@ zneak : @Breakthrough가 옳다고 생각합니다. 응급 상황에서 MBR을 저장하고 복원 할 수있는 몇 가지 프로그램이 있습니다.
harrymc

또한 기록을 위해 VMWare는 불행하게도 imdisk에서 가상 드라이브를 사용할 수 없습니다.
zneak

ImDisk가 NT 마운트 관리자와 올바르게 등록하지 않기 때문에 올바릅니다. IOCTL_MOUNTMGR_CREATE_POINT 제어 코드; 그 대신 드라이브 문자에 대한 심볼릭 링크를 직접 생성합니다. 물론 커널은 합법적 인 볼륨을 고려하지 않습니다. 이전에 작동하도록 시도했지만 많은 성공을 거두지 못했습니다. (ImDisk 볼륨을 사용하여 VHD를 마운트하는 것과 같은 이유입니다.)
Mehrdad

2

그것은 당신이이 일을 얼마나 절실히 필요로하는지에 달려 있지만, "단지"두 가지의 "쉬운"(읽기 : 잔인한) 단계가 가능하다고 말할 수 있습니다.

  1. Windows에서 설정 한 제한을 우회하는 드라이버를 작성하고 (semi?) 문서화 플래그 사용 SL_FORCE_DIRECT_WRITE.

  2. 후크 CreateFile 및 / 또는 WriteFile VMWare에서 라이브러리를 사용하여 호출 EasyHook (나는 쉬운 말을했다!) 파일을 사용하여 드라이버와 수동으로 통신하고, 아마도 DeviceIoControl.

제한을 우회하는 정보를 찾을 곳을 아는 경우 실제로 그렇게 나쁘지는 않습니다 ... 나는 Nero와 같은 응용 프로그램을 직접 들여다 보았습니다. IOCTL_SCSI_PASS_THROUGH 그래서 나는 자신의 CD 버너 라이브러리를 만들 수 있으며, 이것은 너무 어렵지 않을 것이다; 운전자를 작성하는 것이 어려운 부분이지만 관리가 쉽습니다.


편집하다:

이미 생각한 것 같지만 수정할 구조가 필요합니다. FLT_IO_PARAMETER_BLOCK ...에 대한 IRP_MJ_READ. 그것이 얼마나 쉬운 지 확신 할 수 없지만 너무 어렵지는 않습니다.


재미 있겠다. 나는 내일 그것을 들여다 볼 것이다.
zneak

@ zneak : 내 대답을 보면 imdisk가 이미 사용 가능한 오픈 소스 가상 디스크 드라이버입니다.
harrymc

@ Meerrdad 나는 아주 비슷한 문제가있다. 나를 도울 수 있겠 니? CreateFile : 관리자 권한이있는 경우에도 "액세스가 거부되었습니다."- Win7
Ali
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.