Booting directly to Workbench on Windows 10

There are basically three things one must do to get Windows 10 to boot directly to workbench. They are:

  1. Set the computer to automatically log in.
  2. Set the computer to automatically launch WinUAE.
  3. Set the WinUAE to automatically launch a configuration.

I will assume that you have a working WinUAE environment already in place since I will not be discussing how to stand up an Amiga environment in WinUAE in this post. As I go through each of these steps, I will however describe my setup in more detail as often there are many ways to accomplish the same thing.

Set the computer to log in automatically.

This is a fairly straight forward process and is included as a function of Windows. Search for and run netplwiz from the start menu in windows, or simply type that into a command line.

You’ll be presented with the above dialog box and it will show you the available accounts on your system. Click on the account you wish to have automatically log in and deselect the box stating that users must enter a password to use this computer. You’ll be asked to provide the password for the account you specified. Enter it twice and you are done. Reboot to verify results.

What I did.

For the user I specified to log in automatically, I:

  1. Set the background image to “Solid Color” and picked black.
  2. Turned off “Get Fun Facts….” and “Show lock screen background picture”.
  3. Set the Windows color “default app mode” to Dark
  4. Disabled all lock screen
  5. Hid the task bar in desktop mode.

Set WinUAE to Automatically Launch a Configuration

It is quite easy to get lost in WinUAE and more specifically, it’s quite easy to not understand how one setting impacts another. It is not surprising that launching directly into an Amiga environment can seem elusive. Alas, this is all you need to know.

Show GUI on Startup. Now why would not you not want to see the GUI?

Deselect “Show GUI on Startup” The next time you run WinUAE, it will immediately boot your Amiga. Take note however! You must change this setting after having selected and loaded (read into RAM) the configuration indicated as the “Default Configuration” Make sure that after you made the desired changes, you then save those changes to the default configuration.

Set the Computer to Automatically Launch WinUAE

There are several ways to accomplish this. The easy way is to create a scheduled task that runs WinUAE at boot time. The less easy way is to create a registry Key to instruct Windows to run WinUAE at boot time. And the way I did it.

Easy way. Create a scheduled task.

You can search for the task schedule from the start menu. Right-Click on the Task Scheduler Library and chose “Create Basic Task”. Then follow the prompts to create a task that triggers when the user account is logged in.

The most important detail to get right, besides the path to the WinUAE executable are the arguments. There is a -f option set, as well as a quoted path to the WinUAE configuration file you set up earlier that has the option to run without the GUI. All the -f switch does is load the configuration file for that Amiga Environment. If you want the Amiga to boot automatically, you must specify the configuration that does this though not displaying the GUI.

What I’m talking about is key as this has to be right. In my example above, the task scheduler will upon login run the following command:

"d:\amikit X\WinUAE\WinUAE.exe" -f "d:\AmiKit X\WinUAE\Configurations\AmiKit.uae"

The structure of the path you will use that is relevant to your environment is also relevant to the other two options.

Running WinUAE at startup automatically via the registry.

This method works in very much the same way as the method above, but instead of creating a scheduled task, you will be creating a registry string value located in a portion of the registry that is used to load software upon boot. I do not see any real advantage to doing it this way as opposed to the scheduled task method except that if you decided to disable the task scheduler then this would still work. But since disabling the task scheduler is dumb and you wont do it, I’ll only provide the path to the key where you can create your string value if you desire.


Create a string value of any unused name and provide the complete path you derived to create a scheduled task.

The way I did it.

I took a slightly different route. I decided that I wanted to not load explorer.exe as the system shell and instead load WinUAE. This has the desired effect of skipping loading explorer.exe which also prevents the loading of the taskbar and other operating system elements which gets you to workbench much faster and without having to see Windows.

Like the second method, this involves a change of a value in the registry. This value is located here:

The string value to change is this:

Before traveling down this path, there are some things you need to know.

  1. You should be privy to the command line.
  2. Shutting down WinUAE leaves you with no interface. You’ll have to now what you can do with CTL-ALT-DEL.

I keep two shell string values and rename them when I want to return to the windows shell. Removing the shell has some drawbacks. Namely, you cannot get to the control panel, cannot use the built-in screen grabbing and recording, among other things. While I prefer to have WinUAE set as my shell, there are times when I need to do something in Windows that I may not be able to accomplish easily via CLI, so I change the values and reboot. In this configuration, CTL-ALT-DEL and task manager becomes your friend.

This is what my shell value looks like. Your will likely be different.

Next Up

Next up I will describe the process of changing the boot logo of Windows running on UEFI machines and provide a copy of the BMP file I use

With a few other hacks I’ll talk about later, you can get this result. Doing what I described in this post will get you 90% of the way.