Auto Install ZENworks Image Engine on USB using UNetbootin


Install ZENworks Image Engine on USB using UNetBootin

Quick tool to install the bootcd.iso (ZENworks 11.1), using Unetbootin, onto a USB Pen Drive.

UNetbootin is an excellent tool to create bootable USB Pen Drives. In this guide I use UNetbootin to put the bootcd.iso file onto a USB Pen Drive and then use this instead of using a CD.

Out of the box this installation script will create a bootable USB, with UNetbootin launching the ZENworks Imaging engine. From this you can pull images from a Proxy Server, launch a preboot script and pull images from the local USB Pen Drive.

Read the settings.txt and PrebootscriptUSB.s files (attached) to see more.

This only takes about 5-10 minutes, all depending on how much you want to do from the USB Pen Drive. Reading this will probably take longer than the execution

Things you need:

The files attached (

Bootcd.iso: from your own environment or get the latest Imaging Driver Update from

(the Bootcd.iso attached to this, is from the ZCM11.1 sept. driver update. So if you are on this version, no need to replace it)

A Windows PC with PowerShell 2.0

Software used: UNetbootin: free download from

Inspiration found at:

Novell ZENworks 7/11 documentation.

Warning, I can't guarantee this works on all USB pen drives. And do remember that under this process the drive will be cleaned, so backup any data you may have on it before starting.

All the files in this guide are located in C:\USBIMAGE\

Step one

Extract the attached files to "C:\" (Very important the path is "C:\USBIMAGE\")

Step two

If needed, paste your own bootcd.iso file to "C:\USBIMAGE\"

(tested with iso files from 10.3.3, 11.1a, 11.2)

If you want to edit the settings.txt file, use the file (template) from "C:\USBIMAGE\setting\". I've edited this, so it works with local imaging from the USB Device.

You can then manually add it to the bootcd.iso, using eg. MagicISO. Or just leave it in the setting folder, the file, from "C:\USBIMAGE\setting\", will automatically be copied to the USB during installation.

Step three

Add, if any, your own images and/or prebootscripts.

If you want to pull images from the USB, you can use the "PrebootScriptUSB.s" script file as your template. If you want to pull images from a PROXY, just active the PROXY part.

Place your images (.zmg files) in the folder "C:\USBIMAGE\IMAGES\IMG\"

If you use addon-images, you could place them in the addon folder. All depending on how you want the structure. I place mine in this folder, as you can se in the attached example of a preboot script.

Place your preboot-script (.s file) in the folder "C:\USBIMAGE\Scripts\PreBoot\"

Feel free to use my example and modify it so it fits your demands.

Step four

Connect the USB Pen Drive to your PC.

Warning! You must only connect one USB device to the PC. All content on it will be erased.

Step five

Run the installation.


Execute the file: C:\USBIMAGE\RunScript.bat

This will run a PowerShell script. This formats the drive, runs UNetbooting and copies the edited and needed files.

Just follow the few instructions on the screen

The windows should look like this:

When the window is closed your done.

Now your USB Pen Drive is ready.


Note: if you experience any problems with the detection of the USB Pen Drive during boot, you should look into the syslinux.cfg file and change this part so it fits your device:

install=hd:/dev/sdb1 root=/dev/sdb1

(Could instead be "install=hd:/dev/sdb root=/dev/sdb")

Any ideas of enhancement regarding this tool is welcome.



How To-Best Practice
Comment List
Parents Comment
  • I tried that method a few times, but for some reason never have been able to get a bootable disk. Your automated method is the only method I have had any success with.

    I was going to try and use the automated method on an 80 GB USB HD, but can't get it to run with a HD, only with a flash drive. I then wanted to use a 32GB USB flash drive. I was thinking I could use the automated method on the 32GB flash drive, then use Gparted to resize the FAT32 partition and add an EXT4 partition for the images. I would then likely have to modify some boot file so it would mount the EXT4 partition. Any suggestions?
  • eroemer, you are exactly on the right track with your thinking. I actually accomplished this using the Suse Linux Enterprise Desktop default install and the Partitioner tool available through Yast. I simply shrunk the fat32 partition down to 1GB (could go smaller but I might put other tools in here), and then created an ext3 partition to fill the rest of the disk.

    In settings.txt I changed this portion to create another folder and mount the second partition.
    # Mount your USB Pen Drive, so your script and images can be located. Don't mind the errors at the linux promt on imaging.
    mkdir /usbhd
    mount /dev/sdb1 /usbhd
    mkdir /usbhd2
    mount /dev/sdb2 /usbhd2

    In the PrebootScriptUSB.s I made the following changes.

    #Because we reimage existing computers to upgrade to Windows 7
    WSNAME=`zisview ComputerName`


    #Because we have all DELL laptops and desktops
    ### Add-on Image ###

    MODEL=`hwinfo --bios | grep Product`
    case $MODEL in
    echo "Unknown model ($MODEL) aborting..."
    exit 1

    #Portion for local imaging
    # I use the shortened commands with a dash "-" because they are the only ones that have worked for me consistently when typing or scripting commands. Depending how you install Windows (XP or 7) you may not need the -size=100 or -pc2 commands, those create the System boot partition that Windows 7 uses by default.

    #Deletes all existing partitions
    img -pd-all
    #Creates a boot partition of 100MB
    img -pc1 -type=ntfs -size=100
    #Makes the boot partition active aka bootable
    img -pa1
    #Creates a Windows partition on the rest of the disk (size is overridden by what's in your image)
    img -pc2 -type=ntfs
    #Applies all the partitions from a Windows image to the newly created partitions
    img -rl /usbhd2/Win7-Base-Clean-MAK.ZMG
    #Applies the model specific addon file containing drivers etc.
    img -rl /usbhd2/$ADDON
    #Applies an unattend.xml addon for sysprep customization.
    img -rl /usbhd2/Win7-Addon-SOS-unattend-sr0.xml.ZMG
    #Applies an addon that contains the Zenworks Adaptive Agent
    img -rl /usbhd2/Win7-Addon-ZenworksAdaptiveAgent-x64.zmg

    One thing I've noticed is I feel like this whole Unetbootin process may not be using the Tuxera enhanced NTFS driver, even though I specified to use the tntfs_bootcd.iso for the script and it appears to have put the tntfs.ko in the addin folder. This might require an extra module loaded that doesn't get called, but I haven't had time to dig into it yet.