This repository containts the instructions and scripts that will mostly benefit Steam Deck users who have setup a dual boot - SteamOS and Windows but does not want to use a graphical boot manager like Clover or rEFInd.
Once the script is active on both SteamOS and Windows, the default behavior is that it will always boot to SteamOS.
If user wants to use Windows - power off the Steam Deck and while powered off, press VOLDOWN + POWER then select Windows.
If the user did not activate the script on the Windows side, then the default behavior will be different - it will boot the last OS that was used.
The script is also smart enough so that when a BIOS / SteamOS update breaks the EFI entries, just manually boot via steamcl.efi and it will automatically re-create the SteamOS EFI entries.
WARNING!\ Please carefully read the items below!
- The script has been thoroughly tested on a fresh SteamOS and Windows install.
- If your SteamOS has prior traces of rEFInd or scripts / systemd services related to rEFInd, it is suggested to uninstall / remove those first before proceeding.
- If your Windows install has scripts or programs related to rEFInd / EasyUEFI, it is suggested to uninstall / remove those first before proceeding.
Prerequisites for SteamOS
Prerequisites for Windows
NOTE1 - Make sure you fully read and understand the disclaimer, warnings and prerequisites!
NOTE2\ The installation is divided into 2 parts - 1 for SteamOS, and 1 for Windows.\ If you use the script on both SteamOS and Windows, then the default behavior the Steam Deck will always boot to SteamOS.\ The Windows script is optional - if you don't use the script on the Windows side then the Steam Deck will boot the last OS that was used.\ The recommended way is to do the steps on SteamOS first, and then do the steps for Windows.
For the SteamOS side\ Extra scripts are saved in ~/1SteamDeck-EFI that contains additional scripts to automatically recreate the EFI entries and an uninstall to reverse any changes made.\ There are no extra systemd scripts created.
For the Windows side\ The script creates a folder called C:\1SteamDeck-EFI and creates a Scheduled Task.\ The Scheduled Task runs the powershell script saved in C:\1SteamDeck-EFI-script. The powershell script queries the EFI entries and sets SteamOS to be the next boot entry.
Installation Steps for SteamOS
Go into Desktop Mode and open a konsole terminal.
Clone the github repo. \ cd ~/ \ git clone https://github.com/ryanrudolfoba/SteamDeck-EFI-script
Execute the script! \ cd ~/SteamDeck-EFI-script \ chmod +x install-EFI-script.sh \ ./install-EFI-script.sh
The script will check if sudo passwword is already set.\ 4a. If it is already set, enter the current sudo password and the script will continue.\ If wrong password is provided the script will exit immdediately. Re-run the script and enter the correct sudo password!
4b. If the sudo password is blank / not yet set by the end user, the script will prompt to setup the sudo password. Re-run the script to continue.
4c. Script will continue to run and perform sanity checks all throughout the install process. Once done, reboot the Steam Deck and it will automatically boot to SteamOS.
Installation Steps for Windows (optional)
The Windows script is optional - if you don't use the script on the Windows side then the Steam Deck will boot the last OS that was used.\ If you use the script on both SteamOS and Windows, then the default behavior the Steam Deck will always boot to SteamOS.
Download the ZIP by pressing the GREEN CODE BUTTON, then select Download ZIP.
Go to your Downloads folder and then extract the zip.
Open the folder SteamDeck-EFI-Windows, then right click SteamOS-Windows.bat and select RUNAS Administrator.
The script will automatically create the C:\1SteamDeck-EFI-script folder and copy the files in there.\
It will also automatically create the Scheduled Task called SteamOS-Task-donotdelete
Go to Task Scheduler and the SteamOS-Task will show up in there.
Right-click the SteamOS-Task and select Properties.
Under the General tab, make sure it looks like this. Change it if it doesn't then press OK.
Right click the task and select RUN.
Close Task Scheduler. Go to C:\1SteamDeck-EFI and look for the file called status.txt.
Open status.txt and the SteamOS GUID should be the same as the bootsequence. Sample below.
Reboot the Steam Deck and it will automatically boot into SteamOS.
Read this for your Common Questions and Answers! This will be regularly updated and some of the answers in here are contributions from the WindowsOnDeck reddit community!
Boot into SteamOS.
Open a konsole terminal and run the uninstall script - \ cd ~/1SteamDeck-EFI \ ./uninstall-EFI.sh\
Reboot the Steam Deck and it will automatically load Windows.
Go to Task Scheduler. Righ-click the SteamOS-Task and choose Delete.
You can send me a message on reddit / discord to say thanks!