Share via


FSLogix FAQ

The FSLogix FAQ provides information related to the installation, configuration, operation and supportability of FSLogix in virtual desktop infrastructure (VDI).

Installation

Is FSLogix integrated into all Windows operating systems?

FSLogix isn't a Windows feature and must be installed separately. FSLogix can be found in the Azure Marketplace for Windows 10 and Windows 11 multi-session images. While we aim for this version of FSLogix to be 'up-to-date', customers should verify which version is installed. If necessary, upgrade to the latest version.

Does FSLogix update automatically or use Windows Update?

No, FSLogix must be updated manually or through your existing image creation process. Subscribe and follow the FSLogix Blog to keep updated on when new versions are released.

Does FSLogix provide incremental updates?

No, FSLogix releases are full versions of the product.

Do I need to uninstall FSLogix before installing a new version?

Depends. If you need to go to a previous version, you should uninstall FSLogix, reboot, then install the previous version. Updated versions can be installed on top of the older version and requires a reboot.

What versions of FSLogix are supported?

Microsoft only supports the latest version of FSLogix. See our product support page.

Containers

Does the size of the FSLogix container affect the sign in performance?

No, container size doesn't affect sign in times or performance. Other factors are much more important when troubleshooting long sign in times.

What is the behavior when an FSLogix container reaches or exceeds the `SizeInMBs` value?

Users may start to experience strange behavior with applications or accessing files due to the lack of storage in the container. Increasing the SizeInMBs setting will automatically increase the size of the container at the next sign in when using dynamic disks. To prevent these situations, you should plan for at least 30% free space. Monitor the event logs or log files for warning events at less than 2 GB and less than 500-MB free space.

Do I need to use the ODFC container when using Microsoft 365 applications?

No, The ODFC container is primarily used in VDI solutions where another roaming profile product is used. Always use a single profile container unless your business or workload requirements need the separation. Check out the Types of Containers article for more information.

How do I configure OneDrive with FSLogix?

FSLogix handles all the complexity (filesystem redirection) behind the scenes. When a user signs in to OneDrive and must choose a location, they should select the default location (C:\Users\%username%\). FSLogix uses this location and all the data is saved to the user's container. Review the following OneDrive documentation:

Do OneDrive policies monitor the FSLogix VHD size or the local disk size?

When using FSLogix for profiles or profile and ODFC containers are in use, the OneDrive disk space policies check the FSLogix VHD rather than the operating system disk.

one drive space policy

Figure 1: OneDrive disk space warning policy object

o d f c v h d space

Figure 2: ODFC VHD Properties

one drive space warning

Figure 2: OneDrive Warning - Low Disk Space

Can I migrate user profile data from other roaming profile solutions to an FSLogix container?

FSLogix doesn't provide a direct migration path from other roaming profile solutions. Implementing OneDrive with known folder move or similar cloud or network storage solutions provides users with a location to save their data outside of their profile. For smaller use cases, our frx command-line utility can help copy local profiles into a new VHD(x).

Can I convert from a single profile container to a profile and ODFC container configuration?

Yes. When the ODFC container is created, FSLogix copies the data from the profile container though the original data isn't removed. The original data must be removed manually.

Example ODFC log file entries:

[18:09:59.554][tid:00000f94.000040cc][INFO]            Mirroring C:\Users\%username%.FSL0\AppData\Local\Microsoft\OneDrive to \\?\Volume{7f7bafd1-fb6a-4f15-878d-3c2acf351e2e}\OneDrive\UserMeta
[18:09:59.554][tid:00000f94.000040cc][INFO]            CopyFolderToVolume: Source: C:\Users\%username%.FSL0\AppData\Local\Microsoft\OneDrive Destination: OneDrive\UserMeta Volume: \\?\Volume{7f7bafd1-fb6a-4f15-878d-3c2acf351e2e}\
[18:09:59.554][tid:00000f94.000040cc][INFO]            Creating mount point: C:\Windows\TEMP\FrxMount{5512FFFF-42DD-40B9-AE76-76B3CA567E4A} -> \\?\Volume{7f7bafd1-fb6a-4f15-878d-3c2acf351e2e}\
[18:09:59.554][tid:00000f94.000040cc][INFO]            Success creating mount point. Mirroring files...
[18:09:59.569][tid:00000f94.000040cc][INFO]            Copying directory: Source: C:\Users\%username%.FSL0\AppData\Local\Microsoft\OneDrive Destination: C:\Windows\TEMP\FrxMount{5512FFFF-42DD-40B9-AE76-76B3CA567E4A}\OneDrive\UserMeta
[18:09:59.569][tid:00000f94.000040cc][INFO]            Copying directory: C:\Windows\system32\robocopy.exe "C:\Users\%username%.FSL0\AppData\Local\Microsoft\OneDrive" "C:\Windows\TEMP\FrxMount{5512FFFF-42DD-40B9-AE76-76B3CA567E4A}\OneDrive\UserMeta" /MT /R:5 /W:1 /XJD /COPYALL /IT /B /DCOPY:DAT /MIR
[18:09:59.569][tid:00000f94.000040cc][INFO]            CreateProcess successful
[18:09:59.569][tid:00000f94.000040cc][INFO]            Enabling cloud files pass-through
[18:09:59.569][tid:00000f94.000040cc][INFO]            Waiting for process to end
[18:10:00.460][tid:00000f94.000040cc][INFO]            Robocopy exit code: 1 (Success)
[18:10:00.616][tid:00000f94.000040cc][INFO]            Success mirroring files
[18:10:00.616][tid:00000f94.000040cc][INFO]            Volume mount point removed
[18:10:00.616][tid:00000f94.000040cc][INFO]            Mirror complete

Microsoft Entra ID

Can I use FSLogix containers with Microsoft Entra ID and cloud-only identities?

Yes...BUT, it requires understanding of the risks. There are two (2) ways we've identified how to configure FSLogix for Microsoft Entra ID and cloud-only identities. Check out the FSLogix profile containers for Microsoft Entra ID cloud only identities blog article.

Can I use FSLogix application rule sets with Microsoft Entra ID and cloud-only identities?

No. Application rule sets only work with traditional Active Directory SID(s). Hybrid (sync'd) identities work as long as the virtual machine has line of sight to a Domain Controller.

Can I use object specific settings with Microsoft Entra ID cloud-only identities or Microsoft Entra joined virtual machines and hybrid identities?

No. Object specific settings only work with traditional Active Directory SID(s). Hybrid (sync'd) identities work as long as the virtual machine is hybrid Entra joined.

Can I use the same Profile container when switching from hybrid Entra joined to Entra joined Session Hosts or virtual machines using hybrid identities?

No. The user's SID changes to their 'cloud-based' SID when signing into a computer that is Entra joined which prevents the profile from loading correctly.

Redirects or redirections.xml

FSLogix doesn't provide recommended values for the redirections.xml file. The redirections.xml file is a powerful tool to help you manage the user's profile AND may cause problems if not used correctly. We rely on application owners to document what data can or can't be excluded from users profile container.

For example:

Tip

Don't exclude user profile data for applications unless the application owner has documented the data can be excluded.

I don't see the redirections.xml events in the log file.

If you don't see any entries in the log file as described in the tutorial, it's most common to be one of three things:

  • The RedirXMLSourceFolder contains the full filename path.
  • The user doesn't have read access to the file share location.
  • The path to the file share can't be found (network, DNS or bad name).

I've removed the RedirXMLSourceFolder setting, but the redirections still exist.

The XML file is copied from the location in RedirXMLSourceFolder to %AppData%\FSLogix, which is inside the user's container. Removing the setting doesn't remove the file from the container. To properly remove or stop using the redirections, delete the contents of the existing XML file. Alternatively, use a script or other process to delete the file from the user's container.

The include statement isn't working as expected.

The include statement is used to keep sub directories of excluded folders in the user's profile. The include statement only works if the data or folder exists in the profile BEFORE creating the include statement. It's common for applications to create these folders at their initial launch. This can cause problems if the user gets a new profile and the data doesn't exist until the application is launched.

Tip

Don't include this type of data in your XML file.

What is the limit of exclude and include statements for the redirections.xml file?

There isn't a technical limitation. Less is more. Adding redirections for small folders, doesn't benefit the user's experience. Having numerous exclude or include statements causes a performance issue because each file system request must be checked against the list of redirections. These file system operations add up and decrease the virtual machine's overall performance.

After I implemented redirections.xml, the user's container stayed the same size or grew larger.

Implementing the redirections.xml file to exclude content for existing FSLogix profiles doesn't remove or delete the exclusion from the user's profile. You need to delete the profile container or create a script to run after sign in or part of the sign in process to delete the content from the container.

VHD disk compaction

Why is VHD disk compaction not running or not recovering the space I expect?

  1. Check the profile or ODFC log files for errors or warnings.
  2. If you're NOT using ProfileType = 0 or VHDAccessMode = 0, then this is an expected and known issue.
  3. Review the concept article for VHD disk compaction.

How do I adjust the disk compaction threshold?

The threshold isn't configurable.

Can the message during sign out be customized?

No, the message during sign out is a built-in Windows process that can't be changed.

What happens if a user disconnects during the sign out and tries to reconnect?

The disconnected session continues the sign out process, including compaction. If the compaction process isn't complete by the time the user tries to reconnect, the disk is in use. The user experience depends on your other configuration settings. Under default conditions, the user is signed in with a temporary profile.

How does disk compaction work with Cloud Cache?

During the sign out phase, all content in the disk is brought down from one of the providers to the local VHD(x) disk. Then the disk is evaluated for compaction. If or when compaction completes, the local VHD(x) is uploaded to the Cloud Cache provider(s). This process causes the sign out process to take longer in this type of configuration, which could lead to a poor user experience.

Cloud Cache

Do I need to use Cloud Cache for high availability?

No. It can be an acceptable solution to use standard containers (VHDLocations) with a highly available storage provider. Azure Files provides high availability through zone-redundant storage (ZRS) and is a recommended storage provider.

Why does it take so long for users to sign out?

Cloud Cache performs lazy asynchronous updates to the remote storage providers during a users session. These operations aren't real-time and are subject to the latency and throughput of the network and storage providers. At sign out, Cloud Cache attempts to merge all the data from the local cache to ALL storage providers listed. Storage providers which are under performing or have high latency will take longer to merge. FSLogix holds the users sign out until the operation is complete.

Recommendations

  • Review your network topology and latency to all configured storage providers
  • Upgrade your storage provider to a higher performing tier
  • Disable VHDCompactDisk
  • Don't use ProfileType = 3 or VHDAccessMode = 1, 2, or 3
  • Don't use CcdMaxCacheSizeInMBs