3.14 High Performance NTFS Driver (Tuxera)

The High Performance NTFS driver (Tuxera), provides enhanced performance for imaging Windows 7 and Windows XP NTFS file systems when compared to ZENworks legacy imaging. Tuxera driver, also known as tntfs Kernel Module driver combined with the Imaging engine provides substantial performance improvements. For operations concerning base images, the Tuxera driver is used if it is uploaded and present in the zone. For add-on images, only the legacy ntfs driver is used.

NOTE:Before you upload the Tuxera driver onto the latest version of ZENworks, ensure that all the Primary Servers and Imaging Satellite Servers in the zone are upgraded to latest version.

3.14.1 Adding Tuxera Driver for ZENworks Imaging

You can download the latest Tuxera High Performance NTFS driver zip file from the hyperlink provided and save it on your local system.

  1. In ZENworks Control Center, click Configuration.

  2. In the Management Zone Settings panel, click Device Management > Preboot Services > Third Party NTFS Driver Integration Settings.

  3. Click the icon to browse for and select the high performance NTFS driver zip file.

  4. Click Ok to upload to the ZENworks Server.

  5. Click Status to view the status of content replication across all Primary and Satellite Servers with Imaging role in the management zone. You must start the imaging operation only when the status is Available.

NOTE:

  • An image taken by using the legacy NTFS driver is restored by the legacy NTFS driver. For high performance, these images need to be recreated by using the High Performance NTFS (Tuxera) driver after the driver is uploaded into the ZENworks Control Center and the status is Available.

  • After a successful upload, this NTFS driver, is integrated with the bootcd_tntfs.iso file in the winutils folder. To use the High Performance NTFS driver, use the bootcd_tntfs.iso file instead of the bootcd.iso file.

  • You must upload the Tuxera driver after each ZENworks upgrade.

3.14.2 legacyntfs switch functionality

You can use the legacyntfs switch in order to use the legacy NTFS driver.

  1. Boot the system into the ZENworks Maintenance mode.

  2. Take an image of the device by using the img -legacyntfs command.

    For example, you can run the following command:

    img -mp <image_name>.zmg -legacyntfs (Ensure that the -legacyntfs is at the end of the command).

    NOTE:

    • If you take an image by using the legacy NTFS driver, the image is restored by the legacy NTFS driver. Also, if the tntfs.ko file is not uploaded, you need not use the legacyntfs switch. In such situations, the imaging engine uses the legacy NTFS driver. When the tntfs.ko driver is present, the imaging engine uses the Tuxera driver.

3.14.3 Prerequisites for taking and restoring an image partition-wise

Let us consider an example of a system with default installation having 100MB boot partition and a system partition. While taking an image from a device, take a backup of the MBR of the system as follows:

  1. Export the MBR to a file by using the dd if=/dev/sda of=mbr_win7.bin bs=512 count=1 command.

  2. Upload the MBR file to server. If the system has 100MB partition (on Windows 7, or Windows Vista), take an image of the 100 MB partition separately by using the legacyntfs switch. To take an image of the 100 MB partition by using the legacyntfs switch, run the following command:

    # img -mp <bootpartition>.zmg -I=1 -legacyntfs

    In the above command, -I =1 indicates that you include partition number 1, which is the 100 MB partition.

    # img -mp <os_partition>.zmg -I=2 -legacyntfs

    You can use the above command to take image of all partitions on the system, where I indicated the partition number.

To restore the Windows images partition-wise, do the following:

  1. Delete all the partitions by using the img -pd command. For example:

    img -pd 1

    img -pd 2

    1 and 2 in the above commands correspond to the hard disk partition number.

  2. Create the partitions by using the img -pc command. For example:

    img -pc 1 -type=NTFS -size=100 -legacyntfs (for the 100 MB partition for Windows 7, or Windows Vista).

    img -pc 2 -type=NTFS (to restore the C:\drive)

  3. Mark the partition 1 as Active by using the img -pa 1 command.

  4. Restore images partition-wise. Restore the 100MB partition separately by using the legacyntfs switch.

  5. Restore the MBR on the device after restoration. Download the MBR file from the server and run the dd if=mbr_win7.bin of=/dev/sda bs=446 count=1 command.

  6. Run the sidChange -i command. This command changes the Security Identifier (SID) of the Windows system and it sets the Boot Configuration Data (BCD) offset values of the partition in the registry. If sysprep runs on the base system, or if the restoremask.xml file is present in the system drive, then this command will not cause any changes.

Restoring partitions from a combination of BIOS and UEFI SYSPREP images

To selectively restore partitions from a combination of BIOS and UEFI SYSPREP images, follow the procedure in the below mentioned scenarios:

Restoring partitions on a UEFI device:

  1. Create the required GPT partitions on a disk.

  2. Restore EFI and Recovery Partitions selectively from UEFI based image.

  3. Restore the C: drive from the BIOS based image.

  4. Run the sidChange -f command and reboot the system. This command forcefully changes the Boot Configuration Data (BCD) offset values of the partitions in the registry.

Restoring partitions on a BIOS device:

  1. Restore the 100 MB boot partition from a BIOS based image.

  2. Restore the C: drive from the UEFI based image.

    NOTE:Partition restoration to a BIOS device does not require you to run the sidChange -f command.

Partition wise restore for UEFI systems

To take an image partition wise:

  1. On the system with UEFI boot enabled, install the operating system and take the image partition wise using the following commands:

    1. img -mp <bootpartition>.zmg -I=1

    2. img -mp <ESP>.zmg -I=2

    3. img -mp <WRE>.zmg -I=3

    4. img -mp <system partition>.zmg -I=4

  2. Make a note of the size of each partition on the base system. The same values can be used during the restoration of the image.

To restore the image partition wise:

  1. Run the img -pc 1 -type=NTFS -size= <xxxxMB> -guid=PartitionType command to create a GPT partition on a device.

    The PartitionType attribute in the above command can take any of the following values:

    • MBD: Microsoft Basic Data Partition

    • MRP: Microsoft Reserved Partition

    • WRE: Windows Recovery Environment Partition

    • ESP: EFI System Partition

    This command will create a 100 MB partition with GUID partition type, and initialize the partition with the NTFS file system.

    Ensure that the following conditions are met for a successful partition creation:

    • If the partition type is ESP, then the -type value in the command should be FAT32.

    • Size of MRP partitions depends on the size of the disk. For a disk size less than 16 GB, the MRP partition is 32 MB, and for a disk size more than 16 GB, the MRP partition is 128 MB.

      Example:

      img -pc 1 -type=NTFS -size=300 -guid=WRE
      img -pc 2 -type=FAT32 -size=100 -guid=ESP
      img -pc 3 -type=1 -size=128 -guid=MRP
      img -pc 4 -type=NTFS -size=40000 -guid=MBD
  2. Mark the following three partitions as active by using the img -pa <partition number> command:

    • Boot partition 300MB

    • EFI system partition

    • Microsoft reserved partition

    For example, to make the first partition active, run the img -pa 1 command. For information about the three partitions, refer to the following image.

  3. Restore each partition using the advanced switches:

    • img -r -p <bootpartition>.zmg -ap=a1:p1

    • img -r -p <ESP>.zmg -ap=a1:p2

    • img -r -p <WRE>.zmg -ap=a1:p3

    • img -r -p <system partition>.zmg -ap=a1:p4

  4. Run the sidChange –i command. This command changes the Security Identifier (SID) of the Windows system and it sets the Boot Configuration Data (BCD) offset values of the partition in the registry. If sysprep runs on the base system, or if the restoremask.xml file is present in the system drive, then this command will not cause any changes.

Restoring Linux images partition-wise:

  1. Run the following GRUB install command:

    grub-install.unsupported --recheck --root-directory=/mnt /dev/sda

  2. Mount the boot partition to the /mnt directory.

If the /etc/fstab and the grub.conf files use UUID to map the partitions, then execute the procedure given below before running the grub-install.unsupported --recheck --root-directory=/mnt /dev/sda command:

  1. Obtain the UUID for the partitions by running the following command:

    #blkid -o full -s UUID

    You can see the following message on the screen:

    /dev/sda1: UUID="a0f83e2a-1579-423e-9a5b-70104f5ff384"
    /dev/sda2: UUID="de8c2a54-ec39-45bf-8c9e-fa63b3585193"
    /dev/sda3: UUID="781f9eb0-faf4-4b39-b431-908179ad72b4"
  2. Mount the boot partition and update the fstab and the grub.conf files by running the following command:

    #mount /dev/sda1 /mnt

  3. Edit the /mnt/etc/fstab directory as shown:

    #
    UUID=a0f83e2a-1579-423e-9a5b-70104f5ff384 /                       ext4    defaults        1 1
    UUID=de8c2a54-ec39-45bf-8c9e-fa63b3585193 /home                   ext3    defaults        1 2
    UUID=781f9eb0-faf4-4b39-b431-908179ad72b4 swap                    swap    defaults        0 0
    
  4. Edit the /mnt/etc/grub.conf file as shown:

     kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=UUID=a0f83e2a-1579-423e-9a5b-70104f5ff384 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

3.14.4 Disabling the Tuxera Driver for ZENworks Imaging

To disable the Tuxera driver and use the legacy NTFS driver for Imaging operations:

  1. On the PXE server, open the HighPerfDriver.conf file. The file path is as given below:

    Windows: \Program Files\Novell\ZENworks\Share\tftp

    Linux: /srv/tftp

  2. Comment out the following lines for the High Performance driver as shown:

    NTFSDriver=<zenworks_version>/x86/tntfs.ko

    NTFSDriver_x64=<zenworks_version>/x86_64/tntfs.ko

  3. Delete the ntfsdriver-RANDOMNUMBER.zip file from the content-repo/tmp/imaging folder.

    Path to the content-repo folder on the server:

    Windows: %ZENWORKS_HOME%\work\content-repo

    Linux: /var/opt/novell/zenworks/content-repo

  4. Restart the imaging services on the PXE server for the changes to apply.

NOTE:To use the Tuxera driver again, you need to re-upload the tntfs.ko file from ZENworks Control Center.