AppLayering 4.x – OS layer creation fails with error “An error occurred. The required file ‘OSType.txt’ was not found on your OS disk. Please obtain the application layering OS machine tools, run ‘Setup_x64.exe’ on your OS image”

AppLayering only supports MBR and Hyper-V Generation 1 machines. It does not supports GPT and Generation 2 machines.

Capture ELM logs and in camlogfile we could see, if GPT is being used.

2017-11-17 11:43:46,085 INFO Threadpool worker Shell: EXEC: Device Boot Start End Blocks Id System

2017-11-17 11:43:46,085 INFO Threadpool worker Shell: EXEC: /dev/nbd1279p1 1 4294967295 2147483647+ ee GPT

Note: App Layering will only look at the first partition or two, so if we are running setup64.exe and it’s saving on a 3rd or 4th partition, it’ll never look at that partition by design, so it will never find ostype.txt there.


  • No Related Posts

NetScaler Displays “Unable to load a kernel” When Booting After a Firmware Upgrade

Note: Please contact your NetScaler Admin or Citrix Support Contact for the below mentioned steps.

OK prompt shown is from the FreeBSD Bootloader.

The most likely cause of this issue is that the NetScaler kernel file is missing from /flash. Because the firmware upgrade was installed from /var, a copy of the kernel file will exist on the hard drive. To resolve this issue, you can attempt to temporarily boot from the copy of the kernel file that resides in /var. Once booted, you can reinstall the NetScaler firmware using the standard procedure.

  1. Determine the device name of the /var partition on the hard drive, by referring to CTX124609.

  2. You can display the available devices using the following command from the OK prompt:​​​

    lsdev -v

  3. The FreeBSD bootloader uses a different naming convention than the actual operating system. To determine the proper naming convention for the bootloader, use the following procedure:

    1. Determine which physical drive contains /var. If lsdev -v shows 2 disk drives, disk0 will be flash and disk1 will be the hard drive. If only 1 drive is listed, disk0 will be the hard drive/SSD and there is no separate flash drive. You are interested in the hard drive.

    2. From CTX124609, determine the device name for the /var partition.

    3. The naming convention for the bootloader is in the form of disk{n}d1{part}:

    4. For example, on an MPX-8200, the device name for the /var partition is /dev/ad4s1e. lsdev -v shows that there is only one disk drive (disk0). This means that the proper name for the /var partition is disk0s1e:

  4. The NetScaler kernel file is named ns-{version}-{build}.gz. For instance, ns-10.5-55.8.gz.

  5. Use the ls command to locate the NetScaler kernel file on the /var partition of the hard drive. Note that there is no cd command, so you must specify the entire path as part of the command.

    For instance:

    ls disk0s1e:/nsinstall/<firmware folder name>/ns-10.5-55.8-nc

  6. Once you locate a suitable NetScaler kernel file to load, load it as follows (leave off the .gz extension)

    set currdev=disk0s1e:


    load disk0s1e:/nsinstall/<firmware folder name>/ns-10.5-55.8

  7. If the kernel loads successfully, try to boot the kernel by typing boot at OK prompt.

  8. After the NetScaler boots, re-run the firmware upgrade procedure and prior to rebooting again, verify that /flash contains the proper kernel file.


  • No Related Posts

How to resolve “Failed to probe partitions from virtual disk” error while importing an OS Layer

There may be other reasons you could get this error, like the customer is using EFI or GPT partition tables. Unidesk requires MBR partition tables currently.

But if you get this error:

Failed to attach the disk /mnt/repository/Unidesk/OsImport Disks/Windows 10.vhd. Failed to probe partitions from virtual disk

Collect logs from Citrix Enterprise Layer Manager (ELM) as described in When you export logs, the Citrix software creates a gzipped tar file (.tgz) containing the log files. On extracting the .tgz log file you will find camlogfile.


Open the camlogifle in notepad and see if you have a block like this:

2016-07-15 12:53:39,717 ERROR DefaultPool3 AttachDiskJobStep: Disk attach failed, detaching /dev/nbd255 Message: MessageId=FailedProbeVirtualDiskPartitions, DefaultTitle=, CategoryData={[ExternalToolFailure { Call = “/bin/nice”, Args = “-n-10 /sbin/partprobe /dev/nbd255”, Output = “”, Error = “Warning: Error fsyncing/closing /dev/nbd255: Input/output error

Warning: Error fsyncing/closing /dev/nbd255: Input/output error

Error: Can’t have a partition outside the disk!

Warning: Error fsyncing/closing /dev/nbd255: Input/output error”, ErrorCode = 1 }]}

The important bit is that “Can’t have a partition outside the disk!” line.

For reasons we don’t yet understand, sometimes the ELM’s way of mounting up a disk comes up about 1MB short. If you mount the same disk to a VM through a hypervisor, the size is correct, but in the ELM, the size is reported just a hair too small. The partition then ends just slightly after the end of the disk, which is illegal.


  • No Related Posts

How to Perform Reverse Image in Provisioning Services to upgrade Target Device software version

Reverse Imaging

1. Take a Target Device Virtual Machine and make sure that we don’t have any Hard Disk attached to it.

User-added image

2. Make sure that this Target VM is mapped to PVS Console, match the MAC Address

User-added image

3. To this Target in PVS Console, Assign the vDisk for which you need to perform Reverse Imaging

User-added image

4. Boot this Target over the Network from the vDisk in Private Mode (We should have the versions merged to do this process, we cannot do Reverse Imaging using an AVHD File)

User-added image

User-added image

User-added image

5. Once we confirm that the Target Device booted up fine with vDisk in Private Mode (vDisk Active), attach an external HDD to this Target

User-added image

User-added image

6. The Size of the HDD attached should be more than the size of the vDisk (Confirm the size of vDisk in PVS Store)

7. On the Target, go to Disk Management and Initialize the disk that we attached, Format this disk as NTFS, Master Boot Record and make sure is set to Active in Windows Disk Management. Make a New Partition, say D Drive and Mark the partition as Active

8. So now for this Target, we have one C Drive that is your vDisk and one D Drive (Can be different) that is the Blank HDD.

9. We need to copy the C Drive to the D Drive and for that we use P2PVS.exe located at Program FilesCitrixProvisioning ServicesP2PVS.exe

10. We need to perform volume to volume conversion.

User-added image

11. Run this exe and select C as the Source Drive and D as the destination Drive.

User-added image

12. Once the Process completes, the D Drive will be a replica of the C Drive (vdisk).

13. Ensure that the Volume shadow copy service and the Microsoft Software Shadow Copy Provider service are both set for Automatic or Manual Startup Type or else reverse imaging will fail at creating snapshots.

14. Change the Boot Order to boot the Target from Local HDD and Boot it.

User-added image
15. At this point in time we have the VM on Hypervisor with Local HDD attached to it and not associated to PVS.

16. Boot the device to Hard Disk by manually changing the boot order in BIOS.

17. Uninstall Virtual Delivery Agent software and reboot.

18. Uninstall Provisioning Services Target Device target device software and reboot.

19. Uninstall any anti-virus software and reboot.

20. Update hypervisor tools if necessary and reboot.

21. Install antivirus software.

22. Install the new version of Provisioning Services Target Device software and reboot.

23. Now we can do Imaging by using the Imaging Wizard and we can either make changes to the existing vDisk or create a new vDisk.


  • No Related Posts