Microsoft's recommendations for customizing the default start screen for new users are known to be somewhat over-complicated and perhaps difficult to implement. They involve editing the reference image, using unattend.xml, or some other elaborate procedure. There's also the posibility of using a group policy to provide users with a customized start screen, but while this is relatively easy to implement, it does not allow the user to change the layout afterwards.
Fortunately, there's a far easier method, involving two Powershell cmdlets that provide us with a very easy way to provide new users with a default customized start screen, but still allow the users to make changes to it. This method is usable on a reference image for deployment, an unattended deployment using RTM media, or an existing Windows installation, whether it's a standalone Windows 8.1 client or a 2012 R2 RDS server. If you're customizing a virtual golden master image (for VDI), treat the system as a standalone, and run the commands on that system.
Note that this only works with Windows 8.1 or 2012 R2. Windows 8 and regular 2012 do not support this.
Export-StartLayout -As BIN -Path MyStartScreenLayout.bin
Import-StartLayout -LayoutPath MyStartScreen.bin -MountPath C:\
It is also possible to run the import cmdlet as part of a deployment with SCCM or another management system. Let the following cmdlet run as part of the deployment (requires elevation):
POWERSHELL -NonInteractive -Command Import-StartLayout -LayoutPath \\host\path\MyStartScreen.bin -MountPath C:\