wiki:opsi/winpe

Version 8 (modified by joergs, 4 weeks ago) (diff)

--

WinPE

Used to install Windows >= 7 with OPSI.

Gernal Information about WinPE at http://en.wikipedia.org/wiki/Windows_Preinstallation_Environment

Preparing WinPE from Linux

The (excellent) OPSI documentation describes at length, how to prepare a full OS Windows installation (see https://download.uib.de/opsi4.1/documentation/html/en/opsi-getting-started-v4.1/opsi-getting-started-v4.1.html#opsi-getting-started-firststeps-osinstall-fill-base-packages-nt6).

This can be archived quicker, especially, the preparing WinPE can be done directly on the Linux OPSI server, instead of using Windows and the need to install Windows ADK (or formerly WAIK):

Have your Windows installation ISO available. We assume, it is named /tmp/Win10_x64.iso.

#
# Variables. Adapt them to your needs.
#
WINDOWS_ISO=/tmp/Win10_x64.iso
PROD=win10-x64

#
# install required software
#
sudo apt install wimtools syslinux p7zip-full
# CentOS/SUSE: yum install wimtools syslinux p7zip p7zip-plugins

#
# Install required OPSI product
#
opsi-package-updater install ${PROD}
cd /var/lib/opsi/depot/${PROD}

#
# Copy ISO content to installfiles
#
7z x ${WINDOWS_ISO} installfiles

#
# Create winpe
#
mkdir -p winpe-overlay/Windows/System32
printf "%s\r\n" "c:\opsi\startnet.cmd" > winpe-overlay/Windows/System32/startnet.cmd
mkwinpeimg --windows-dir=installfiles --overlay=winpe-overlay winpe.img
7z x winpe.img -owinpe/

opsi-setup --set-rights


#
# Adapt produkts
#
opsi-admin -d method updateWIMConfig ${PROD}

Using 7z x ${SRC} -o${DEST} is a shortcut to avoid mounting the ISO or disk image files. If you prefer, you can use this:

TMP=$(mktemp -d)
sudo mount ${SRC} ${TMP}
cp -a ${TMP}/. ${DEST]/.
sudo umount ${TMP}

Outdated approaches

WinPE 4.0

Modify WinPE for OPSI

Install Windows ADK, see "Windows Deployment with the Windows ADK" at http://technet.microsoft.com/en-us/library/hh824947.aspx

Perform the following commands:

c:

rem Set Environment variables

cd C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools
DandIsetenv


rem Create Initial winpe directory

cd C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment
copype amd64 c:\winpe


rem Mount and modify WinPE boot image

cd c:\winpe
dism /Get-WIMInfo /WimFile:C:\winpe\media\sources\boot.wim

dism /cleanup-wim

dism /Mount-Wim /WimFile:C:\winpe\media\sources\boot.wim /index:1 /MountDir:C:\winpe\mount

type C:\winpe\mount\Windows\System32\startnet.cmd
echo c:\opsi\startnet.cmd > C:\winpe\mount\Windows\System32\startnet.cmd

dism /unmount-Wim /MountDir:C:\winpe\mount /Commit

Copy media subdirectory as winpe Directory to OPSI server:

cp media/. /var/lib/opsi/depot/win*\winpe/.

WinPE 3.x

Since Windows 7.

see http://download.uib.de/opsi4.0/doc/html/opsi-getting-started/opsi-getting-started.html#opsi-getting-started-firststeps-osinstall-fill-base-packages-nt6

Alternatively use following commands:

Install Windows WAIK

c:

rem Create Initial winpe directory
c:\Program Files\Windows AIK\Tools\PETools\copype.cmd amd64 c:\winpe64

copy c:\winpe64\winpe.wim c:\winpe64\ISO\sources\boot.wim

# set variables
set wim=c:\winpe64\ISO\sources\boot.wim
set md=c:\winpe64\mount

rem Mount and modify WinPE boot image

cd c:\winpe64
dism /Get-WIMInfo /WimFile:%wim%

dism /cleanup-wim

dism /Mount-Wim /WimFile:%wim% /index:1 /MountDir:%md%

type C:\winpe64\mount\Windows\System32\startnet.cmd
echo c:\opsi\startnet.cmd > %md%\Windows\System32\startnet.cmd

dism /unmount-Wim /MountDir:%md% /Commit

More customazations are explained at wiki:opsi/dism

Copy ISO subdirectory as winpe Directory to OPSI server:

cp ISO/. /var/lib/opsi/depot/win*\winpe/.

Hint: The boot.wim file is also accessable by the 7z archiving programm (at least for WinPE versions <4.0)

Other