Virtual Hard Disk (opsi-vhd-reset
)
opsi-vhd-reset
helps you to quickly restore many opsi clients to a certain state — for example in the coffee break during a training or in the classroom after class.
The opsi-vhd-reset
module extends opsi-local-image
(see Local Images (opsi-local-image
)) and uses VHD containers.
Prerequisites
This module is currently a paid extension. This means that you need an activation file to unlock it. You will receive this file after you have purchased the extension. For evaluation purposes, we’re happy to provide you with a temporary license free of charge. Please contact us via email. |
More details can be found in opsi Extensions.
opsi-vhd-reset
is bundled with the opsi-local-image
extension (see Local Images (opsi-local-image
)), which means that activating opsi-local-image
automatically applies to opsi-vhd-reset
as well.
Introduction
opsi is a great tool to install and maintain Windows computers in an automated way—also and especially if heterogeneous hardware is involved. However, a package-based opsi installation is not fast enough to bring computers back to a predefined state within a short time, e.g. during trainings or in a classroom during a break. opsi-local-image
stores the initial installation as an image, and opsi-vhd-reset
extends the functionality by using VHD containers:
-
initial Windows 10 installation in a VHD container
-
"sealing" the initial installation with a child VHD
-
quick restore by replacing the child VHD
-
upgrade of the initial installation by a merge of the child VHD
This method uses snapshot techniques known from virtualization without using virtualization per se. |
Proceedings
Initial Installation
Install a Windows 10 system in a VHD container using the opsi-vhd-win10-x64
product.
opsi-vhd-win10-x64
)opsi-vhd-win10-x64
)After that, you can install the necessary applications on this Windows system.
opsi-vhd-win10-x64
)Execute the product opsi-vhd-control
to store current metadata about this opsi client. This includes the information about which product is installed in which version. Afterwards activate and boot the Windows PE (Preinstallation Environment).
The product opsi-vhd-control has a very low priority (-97). It therefore runs only runs after the installation of application software. As a result, you can set opsi-vhd-control to setup together with the application software.
|
opsi-vhd-win10-x64
)On Windows PE, creating a child VHD protects the initial installation against modifications.
opsi-vhd-control
)From now on, all changes are stored in the child VHD.
Restoring an Image
With the product opsi-vhd-control
you can restore the initial installation. First the product restores the saved opsi metadata, then for handling of the child VHD the system boots Windows PE again.
opsi-vhd-control
)In Windows PE, the child VHD with the modifications is deleted and replaced with a new, empty child VHD.
opsi-vhd-control
)Updating an Image
To simplify the maintenance of the clients, you can use the product opsi-auto-update
, which basically keeps the installed products up to date.
opsi-auto-update replaces the product opsi-vhd-auto-upgrade .
|
To provide an initial installation with patches and software updates, you can proceed as follows:
-
Restore the initial installation (as described above).
-
Install the updates.
-
Integrate the updates into the initial installation and reseal it with
opsi-vhd-control
and the propertyupgrade=true
. -
During this process the updated opsi metadata is also stored in the system.
For a detailed description of the opsi-auto-update product, please have a look at the opsi Standard Products chapter, section opsi-auto-update.
|
opsi-vhd-*
- products
The opsi-vhd-reset
extension consists of the following products:
-
Initial installation: Netboot Product
opsi-vhd-win10-x64
. -
Child VHD creation, replacing and merging: Localboot Product
opsi-vhd-control
. -
Fully automatic update of the parent VHD: Localboot Product
opsi-auto-update
.
Netboot Product opsi-vhd-win10-x64
The netboot product opsi-vhd-win10-x64
has a similar structure as the netboot products (4.1.0) for Windows installation. That is, they are identical in terms of structure and driver integration. Corresponding instructions can be found in the Getting Started chapter. The properties are also mostly the same.
opsi-vhd-win10-x64
also has these special properties:
-
windows_vhd_size
: Specifies the size of the parent VHD (absolute or as a percentage of the hard disk size minus the Win PE partition). The default of 100% is automatically reduced to 80% to leave room for the child VHD. If a value is specified (absolute or relative) which is greater than 80%, then it will be reduced to 80%. This property replaces the standard propertywindows_partition_size
. (default:100%
) -
installto
: The default value isvhd
. It should not and cannot be changed.
The following properties do not exist in the netboot product opsi-vhd-win10-x64 :
|
-
windows_partition_size
,windows_partition_label
: The label of the partition where the VHDs are located isCONTAINER
. -
data_partition_size
,data_partition_letter
,data_partition_create
,data_partition_preserve
: Using a data partition is not (yet) possible withopsi-vhd-*
. -
boot_partition_size
,boot_partition_letter
,boot_partition_label
: Using a boot partition is not (yet) possible withopsi-vhd-*
. -
pre_format_system_partitions
,preserve_winpe_partition
: Foropsi-vhd-*
these two values are always set totrue
.
Localboot Product opsi-vhd-control
The opsi-vhd-control
product has a very low priority (-96). It supports the following properties:
-
disabled
: Used for debugging purposes; if the value is set totrue
, the product will not execute any actions. (default:false
). -
upgrade
: Merges the changes collected in the child VHD into the parent VHD and replaces the child VHD with a new, empty child VHD (true
). If set tofalse
, it replaves the child VHD with an empty child VHD. After a successfulupgrade
run, this property is automatically reset tofalse
. (default:false
) -
stop_on_no_network_in_pe
: Used for debugging purposes; if set totrue
it will abort with an error message. You can then investigate why no network connection could be established. (default:false
)
Localboot Product opsi-auto-update
To simplify the maintenance of the clients, you can use the product opsi-auto-update
, which basically keeps the installed products up to date. It sets all installed client products which have a version number different from the one on the server to setup
.
This product is quite useful, not just in the context of opsi-local-image . For a detailed description, see the opsi Standard Products chapter, section opsi-auto-update.
|
Known Problems and Restrictions
-
There is also a 32 bit version. The functionality is limited, though, due to a problem with the Diskpart
merge
command in the 32 bit Windows PE versions. -
In theory, an implementation for Windows 8.1 or Windows 7 Enterprise would also be possible. However, we will only build these products on request.
-
There are indications that a Windows 10 release upgrade of an installation in a VHD will fail.
(https://www.heise.de/newsticker/meldung/VHD-Boot-Windows-Update-demoliert-Aktivierung-3806023.html)