3.11 High Performance NTFS Driver (Tuxera)

With ZENworks 11 SP2, 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.

3.11.1 Adding Tuxera Driver for ZENworks Imaging

You can download the Tuxera driver and upload it to the server from the local system through the ZENworks Control Center.

  1. In ZENworks Control Center, click Configurations.

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

  3. Download the latest high performance NTFS driver from the hyperlink provided and save it on your local system.

  4. Browse to and select the driver in the location where it is saved on your local system.

  5. Click Apply to upload the driver to the server.

  6. Click Ok to exit the Preboot Services page.

  7. Click Status to view the status of content replication across all Primary and Satellite Servers in the Management zone.

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.

3.11.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 -rp <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.11.3 Pre-requisites for taking and restoring an image partition-wise

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 100mb.zmg -I=1 -legacyntfs

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

To restore the 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.

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.

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 win8-efi-recovery.zmg -ap=a1:p1

    • img -r -p win8-efi-boot.zmg -ap=a1:p2

    • img -r -p win8-efi-msr.zmg -ap=a1:p3

    • img -r -p win8-base.zmg -ap=a1:p4

  4. Run the sidChange –I command.

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.11.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 line for the High Performance driver as shown:

    #NTFSDriver=11.2.4/x86/tntfs.ko

    #NTFSDriver_x64=11.2.4/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.zip file from ZCC.