2016-11-03 11 views
0

내 온라인 Windows에서 GetWindowsDirectory을 사용하면 C : \ Windows와 같은 OS가 설치된 디렉토리를 얻을 수 있습니다.Windows PE에서 오프라인 Windows 드라이브 문자를 얻으려면 어떻게해야합니까?

Windows PE에서 동일한 기능을 사용하는 경우 X:\Windows (스크린 샷과 유사)이됩니다. 마녀는 Windows PE 자체에서 Windows 디렉토리를 의미합니다. 오프라인 Windows 디렉터리를 얻으려면 어떻게해야합니까? D:\Windows 또는 그 문자가 무엇이든간에

enter image description here

당신이 제안 할 수있는 모든 기능?

+0

'오프라인 Windows 디렉터리'는 무엇이라고 정의 할 수 있습니까? –

+0

뜻. Windows PE 환경에서 작은 OS 대신 Windows를 사용하면 다른 드라이브를 사용할 수 있습니다. 따라서 일반적으로 Windows 및 Program Files와 같은 모든 OS 폴더가있는 두 개의 드라이브가 있습니다. 실행중인 것이 아니라 오프라인 시스템에서 드라이브 또는 디렉토리를 가져와야합니다. –

+0

WinPE를 사용하여 화면이없는 x86 대상에 WIM 이미지를 배포하고 Windows 디렉터리가 X : \ Windows 가상 폴더를 가리키고 있습니다 ... 이것은 활성 OS입니다. –

답변

0

마운트 된 모든 볼륨을 나열하는 mountvol.exe이라는 유틸리티 (WinPE 및/또는 Windows에서 사용 가능)가 있습니다. 당신은 winpe 드라이브가 항상 x:이고 "오프라인"설치는 항상 (항상 그런 것은 아닙니다) d:에 마운트됩니다.

볼륨을 열거하기위한 Windows API가 있습니다 (FindFirstVolumeFindNextVolume). 여기에는 마운트되지 않은 볼륨이 포함되며 마운트되지 않은 볼륨에는 드라이브 문자를 할당 할 수 있습니다.

일단 볼륨 목록이 있으면 관심 대상인 "대상"볼륨인지 확인해야합니다. 볼륨 레이블 - \ Windows의 존재 여부 및/또는 bcd 데이터베이스를 사용하여 부트 가능한 볼륨을 판별하십시오. 그것은 사소한 것이 아니지만 가능합니다. bcd 데이터베이스는 실제로 읽기 전용으로 마운트 할 수있는 Windows 레지스트리 하이브이며, 정보를 빼내려는 작업입니다.

오프라인 볼륨이 마운트되지 않은 경우 (비정상적)에도 Windows API를 사용하여 볼륨 내용을 검사 할 수 있지만 \\?\ 접두사와 volumeID (드라이브 문자 대신)를 사용해야합니다. 볼륨을 마운트하는 것이 더 쉽습니다.

진정한 오프라인 볼륨을 찾을 수없는 경우 실제 디스크가 있는지 확인하십시오. 그렇지 않은 경우 특정 하드 드라이브 용 드라이버를 winPE 이미지에 추가해야 할 수 있습니다. 일반적으로 드라이브를 사용하는 실행중인 OS에서 이러한 파일을 가져올 수 있습니다. 드라이버 저장소에서 드라이버를 복사하려면 DISM에 /addDriver 하위 명령이 있습니다. 여러분은 .wim을 구축중인 컴퓨터의 기존 드라이버 저장소를 가리키고있는 경우가 많습니다.