Optionally boot Windows directly into application

0

I know that I can boot into Windows and start a specific program instead of explorer.exe. What I'd like to do is optionally boot into Windows with a different shell based on a selection I make in grub. Is this possible?

I'm dual-booting Windows and Linux, and I'd like to have an additional menu item in Grub that lets me boot into Windows and automatically start Steam in Big Picture mode without preventing me to boot into windows with the standard explorer.exe shell. SteamOS is not an option since several of my games are Windows only.

Is this at all possible?

Ian Hunter

Posted 2016-11-22T15:54:48.727

Reputation: 196

a Grub option would still require user intervention. If you default to auto-launch big picture mode (autorun via registry or via start menu), the amount of user intervention to close or minimize steam is about the same. This also prevents a whole cascade of potential problems: steam as a shell won't/may not load the user-mode portions of driver packages (hotkeys etc) , some bootcamp stuff, – Yorik – 2016-11-22T17:47:30.050

@Yorik Yeah, I understand this is might be a harebrained idea. I just have an HDMI port connected to my television in another room, and when friends are over I'd like to be able to load up Steam without having to mess around with a mouse and keyboard. I figure I can try to bootstrap anything with an intermediate batch script if necessary. – Ian Hunter – 2016-11-25T01:04:18.003

You would only need to close it if you are at your desk, otherwise it loads right to big picture mode. Make a steam shortcut in the startup folder ( http://superuser.com/questions/489777/ ). Again, replacing the shell will make some things not work without manually loading them ( such as via HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon )

– Yorik – 2016-11-29T15:39:28.117

1Before you change the shell, make a "non-steam game" entry for explorer.exe just so you can get to it easily. – Yorik – 2016-11-29T15:40:23.380

Thanks, @Yorik. Alternatively, I've noticed that CTRL-ALT-DELETE still functions as expected, so I can just spawn the task manager and start the explorer.exe process from there.

Fortunately, 99% of the time I use Windows it's for Steam, so just changing the shell has ended up working perfectly for me. – Ian Hunter – 2016-11-29T16:05:04.880

Answers

1

I don't know if this qualifies as answer or not but userinit.exe checks Current User's Shell before turning to Shell value in HKLM. Thus, each user can have their own Shell. So, you can create a new user and go to this registry key (make sure you are logged in as that user):

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

(Note that the key is in HKCU not HKLM)

You most probably won't find a registry entry named Shell there, so just right click on Winlogon, go to New and click on String Value. Name this new entry Shell and enter value as cmd.exe (just an example, replace it with the application you want to start).

This will start the specified program instead of explorer.exe whenever you log in as that user. So, without having extra boot entry, you can have both Windows Explorer and Steam as your Shell in two different users.

PrashantKumar96

Posted 2016-11-22T15:54:48.727

Reputation: 136

Excellent. I'll take a look at this. Thanks! Do you know if there is a way to auto-login to a specific user based on the presence or absence of hardware, like when a specific HDMI port is being used? – Ian Hunter – 2016-11-25T01:08:52.453

Sorry but I don't know any method to achieve this kind of autologon. I know simple autologons are possible, good utility for it is Autoruns, but conditional autoruns are not possible.

– PrashantKumar96 – 2016-11-25T12:58:20.767