Windows 이미지를 캡처할 때 드라이버 구성 유지

시스템에서 제공 하는 장치 설치 클래스 ClassGUID

System

{4D36E97D-E325-11CE-BFC1-08002BE10318}

Computer

{4D36E966-E325-11CE-BFC1-08002BE10318}

프로세서

{50127DC3-0F36-415E-A6CC-4CB3BE910B65}

PCMCIA

{4D36E977-E325-11CE-BFC1-08002BE10318}

HDC

{4D36E96A-E325-11CE-BFC1-08002BE10318}

SCSIAdapter

{4D36E97B-E325-11CE-BFC1-08002BE10318}

DiskDrive

{4D36E967-E325-11CE-BFC1-08002BE10318}

CDROM

{4D36E965-E325-11CE-BFC1-08002BE10318}

FDC

{4D36E969-E325-11CE-BFC1-08002BE10318}

FloppyDisk

{4D36E980-E325-11CE-BFC1-08002BE10318}

볼륨

{71A27CDD-812A-11D0-BEC7-08002BE2092F}

USB

{36FC9E60-C465-11CF-8056-444553540000}

SBP2

{D48179BE-EC20-11D1-B6B8-00C04FA372A7}

1394

{6BDD1FC1-810F-11D0-BEC7-08002BE2092F}

Enum1394

{C459DF55-DB08-11D1-B009-00A0C9081FF6}

Keyboard

{4D36E96B-E325-11CE-BFC1-08002BE10318}

마우스

{4D36E96F-E325-11CE-BFC1-08002BE10318}

HIDClass

{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}

포트

{4D36E978-E325-11CE-BFC1-08002BE10318}

이러한 장치 설치 클래스에 대 한 자세한 내용은 MSDN의 시스템 제공 장치 설정 클래스 를 참조 하세요.

감지할 않는 하드웨어

최종 사용자에 게 새 컴퓨터를 배포 하는 경우 이동식 장치 또는 켜기/끄기 스위치가 있는 장치와 같은 일부 하드웨어는 첫 번째 부팅 중에 없거나 검색 되지 않을 수 있습니다. 기본적으로 처음 부팅 시 Windows 설치 프로그램는 검색 되지 않는 하드웨어에 대해 미리 구성 된 장치 상태를 제거 합니다.

첫 번째 부팅에서 제공 되거나 검색 되지 않을 수 있는 하드웨어를 배포 하려면 참조 이미지에 해당 하는 장치 드라이버를 추가 하 고, Windows에서 설치할 수 있도록 해당 장치를 연결 하거나 설정 하 고, 이미지를 캡처할 때 Microsoft-Windows-PnpSysprep/DoNotCleanUpNonPresentDevices 설정을 사용 합니다.

중요DoNotCleanUpNonPresentDevices 설정을 사용 하면 불필요 한 장치 상태가 불필요 하 게 저장 되 고 더 느린 부팅 시간이 발생할 수 있습니다.

드라이버 충돌 문제 해결

독립 부팅에 중요 한 드라이버 패키지 간의 드라이버 충돌을 방지 하려면 IHV에서 각 장치 드라이버가 서로 다른 서비스 이름, 레지스트리 키 값 및 이진 파일 이름을 사용 하는지 확인 해야 합니다.

잠재적 드라이버 충돌의 예

다음 예제에서 Fabrikam 이라는 가상의 IHV는 StandardController 및 ExtremeController의 두 가지 유형의 저장소 컨트롤러를 생성 합니다. Fabrikam은 특정 컴퓨터에 한 번에 한 가지 유형의 저장소 컨트롤러만 설치 한다고 가정 합니다.

드라이버 패키지는 동일한 드라이버 서비스 이름인 storctrl을 사용 하도록 StandardController 및 ExtremeController 구성을 정의 합니다. Storctrl driver service는 설치 된 하드웨어 (StandardController 또는 ExtremeController)에 따라 변경 되는 서로 다른 서비스 설정을 사용 합니다. StandardController와 ExtremeController는 모두 동일한 서비스를 사용 하므로 공존할 수 없습니다.

이 샘플은 드라이버 패키지 파일의 콘텐츠를 표시 합니다.

[Version]
Signature = "$WINDOWS NT$"
Class = SCSIAdapter
ClassGuid = {4D36E97B-E325-11CE-BFC1-08002BE10318}
...
[Manufacturer]
%Fabrikam% = Fabrikam,NTx86

[Fabrikam.NTx86]
%StandardController% = StandardController_DDInstall,PCI\VEN_ABCD&DEV_0001
%ExtremeController%  = ExtremeController_DDInstall, PCI\VEN_ABCD&DEV_0002

...

[StandardController_DDInstall.Services]
AddService = storctrl,0x00000002,StandardController_ServiceInstall

[StandardController_ServiceInstall]
ServiceType  = 1 ; SERVICE_KERNEL_DRIVER
StartType    = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ImagePath    = %12%\storctrl.sys
AddReg       = StandardController_ServiceSettings

[StandardController_ServiceSettings]
HKR,Settings,LowPowerMode,0x00010001,1
HKR,Settings,ErrorCorrection,0x00010001,1

...

[ExtremeController_DDInstall.Services]
AddService = storctrl,0x00000002,ExtremeController_ServiceInstall

[ExtremeController_ServiceInstall]
ServiceType  = 1 ; SERVICE_KERNEL_DRIVER
StartType    = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ImagePath    = %12%\storctrl.sys
AddReg       = ExtremeController_ServiceSettings

[ExtremeController_ServiceSettings]
HKR,Settings,LowPowerMode,0x00010001,0
HKR,Settings,ErrorCorrection,0x00010001,4
...

StandardController가 참조 컴퓨터에 있고 해당 설정이 이미지 캡처 중에 유지 되는 경우 storctrl driver service는 미리 구성 됩니다. ExtremeController가 대상 컴퓨터에 있는 경우 Windows는 standardcontroller 용으로 미리 구성 된 설정 및 파일을 사용할 수 있습니다. 이로 인해 예기치 않은 결과가 발생할 수 있습니다.

IHV는 다음 옵션 중 하나를 사용 하 여 충돌을 해결 하는 데 도움이 될 수 있습니다.

  • 각 구성 마다 별도의 .inf 파일을 포함 하는 별도의 드라이버 패키지를 만들고 배포 중에 Windows 이미지에 필요한 드라이버 패키지만 가져옵니다. 예를 들어 storctrl. i n t 1은 두 개의 개별 .inf 파일, standardcontroller의 경우 한 가지 버전, ExtremeController의 경우 하나의 버전, 필요한 드라이버 패키지만 Windows 이미지에 가져옵니다.
  • 각 구성에 대해 드라이버 패키지에 다른 서비스를 만듭니다. 각 서비스에 다른 이름 (예: storctrl 및 storctrlx)을 지정 하 고 다른 이진 이미지 파일을 가리킵니다 (예: Storctrl.sys 및 Storctrlx.sys).

장치 드라이버 및 배포 개요

일반적인 배포 시나리오는 참조 컴퓨터에서 단일 Windows 이미지를 캡처한 다음 동일한 하드웨어 구성이 있는 대상 컴퓨터 그룹에 이미지를 적용 하는 것입니다.

설치 하는 동안 시간을 절약 하 고 최종 사용자를 위해 OOBE (첫 실행 경험)를 가속화 하기 위해 Windows 설치 프로그램에 Windows 이미지의 일부로 참조 컴퓨터에서 드라이버 구성을 유지 하도록 지시할 수 있습니다. 참조 컴퓨터의 하드웨어와 대상 컴퓨터의 하드웨어가 동일한 경우에만이 작업을 수행 해야 합니다. 이 작업을 수행 하는 경우 Windows 설치 프로그램는 이미지 캡처 및 배포 중에 드라이버 구성을 유지 관리 합니다.

Windows 설치 프로그램 지시 하 여 드라이버 구성 유지

이미지를 캡처하기 전에 Windows 설치 프로그램 지시 하는 응답 파일을 사용 하 여 컴퓨터를 일반화 하 여 드라이버 구성을 유지 관리 합니다.

응답 파일을 사용 하 여 드라이버 구성을 유지 하려면

  1. 기술자 컴퓨터에서 Windows 시스템 이미지 관리자 (Windows SIM)를 엽니다. 시작을 클릭 하 고 Windows 시스템 이미지 관리자를 입력 한 다음 Windows 시스템 이미지 관리자를 선택 합니다.

  2. 새 응답 파일을 만들거나 기존 응답 파일을 업데이트 합니다. 자세한 내용은 응답 파일 만들기 또는 열기응답 파일 제작을 위한 모범 사례를 참조 하세요.

  3. Microsoft Windows-PnpSysprep/persistalldeviceinstalls 설정을 추가 합니다. 자세한 내용은이 항목의 개요 섹션을 참조 하세요.

  4. 컴퓨터에 검색할 하드웨어가 없는 경우 Microsoft-Windows-PnpSysprep/DoNotCleanUpNonPresentDevices 설정을 포함 합니다. 자세한 내용은이 항목의 감지할 가능성이 없는 하드웨어 섹션을 참조 하십시오.

  5. 응답 파일을 사용 하 여 컴퓨터를 일반화 합니다. 예를 들면 다음과 같습니다.

    Sysprep /generalize /unattend:C:\unattend.xml
    

개요

Windows 기본 제공 드라이버 패키지에는 널리 사용 되는 다양 한 하드웨어를 지 원하는 장치 드라이버가 포함 되어 있습니다. 특정 하드웨어에서 부팅 하려면 추가 장치 드라이버를 요구 하는 경우 Windows 이미지에 추가 장치 드라이버를 사전 설치할 수 있습니다. Ihv (독립 하드웨어 공급 업체)는 종종 장치 하드웨어와 함께 이러한 추가 장치 드라이버를 제공 합니다. 장치 드라이버를 추가 하는 방법에 대 한 자세한 내용은 감사 모드에서 온라인으로 드라이버 추가를 참조 하세요.

여러 컴퓨터에 배포할 Windows 이미지를 준비 하려면 시스템 준비 (Sysprep) 도구를 사용 하 여 Windows 이미지를 일반화 해야 합니다. Windows 이미지를 일반화 하면 컴퓨터 관련 정보가 제거 되 고 첫 번째 부팅을 위한 장치 드라이버가 준비 됩니다. 이러한 준비 작업에는 다음 단계가 포함 됩니다.

  • 하드웨어에 대 한 장치 상태가 제거 됩니다.

  • 부팅에 중요 한 드라이버 설정은 기본값으로 다시 설정 됩니다.

  • 장치 로그 파일이 삭제 됩니다.

컴퓨터를 일반화 하는 경우 시간을 절약 하기 위해 Microsoft Windows-PnpSysPrep \persistalldeviceinstalls 설정이 포함 된 응답 파일을 사용 합니다. 이 설정은 Windows 설치 프로그램 동일한 하드웨어에 대 한 장치 상태를 제거 하 고 다시 구성 하는 것을 방지 합니다. 처음 부팅 시 검색 된 장치 드라이버는 미리 구성 되어 있으며, 잠재적으로 빠른 첫 부팅 환경을 가능 하 게 합니다.

중요 참조 컴퓨터의 하드웨어 및 하드웨어 구성이 대상 컴퓨터의 하드웨어와 동일 하지 않은 경우에는 Persistalldeviceinstalls 설정을 사용 하지 마십시오. 하드웨어 또는 하드웨어 구성의 사소한 차이로 인해 심각 하거나 쉽게 간과 되는 문제가 발생할 수 있습니다. 자세한 내용은이 항목의 하드웨어 구성 차이점 문제 해결 섹션을 참조 하세요.

기본 참조 이미지에 Persistalldeviceinstalls 설정을 사용 하지 않는 것이 좋습니다. 대신, 하드웨어 구성이 다른 각 컴퓨터 그룹에 대해 먼저 기본 참조 이미지를 계획 된 하드웨어 구성이 있는 새 참조 컴퓨터에 로드 합니다. 그런 다음이 설정의 새 이미지를 캡처하고 Persistalldeviceinstalls 설정을 사용 합니다.

Windows 이미지를 일반화 하는 방법에 대 한 자세한 내용은 Sysprep (일반화) Windows 설치를 참조 하세요.

드라이버 수정 버전 및 드라이버 순위에 대 한 모범 사례

동일한 이미지에 동일한 드라이버 패키지의 여러 버전 또는 수정 버전을 유지 하지 않습니다. 오프 라인 또는 온라인 서비스 도구를 사용 하 여 드라이버를 업데이트 합니다.

일반적으로 Windows 설치 프로그램 컴퓨터를 부팅할 때 드라이버 패키지의 여러 버전이 해당 컴퓨터에 존재 하는 경우 설치 프로그램에서 드라이버 순위를 사용 하 여 설치할 드라이버를 결정 합니다. 그러나 Persistalldeviceinstalls 설정을 사용 하는 경우 일반적인 드라이버 순위 프로세스는 발생 하지 않습니다. 따라서 오래 된 드라이버를 사용 하는 장치는 설치 된 상태로 남아 있을 수 있습니다. 드라이버 순위에 대 한 자세한 내용은 MSDN에서 Windows 순위 드라이버 순위 를 참조 하세요.

Persistalldeviceinstalls 설정을 사용 하는 이미지에 장치 드라이버를 추가 해야 하는 경우 다음 방법 중 하나를 사용 하 여 장치 드라이버를 업데이트할 수 있습니다.

하드웨어 구성 차이점 문제 해결

Persistalldeviceinstalls 설정이 제대로 작동 하려면 참조 컴퓨터와 대상 컴퓨터에서 하드웨어 구성이 동일 해야 합니다. 하드웨어 구성에는 다음 구성 요소가 포함 됩니다.

  • 하드웨어 제조업체 및 모델.

  • 펌웨어입니다. 업데이트, 수정 및 구성 차이로 인해 일부 장치는 장치 드라이버와 일치 하는 다른 조건을 보고 하거나 다른 리소스를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

    • PCI (주변 구성 요소 상호 연결) – 기반 장치는 보고 된 하드웨어 id에 다른 하위 시스템 수정 번호를 포함할 수 있습니다.

    • BIOS 수정 버전은 ACPI (고급 구성 및 전원 인터페이스) 네임 스페이스를 변경할 수 있습니다. 이로 인해 Windows 설치 프로그램 기존 장치를 다르게 보고 하거나 기존 장치를 새 장치로 도입할 수 있습니다.

    • BIOS 시스템 구성 차이로 인해 시스템 장치에서 다른 메모리, i/o, DMA (직접 메모리 액세스) 또는 IRQ (인터럽트 요청) 리소스를 요구할 수 있습니다.

  • 실제 위치입니다. 하드웨어 구성에서 외부 장치에 연결 하려면 동일한 슬롯, 포트 또는 소켓 번호를 사용 해야 합니다. 예를 들면 다음과 같습니다.

    • PCI 확장 카드는 동일한 슬롯 번호에 삽입 되어야 합니다.

    • USB 장치는 동일한 USB 호스트 컨트롤러 및 통합 허브에 있는 동일한 포트 번호에 연결 되거나 유선으로 연결 되어야 합니다.

    • Storage 장치는 동일한 저장소 컨트롤러 및 채널에 연결 되어야 합니다.

하드웨어 구성의 위험 수준 낮음, 위험 수준 높음 및 높은 위험 수준 차이

Persistalldeviceinstalls 설정을 사용 하는 경우 하드웨어 차이로 인해 문제가 발생할 수 있습니다. 하지만 일부 차이점은 다른 것 보다 문제를 일으킬 가능성이 높습니다.

낮은 위험 차이점

다음과 같은 유형의 하드웨어 차이를 해결 하기 위해 잠재적인 드라이버 충돌을 해결할 수 있으며 여전히 Persistalldeviceinstalls 설정을 사용할 수 있습니다.

  • CPU 클럭 속도

  • 메모리 양

  • 하드 디스크 용량

  • 키보드 및 마우스 장치와 같은 외부 입력 장치

  • 모니터

보통 위험 차이점

다음 유형의 하드웨어 차이점을 보려면 Persistalldeviceinstalls 설정을 사용 하지 않는 것이 좋습니다.

  • 비디오 카드

  • 옵티컬 드라이브 및 카드 판독기와 같은 Storage 드라이브 및 미디어 판독기

  • USB 또는 1394 장치와 같은 내부 또는 통합 버스 장치

이러한 유형의 하드웨어 차이가 있는 경우이 설정을 사용 하면 잠재적인 드라이버 충돌을 해결 하는 경우에도 설치 시간이 단축 되지 않을 수 있습니다.

위험 수준이 높은 차이점

주요 하드웨어 차이점을 보려면 Persistalldeviceinstalls 설정을 사용 하지 마세요. 이러한 차이점에는 다음이 포함됩니다.

  • 마더보드 칩셋 또는 CPU 브랜드

  • 스토리지 컨트롤러

  • 데스크톱에서 노트북으로 또는 랩톱에서 바탕 화면으로 변경 하는 것과 같은 폼 팩터 차이점

  • 키보드 레이아웃 차이점 (표준 101 키 키보드에서 일본어 106 키 키보드로 변경)

  • Windows 부팅 볼륨의 열거 경로에 있는 다른 모든 장치

하드웨어 구성 변경으로 발생할 수 있는 문제 유형

하드웨어 또는 하드웨어 구성의 사소한 차이로 인해 다음과 같은 문제를 심각 하거나 쉽게 간과 시킬 수 있습니다.

  • 시스템 불안정

  • 장치의 기본 또는 확장 기능 중 일부를 사용할 수 없음

  • 확장 부팅 시간 및 확장 된 설치 시간

  • 장치 및 프린터 폴더, 장치 관리자 및 기타 장치 관련 사용자 인터페이스의 Misnamed 장치

  • 컴퓨터를 부팅 불가능 한 상태로 유지 하는 심각한 시스템 문제

시스템 부팅 오류를 일으킬 수 있는 하드웨어 구성 차이점

참조 컴퓨터 및 대상 컴퓨터에서 부팅에 중요 한 하드웨어가 동일 하지 않은 경우 Persistalldeviceinstalls 설정을 사용 하면 컴퓨터를 부팅할 수 없는 상태로 둘 수 있는 심각한 시스템 문제가 발생할 수 있습니다.

부팅에 중요 한 드라이버 패키지는 드라이버 패키지에서 .inf 파일의 버전 > 섹션에 있는 classguid 지시어에 의해 식별 되는 다음 Windows 장치 설정 클래스 중 하나에 속할 수 있습니다.