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 설치 프로그램 지시 하는 응답 파일을 사용 하 여 컴퓨터를 일반화 하 여 드라이버 구성을 유지 관리 합니다.
응답 파일을 사용 하 여 드라이버 구성을 유지 하려면
기술자 컴퓨터에서 Windows 시스템 이미지 관리자 (Windows SIM)를 엽니다. 시작을 클릭 하 고 Windows 시스템 이미지 관리자를 입력 한 다음 Windows 시스템 이미지 관리자를 선택 합니다.
새 응답 파일을 만들거나 기존 응답 파일을 업데이트 합니다. 자세한 내용은 응답 파일 만들기 또는 열기 및 응답 파일 제작을 위한 모범 사례를 참조 하세요.
Microsoft Windows-PnpSysprep/persistalldeviceinstalls 설정을 추가 합니다. 자세한 내용은이 항목의 개요 섹션을 참조 하세요.
컴퓨터에 검색할 하드웨어가 없는 경우 Microsoft-Windows-PnpSysprep/DoNotCleanUpNonPresentDevices 설정을 포함 합니다. 자세한 내용은이 항목의 감지할 가능성이 없는 하드웨어 섹션을 참조 하십시오.
응답 파일을 사용 하 여 컴퓨터를 일반화 합니다. 예를 들면 다음과 같습니다.
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 설정을 사용 하는 이미지에 장치 드라이버를 추가 해야 하는 경우 다음 방법 중 하나를 사용 하 여 장치 드라이버를 업데이트할 수 있습니다.
DISM (배포 이미지 서비스 및 관리) 도구 또는 무인 응답 파일 등의 오프 라인 서비스 도구를 사용 합니다. 자세한 내용은 오프 라인 Windows 이미지에 드라이버 추가 및 제거를 참조 하세요.
무인 응답 파일과 같은 온라인 서비스 방법 또는 도구를 사용 합니다. 자세한 내용은 Audit 모드에서 온라인으로 드라이버 추가를 참조 하세요.
하드웨어 구성 차이점 문제 해결
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 장치 설정 클래스 중 하나에 속할 수 있습니다.