다음을 통해 공유


GenImage를 사용하여 유효성 검사 OS 이미지 사용자 지정(고급)

GenImage는 시나리오에 정확히 유효성 검사 OS 이미지를 생성하는 유연하고 사용자 지정이 가능한 명령줄 인터페이스를 제공합니다. 유효성 검사 OS Image Builder는 GenImage를 사용하지만 편리하지만 다소 제한된 UI 기반 워크플로를 위해 추상화 계층을 만듭니다. GenImage는 유효성 검사 OS 이미지 작성기 UI에 노출되는 것보다 훨씬 더 많은 기능을 사용할 수 있으며, 이 섹션에서는 완전히 사용자 지정 가능한 유효성 검사 OS 이미지 생성의 미묘한 차이를 자세히 설명합니다.

참고 항목

  • 완전 사용자 지정 이미지는 임의의 사용자 지정 패키지 목록을 사용하여 만든 유효성 검사 OS 이미지로 인해 작동하지 않는 운영 체제가 발생할 수 있음을 의미합니다.

  • GenImage는 Visual Studio 솔루션 템플릿을 생성하지 않습니다.

전체 프로세스

유효성 검사 OS 이미지를 만드는 전체 프로세스는 다음과 같습니다.

  1. 유효성 검사 OS ISO 파일을 기술자 PC 파일 시스템의 특정 위치에 탑재합니다.

  2. 관리자 권한 명령 프롬프트를 시작하고 폴더로 <ISO_ROOT>:\cabs 이동합니다.

  3. [선택 사항] 유효성 검사 OS 이미지에 드라이버를 추가합니다.

  4. [선택 사항] 사용자 지정 기능 구성 파일을 만듭니다.

  5. [선택 사항] 원하는 주문형 기능 또는 패키지를 유효성 검사 OS 이미지에 추가합니다.

  6. [선택 사항] 유효성 검사 OS 이미지에서 레지스트리 키를 설정/재정의합니다.

  7. [선택 사항] 유효성 검사 OS 이미지에 사용자 지정 이진 파일/애플리케이션을 포함합니다.

  8. [선택 사항] 유효성 검사 OS 이미지의 표준 시간대를 설정합니다.

미리 정의된 기능 패키지

유효성 검사 OS ISO에는 폴더에 미리 정의된 기능 패키지 정의가 <ISO_ROOT>:\GenImage\configs 포함되어 있습니다. 이러한 .pkg 파일은 텍스트 편집기에서 열어 콘텐츠를 검사할 수 있습니다. 이러한 파일의 맨 위 섹션에는 특정 기능에 대한 자세한 정보가 포함되어 있습니다.

사용자 지정 기능 패키지 만들기

유효성 검사 OS ISO에 제공된 미리 정의된 기능 패키지 정의가 지정된 시나리오에 적합하지 않은 경우 미리 정의된 .pkg 파일에 있는 것과 동일한 사용자 친화적인 형식에 따라 사용자 지정 기능 패키지를 쉽게 정의할 수 있습니다.

  1. 이후의 # 모든 항목은 주석으로 간주됩니다.

  2. 파일 확장명 없이 패키지당 한 줄(.cab) 이름입니다. 이러한 택시는 (해당하는 경우) 아래에 <ISO_ROOT>:\cabs\neutral 일치하는 언어 패키지 아래에 <ISO_ROOT>:\cabs\en-us 있습니다.

  3. +include <package_name>.<ext> 형식을 사용하여 포함할 다른 기능 정의에 대한 참조입니다.

포함된 패키지는 사용자 지정 패키지 정의 파일과 동일한 디렉터리에 상주하거나 아래의 유효성 검사 OS ISO<ISO_ROOT>:\GenImage\configs의 일부로 제공된 파일 중 .pkg 하나일 수 있습니다.

참고 항목

포함된 패키지에 대한 파일 경로를 지정할 필요가 없습니다.

  1. wow64 버전의 패키지를 구성 파일에 추가할 필요가 없습니다. GenImage는 존재하는 경우 패키지의 wow 버전을 자동으로 포함합니다.

참고 항목

패키지(.cab)가 파일의 중복 항목을 통해 또는 포함된 기능 정의를 통해 여러 번 나열되는 경우 GenImage는 이 패키지를 한 번만 적용합니다.

Important

일부 기능에는 패키지 간(cab-to-cab) 종속성이 있습니다. 즉, 모든 필수 패키지가 포함되지 않는 한 생성된 유효성 검사 OS 이미지가 작동하지 않습니다. 이러한 종속성은 GenImage에서 적용할 수 없으므로 사용자 지정 기능 정의를 사용할 때 작동하지 않거나 부분적으로 작동하는 유효성 검사 OS 이미지를 생성할 수 있습니다.

기본 이미지 지정(-ImagePath-ImageFile)

명령줄 매개 변수를 -ImageFile: 사용하여 기본 유효성 검사 OS 이미지의 이름을 제공할 수 있습니다.

제공된 유효성 검사 OS ISO 파일로 작업하는 경우 GenImage가 기본값 ValidationOS.wim으로 설정되므로 이 매개 변수를 건너뛸 수 있습니다.

명령줄 매개 변수를 -ImagePath: 사용하여 기본 유효성 검사 OS 이미지에 대한 경로를 제공할 수 있습니다.

제공된 유효성 검사 OS ISO 파일을 사용하는 경우 GenImage가 기본적으로 ISO의 탑재 루트로 설정되므로 이 매개 변수를 건너뛸 수 있습니다.

기능 포함(-PackagesList:)

-PackagesList: 명령줄 인수를 사용하면 구성 파일의 경로를 제공하여 하나 이상의 미리 정의된 또는 사용자 지정 기능을 사용할 수 있습니다.

여러 .pkg 파일을 지정할 때 이 매개 변수를 여러 번 사용합니다.

-PackagesList:<file1> -PackagesList:<file2> [...]

또는 다음 구문을 사용합니다.

-PackagesList:"<file1>,<file2>[,...]"

후자 형식을 사용하는 경우 쉼표로 구분된 목록이 큰따옴표로 묶여 있는지 확인하세요.

-PackageList 및 '-PkgLst: -PackagesList의 별칭입니다.

GenImage는 -PackagePath: 명령줄 매개 변수로 재정의되지 않는 한 주문형 패키지를 <ISO_ROOT>:\cabs\neutral <ISO_ROOT>:\cabs\en-us찾고 있습니다.

기능 정의를 사용하지 않고 주문형 패키지 포함(-Packages:)

명령줄 매개 변수를 -Packages: 사용하여 사용자 지정된 유효성 검사 OS 이미지에 포함할 주문형 패키지 이름의 쉼표로 구분된 목록을 제공할 수 있습니다. 목록은 큰따옴표로 묶어야 합니다.

패키지의 wow64 변형을 추가해도 GenImage에서 처리되므로 매개 변수를 사용하여 -Packages: 지정할 필요가 없습니다.

패키지 이름의 길이 때문에 매개 변수를 사용하여 -Packages: 매우 긴 명령줄을 쉽게 빌드할 수 있으므로 여러 패키지를 추가하기 위한 사용자 지정 기능 정의를 만드는 것이 좋습니다. 사용자 지정 기능 정의에 대한 자세한 내용은 사용자 지정 기능 패키지 만들기를 참조하세요.

기본 패키지 위치 재정의(-PackagePath)

명령줄 매개 변수를 -PackagePath: 사용하여 주문형 유효성 검사 OS 패키지에 대한 경로를 제공할 수 있습니다. 제공된 경로 아래에는 해당하는 주문형 패키지 파일(해당하는 경우 wow 버전 포함)을 포함하는 중립 및 en-us 디렉터리를 포함해야 합니다.

유효성 검사 OS ISO에서 GenImage를 실행하는 경우 GenImage가 기본값 <ISO_ROOT>:\cabs으로 지정되므로 이 매개 변수를 건너뛸 수 있습니다.

유효성 검사 OS 이미지에 .inf 드라이버 추가(-Drivers: / -DriversOnly)

-Drivers: 명령줄 매개 변수를 사용하여 드라이버의 디바이스별 리포지토리에 대한 경로를 제공할 수 있습니다. GenImage는 지정된 경로 아래에 모든 드라이버를 재귀적으로 추가합니다.

명령줄 매개 변수 아래에 <WinVOS_Root>\Drivers\<my_device>, 드라이버가 -HW:<my_device> 구조화된 경우 바로 가기로 사용하여 해당 드라이버를 포함할 수 있습니다. WinVOS_Root 대한 자세한 내용은 "사용자 지정된 유효성 검사 OS 이미지의 경로 지정"을 참조하세요.

드라이버가 사용자 지정된 유효성 검사 OS 이미지에 포함되면 GenImage는 기능 패키지를 자동으로 추가하여 <ISO_ROOT>\GenImage\configs\usb.pkg 드라이버에 가장 기본적인 클래스 드라이버가 작동하도록 합니다. 그러나 명령줄 스위치를 -SkipDeviceFeatures 사용하면 이 동작이 재정의됩니다.

-DriversOnly 명령줄 스위치를 사용하면 기능이나 개별 패키지를 포함하지 않고 드라이버를 더할 수 있습니다.

유효성 검사 OS 이미지 부팅 대상 선택(-x)

사용자 지정된 유효성 검사 OS WIM 이미지는 두 가지 사용 시나리오를 대상으로 생성할 수 있습니다. 즉, 이미지를 대상 디바이스의 내부 하드 드라이브에 직접 적용하거나(C:에서 부팅) 생성된 .wim 파일을 사용하여 WinPE USB 드라이브의 boot.wim을 대체합니다(X:에서 부팅).

두 시나리오를 모두 수용하기 위해 ISO 루트의 기본 ValidationOS.wim 배송에는 두 개의 파티션이 포함됩니다. 파티션 1은 C:로 복구와 호환되는 데 사용되고 파티션 2는 USB(X:에서 부팅) 시나리오를 지원합니다.

기본적으로 GenImage는 대상 컴퓨터의 내부 하드 드라이브(C:에서 부팅)에서 복구할 ValidationOS.wim을 생성합니다.

명령줄 매개 변수를 -x 사용하여 X: 시나리오에서 부팅할 USB 드라이브를 지원하는 이미지를 생성할 수 있습니다.

참고: -usb 매개 변수의 별칭입니다 -x .

이미지에 사용자 지정 파일 포함(-AddedSW-AddedSWTargetDir)

명령줄 매개 변수에 지정된 경로 아래의 -AddedSW: 모든 파일은 사용자 지정된 유효성 검사 OS 이미지로 복사됩니다. 기본적으로 이 경로의 내용은 폴더 아래에 <WIM_ROOT>:\Programs\<folder>복사됩니다. 여기서 폴더는 포함할 폴더의 이름입니다. 예를 들어 -AddedSW:D:\Test\MyFiles <WIM_ROOT>:\Programs\MyFiles.

-AddedSW 를 여러 번 지정하여 다른 위치를 가리킬 수 있습니다.

명령줄 매개 변수를 -AddedSWTargetDir: 사용하여 사용자 지정된 유효성 검사 OS 이미지를 사용하여 대상 위치를 재정의할 수 있습니다.

명령줄 스위치를 -NoPackages 사용하여 이미 사용자 지정된 유효성 검사 OS 이미지를 처리하고 파일을 별도의 단계로 추가할 수 있습니다.

레지스트리 변경(-RegistryImport:)

명령줄 매개 변수를 -RegistryImport: 사용하여 표준 Windows 레지스트리 편집기 버전 5.00 .reg 파일을 사용자 지정된 유효성 검사 OS 이미지에 적용할 수 있습니다.

명령줄 스위치를 -NoPackages 사용하여 이미 사용자 지정된 유효성 검사 OS 이미지를 처리하고 레지스트리를 별도의 단계로 사용자 지정할 수 있습니다.

표준 시간대 변경(-TimeZone:)

명령줄 매개 변수를 -TimeZone: 사용하여 사용자 지정된 유효성 검사 OS 이미지의 표준 시간대를 수정할 수 있습니다. 제공된 문자열은 유효한 Windows 표준 시간대여야 합니다. 그렇지 않으면 GenImage가 실패합니다.

사용자 지정된 유효성 검사 OS 이미지의 경로 지정(-OutPath: / -WinVOS_Root:)

탑재된 유효성 검사 OS ISO에서 GenImage를 실행하면 기본적으로 해당 출력(및 모든 중간 콘텐츠)이 디렉터리(예: C:\WinVOS\out\240116-1242)로 C:\WinVOS\out\<date>-<time> 생성됩니다. 이 동작은 변경할 수 있지만 명령줄 매개 변수 또는 명령줄 매개 변수를 -OutPath: -WinVOS_Root: 사용합니다. 이 두 가지의 차이점은 다음과 같습니다.

-OutPath: 는 정확한 출력 위치를 지정하므로 사용자 지정된 유효성 검사 OS WIM 및 모든 중간 콘텐츠가 이 디렉터리 아래에 만들어집니다.

Important

GenImage의 후속 실행에 동일한 -OutPath: 기능을 사용하면 예기치 않은 부작용이 발생할 수 있습니다.

-WinVOS_Root: 는 지정된 디렉터리 아래에 하위 폴더를 만듭니 out\<date>-<time> 다.

임시 파일 또는 .wim 파일이 탑재된 상태로 충돌하는 문제를 방지하는 대신 사용하는 -WinVOS_Root: -OutPath: 것이 좋습니다.

기본적으로 GenImage는 처리를 위해 WIM을 탑재하는 데 사용합니다 -OutPath: . 명령줄 매개 변수를 -MountDir: 사용하여 이 중간 탑재 지점의 위치를 재정의할 수 있습니다.

잠재적으로 고정된 탑재된 WIM 정리(-CleanUp)

GenImage가 중단되거나 탑재된 WIM이 중단 -CleanUp 된 경우 명령줄 매개 변수를 사용하여 자동 클린up을 시도할 수 있습니다.

이 매개 변수는 자체적으로만 사용할 수 있습니다.

이미지 처리 확인 건너뛰기(-NoWait)

명령줄 매개 변수를 -NoWait 사용하여 이미지 생성 옵션을 표시하고 이미지 처리를 계속한 후 확인을 건너뛸 수 있습니다.

자세한 정보 출력

명령줄 매개 변수를 -v 사용하여 GenImage의 로깅 수준을 자세한 정보로 변경할 수 있습니다.

이 스위치를 사용하면 많은 출력이 생성되며 표준을 파일로 리디렉션하는 것이 좋습니다.

스크립트 사용량 표시

명령줄 매개 변수를 -h 사용하여 스크립트 사용 정보를 표시할 수 있습니다.

-?-help 대한 별칭입니다. -h

GenImage 예제

유효성 검사 OS ISO가 탑재되었다고 가정하면 J:사용자 지정된 유효성 검사 OS WIM을 생성하는 몇 가지 예는 다음과 같습니다.

ISO 기본값을 사용하여 드라이버가 없는 멀티미디어 기능 추가

J:\GenImage>GenImage.cmd -PackagesList:J:\GenImage\configs\multimedia.pkg

ISO 기본값을 사용하여 드라이버에서 멀티미디어 및 Wi-Fi 기능 추가, 확인 건너뛰기

드라이버가 아래에 배치되어 있다고 가정합니다. D:\Drivers\MyDevice

J:\GenImage>GenImage.cmd -PackagesList:J:\GenImage\configs\multimedia.pkg -PackagesList:J:\GenImage\configs\wifi.pkg -drivers:D:\Drivers\MyDevice -NoWait

... 또는...

J:\GenImage>GenImage.cmd -PackagesList:"J:\GenImage\configs\multimedia.pkg,J:\GenImage\configs\wifi.pkg" -drivers:D:\Drivers\MyDevice -NoWait

이전에 사용자 지정된 WIM을 사용하여 드라이버 없이 프로비저닝 기능 추가

J:\GenImage>GenImage.cmd -PackagesList:J:\GenImage\configs\provisioning.pkg -ImagePath:C:\WinVOS\out\240116-1530

드라이버로 디버그 기능 추가 및 Python 포함

Python이 추출되고 드라이버가 아래에 D:\Staging\Python 배치되었다고 가정합니다. D:\Drivers\MyDevice

J:\GenImage>GenImage.cmd -PackagesList:J:\GenImage\configs\debug.pkg -ImagePath:J:\ -Drivers:D:\Drivers\MyDevice -AddedSW:D:\Staging\Python

GenImage.cmd 전체 사용

GenImage.cmd 여러 사용자 지정 시나리오를 지원하기 위해 고도로 사용자 지정할 수 있습니다. 다음은 몇 가지 사용 예와 함께 사용하는 매개 변수의 전체 목록입니다.

            [-Packages:|-PackagesList:|-DriversOnly|-NoPackages]
            [-Drivers:|-HW]
            [-WinVOS_Root:] [-MountDir:]
            [-wim|-vhd|-vhdx] [-usb|-x] [-inc]
            [-TimeZone:]
            [-AddedSW: [-AddedSWTargetDir:]]
            [-RegistryImport:] [-StartupCommand:]
            [-NoWait] [-v]
            NOTE: Running From ISO: [YES]
            -?|-h|-help This screen

-ImageFile:                             <file_name> File name of the image file to be processes.
                                        Defaults to ValidationOS.wim
                                        -wim, -vhd and -vhdx are ignored

-ImagePath:<file_path>                  Path to the image file to be processed.
                                        Default/Current: [J:\]

-PackagePath:<path>                     Path to the cab files to be added to the image.
                                        Defaults to J:\cab or J:\Packages

                                        Neutral and localized packages are placed into their respective
                                        folders under "cab": "neutral" and "en-us".

-OutPath:<path>                         Location of the generated image
                                        Default/Current: [C:\WinVOS\out\240116-1640]

-Packages:<list>                        Comma or space separated list of packages.
                                        Use double quotes around the list.

-PackagesList|PackageList|PkgLst:<file> Use a text file to specify which 
                                        packages will be added to the image
                                        One package name per line, use # for comments

-NoPackages                             Do not include any packages

-DriversOnly                            Do not include any packages, add drivers only
                                        Requires specifying either -Drivers or -HW, but not both

-Drivers:<path>                         Path to drivers
                                        If neither -HW nor -Drivers are not specified
                                        no drivers will be added to the image.
                                        If -HW was used defaults to C:\WinVOS\Drivers\%HW%

-HW:<hardware>                          Hardware variant used for driver installation.
                                        If neither -HW nor -Drivers are specified, no
                                        drivers will be added to the image.

                                        The value specified for this parameter will be appended
                                        to [C:\WinVOS\Drivers]

-SkipDeviceFeatures                     Do NOT automatically include USB support when
                                        drivers are added to the image

-WinVOS_Root:<path>                     Root of the directory structure to process
                                        Default/Current: [C:\WinVOS]

-MountDir:<path>                        Path to mount the image to for processing
                                        Default/Current: C:\WinVOS\out\240116-1640\mnt

-wim                                    Assume the image is a wim file
                                        This is default extension unless -ImageFile, -vhd(x) are specified.

-vhd|-vhdx                              Assume the image is a vhdx file
                                        .wim is default extension unless -ImageFile is specified.

-usb|-x                                 Assume USB boot and set the image index to 2 during mount
                                        Default image index is 1

-TimeZone:<time zone>                   Sets the time zone of the image to the specified value.
                                        NOTE: The validity of this setting is not checked.

-AddedSW:<path>                         Files and folders under path will be copied into the
                                        generated image.

                                        Default target location is \Programs, can be overriden with
                                        -AddedSWTargetDir

-AddedSWTargetDir:<path>                Target - in image - path to copy the contents specified by AddedSW.
                                        Default is \Programs

-RegistryImport:<file>                  Path the a .reg file to be imported into the generated image.
                                        This file can multiple hives under HKLM. Supported hives:
                                        COMPONENTS DEFAULT DRIVERS SAM SECURITY SOFTWARE SYSTEM

-StartupCommand:<file>                  Path the an executablefile to be used as the ValidationOS Shell
                                        On boot this file will be executed first. If the file does not spawn
                                        a new CMD window, the shell will be this new executable.

-inc|-incremental                       Do not restore the package from backup

-CleanUp                                Clean up lingering mounted images.
                                        Will attempt to clean up the mounted into /MountDir.
                                        If /MountDir is not specified it will attempt to clean up
                                        any corrupted and/or prevously mounted images.

                                        NOTE: Not using /MountDir with /Cleanup is a drastic cleaup tactic.

-NoWait                                 Don't pause after displaying image generation settings.

-v                                      Verbose logging

Examples:

* Add all packages in the default "cab" folder under the default package path [J:\cabs] to the default image
  file [ValidationOS.wim] under the default path [J:\] without including drivers:

    GenImage

* Add all packages under the "cab" folder to a ValidationOS.wim and include the drivers for "SP6"

    GenImage -ImageFile:ValidationOS.wim -ImagePath:C:\WinVOS\release\25108.1001.220429-1329\amd64fre -HW:SP6

* Add packages specified in custom.pkg under the "cab" folder to a ValidationOS.vhdx without including drivers:

    GenImage -ImagePath:C:\WinVOS\release\25108.1001.220429-1329\amd64fre -vhdx -PackagesList:custom.pkg

* Incrementally add "Microsoft-WinVOS-NetFx45-Package" to ValidationOS.wim. The package is located in "cab" under the specified image path folder.

    GenImage -inc -ImageFile:ValidationOS.wim -ImagePath:C:\WinVOS\release\25108.1001.220429-1329\amd64fre -Packages:"Microsoft-WinVOS-NetFx45-Package" 

이미지 만들기에 일치하는 버전의 dism 도구 집합을 사용하는 방법에 대한 참고 사항

탑재된 ISO에서 GenImage.cmd 실행하는 경우 스크립트는 GenImage.cmd 함께 ISO에 제공되는 dism.exe 사용하는 것을 선호합니다. 이는 제공된 ValidationOS.wim 및 선택적 패키지를 만드는 데 사용되는 도구 버전과 일치하므로 이미지 조작 작업에 권장되는 dism 버전입니다.

(실험적) WWAN 지원 추가

주의

이것은 매우 제한된 지원을 가진 실험적 기능입니다.

유효성 검사 OS는 AT 명령을 통해 모뎀과의 상호 작용을 제공하기 위해 WWAN에 대한 초기 지원을 도입했습니다.

두 개의 패키지를 이미지 컴퍼지션 Microsoft-WinVOS-WWAN-Package Microsoft-WinVOS-PnP-Settings에 추가해야 합니다.

이 시나리오는 GenImage에서 지원되지 않으므로 유효성 검사 OS ISO에 제공된 dism.exe 사용하여 패키지를 적용해야 합니다. 기술자 컴퓨터의 프로세서 아키텍처(예: AMD64)에서 dism.exe <ISO_ROOT>:\GenImage\Tools\DISM\%PROCESSOR_ARCHITECTURE% PROCESSOR_ARCHITECTURE 사용해야 합니다.