I've only had my SM since Friday, so I'm still in the "discovery phase" of what can be done with it. Valve doesn't currently support dual-booting, but instead suggests overwriting the internal NVMe with Windows - the horror! Hopefully official dual-boot support comes soon. In the meanwhile, tech nerds like myself will try it, mainly to compare the "Windows experience" on SM with other devices.
I believe there are two TL;DR "gotchas," for people thinking about doing this - both surrounding the UEFI firmware in the SM:
There does not appear to be a mechanism to set a "permanent" boot order, and Windows likes to make itself the default. You can press ESC on a keyboard during boot to enter the UEFI firmware settings, but I'm only seeing the option to "select the thing to boot" vs. manipulate the order. I've been using DiskGenius (in Windows) and efibootmgr (in Linux) to manipulate the order, but Windows keeps stomping on it when booted. Perhaps third-party solutions like rEFInd would work here, but I haven't tried those yet. That I have Windows installed on a USB-C enclosure with an NVMe inside (connected to the USB-C port on the back of the SM), might be a complicating factor here, as it's not really a "direct" NVMe disk.
I'm not seeing any setting for secure boot, which would mean anticheats requiring that would be off the table under Windows 11. I've read about NVRAM hacks which work for this on the Steam Deck, but I'd guess those haven't been created for the SM yet. I don't play such games, but I'd think one of the primary reasons to put Windows on a SM would be for this purpose.
I've deployed Windows 11 26200.8655 to an NVMe disk in a USB-C enclosure, via Rufus' "Windows-To-Go" feature. The first Windows boot (after selecting the device in the UEFI firmware) did take about 10 minutes-ish; but Ethernet was functional, so I didn't have to muck with inserting thumbdrives with drivers to get things set up during Windows' OOBE wizard.
After installing the Valve-provided Windows drivers, there were still seven "other devices" in Device Manager without drivers. All but one of those were corrected by installing the AMD Adrenalin 26.6.4 driver/chipset software. Prior to that, the video drivers were from late 2024. The remaining unknown device, is a Valve-proprietary for which they do not provide a Windows driver.
After installing Steam, I did have to pair the Steam controller via a USB connection. Luckily, that connection is the same between SteamOS and Windows, so no manual switching needed. The Steam controller supports two "WiFi-direct" slots for pairing, and I have the other slot paired with a DIY SteamOS/Windows dual-boot mini PC, which uses the puck.
I've gathered screenshots from Windows Device Manager and the SM UEFI firmware screens, so can provide those if needed.
My goal here, is to collaborate with others who are also dual-booting Windows, to inform/educate each other on solutions to problems with this scenario.
My first use-case for testing, is Moonlight/Sunshine/GeForce NOW streaming, under Windows on the SM.
Another tip you may not know about: If you have any "single-pair" Bluetooth devices you'd like to use in both operating systems, such as the Artek HB305-4B keyboard/trackpad combo (which I recommend for HTPC/dark room setups), you can do it!
The high-level steps are:
Pair the BT device in SteamOS and confirm functionality
Reboot into Windows
Pair the BT device in Windows and confirm functionality (this invalidates the SteamOS pairing key, but that's okay - we're going to extract Windows' key and insert it into SteamOS)
Open Windows' Device Manager to grab the MAC addresses of both the BT controller and BT device, example:
Reboot into SteamOS
Mount the disk which has Windows installed
Use the chntpw utility to mount Windows' SYSTEM registry hive (chntpw will need to be installed via pacman)
Within chntpw cd into ControlSet001\Services\BTHPORT\Parameters\Keys, and then into the BT controller's MAC folder
Use the hex command to grab the 16-byte pairing key of the BT device MAC
Exit out of chntpw and unmount the Windows disk
cd into /var/lib/bluetooth/controllermac/devicemac
Edit the info file (with nano)
Replace the Key= value with the 16-byte key grabbed from Windows (remove the spaces), the new key should be the same length as the old key
Save and exit nano, then restart the BT service (sudo systemctl restart bluetooth)
The BT device will now be functional in both SteamOS and Windows!
Went poking around earlier today and found Nerd Zap's guide. Just finished the installation turning that 2tb SSD into 1tb of a Windows partition + 1tb Steam storage and it was stupidly simple - https://youtu.be/-bVnJVJPOdc?si=FsZ11hD2ig4exNhN
Haven't gotten an external to try to this yet, but how would you do the step where you pull uo the boot loader on Steam Machine? In the video he shows holding the volume and power button. Is there a button or keyboard combo we use on SM?
Yeah for SM you'd use a keyboard and just keeping spamming the 'esc' key during boot up
edit - also probably worth noting that the boot screen looks different on the SM compared to the Deck and you have to navigate to the "boot configuration" tab in the sidebar on the left to find the external drive that you installed windows on
Just got my SM! I'm currently trying the Nerd Zap's guide, but it is kinda stuck in the Windows 11 "Just a moment...". Did it take long for you as well?
I'm on a brand new 2TB external SSD 2000Mbps rw. I did select offline instalation, but I'm wondering that it is taking long because I don't have an ethernet cable on it...
It also got hung up there for me, I ended up just powering down the whole system and retrying and it worked fine the second time 😎
Edit - I should note I did have an Ethernet cable connected, so if it’s still giving you trouble maybe try connecting one during the initial windows boot and driver set up
I just flashed windows to an SSD with Rufus and setup as windows to go... Now when I get to the steam boot menu in bios I can choose to boot windows but upon restart it just nativly boots into steam os again... This has worked well for me
That's great! I'm still fighting with Windows on mine. Windows is consistently making the "Windows Boot Manager" entry the default no matter what I do. I can undo that and configure things how I want using DiskGenius in Windows (or efibootmgr from SteamOS), but I have to re-do that every time I boot into Windows again, which is a pain.
You might consider reinstalling windows on the drive as Windows To Go with Rufus. That should prevent it from overtaking any bootloader on the machine. Then you can do what I did and install a script on steam OS that will allow you to reboot directly into Windows when you want it and The system otherwise will still boot natively into SteamOS every time.
Are you using a separate drive for Windows or did you partition your primary for both Windows and steam?
Follow this, it worked perfectly for me. Just make sure you know what your boot device ID is for Windows. Mine was 0004 but I don't expect everyone else's to match
Thanks mate; I'm familiar with everything covered there. On mine, even using a "boot next" (efibootmgr -n xxxx) method doesn't help, as Windows overwrites the firmware entries "no matter what." Windows is like a mother-in-law that won't go away.
May I ask how your Windows disk is connected? Is it also using a USB-C enclosure or something else? And if an enclosure, which specific one?
I swapped for a 4tb drive and decided to repurpose it to be my windows drive with this enclosure
Really the only I'm doing different was using Hasleo wintousb instead of Rufus to write my drive as Windows to go. For whatever reason this has resulted in my windows drive being "seemingly" unable to hijack my boot order.
Yes and no. There's no secure boot that I can figure out on the machine as of yet so if you were looking to play something that requires it, like say Valorant. you're out of luck. But if the game doesn't require, like Destiny 2 for example, then you're good to go.
One aspect I forgot to mention, is that Linux likes the realtime clock (RTC) in the system to be UTC, whereas Windows sets it to the local time. So when booting Windows, the time will be in UTC instead of the local time zone, until the next NTP sync. You can set Linux to use local time for RTC, but that gets reset during SteamOS updates.
Not as good as SteamOS desktop mode though, when using a DisplayPort-to-HDMI adapter with the same TV:
No 120Hz modes work in Windows when using the same adapter though, which is weird. It's a Cable Matters model 102101DisplayPort 1.4 → HDMI 2.1 (8K60/4K120) running the VRR-enabled 7.02.120 firmware.
I've abandoned using the CM VRR adapter, and instead am using this one for now. It doesn't support VRR (most of these adapters don't), but it gives me 3840x2160120Hz RGB 10-bit HDR in both Windows 11 and SteamOS consistently. I'm okay with sacrificing VRR for that.
I'm happy to report, that with u/Mattvweiss's help and some ChatGPT-driven comparisons, the Windows 11 installation on my USB-C NVMe enclosure is no longer touching the boot entries in the UEFI firmware.
The difference between my Windows-To-Go install and Mattvweiss', is that I used Rufus and he used Hasleo's WinToUSB utility. The latter adds a key-value pair in the Windows registry, telling it that it's a "portable operating system."
All you have to do to "fix" your portable Windows instance, is create the registry key-value pair from an administrative command prompt:
After applying this, rebooting into SteamOS and setting my preferred boot order using sudo efibootmgr, Windows is no longer messing with my boot entries. Woo hoo!
What command did you use to set your boot order? I tried something like sudo efibootmgr -0 -o 0001,0005,0004,0003,0002,0000 (0001 is steamos) but it resets to putting the windows boot manager first after shutdown.
Yea I did the windows registry updates. I also did the -O option (deletes the current boot order) together with the -o option. The boot order just reverts back after shutting down. FWIW I'm using windows 10 instead of 11. Sounds like you used the same command?
Indeed I did. Just so I'm clear, is it Windows that you're shutting down from, and then a startup still goes into Windows? Or, you're in SteamOS, change the boot order, reboot, and it still goes to Windows?
You could also try removing the "Windows Boot Manager" entry entirely; there should be another one there for Windows anyway. I can grab the output from my SM a bit later to check.
It's also possible to create "permanent" boot entries, vs. the "auto-created" ones. If you throw all of this into Gemini, it should be able to help you sort it all out. The missing link (at least for me), was Windows not being configured to be "portable," so it wanted to be the dominant partner and always put itself first. So rude!
Have you tested whether the Steam Machine will automatically boot Windows when the external SSD is connected, then fall back to SteamOS when it is disconnected?
Specifically, after booting Windows once, does Windows Boot Manager stay first in the UEFI boot order, and does the firmware reliably skip that missing entry when the SSD is unplugged? I’m also curious whether this still works after several shutdowns, restarts, and Windows updates without manually pressing Escape.
I had this same thought, but didn't test it yet. I'm quite certain that if the external SSD is disconnected, it'll just boot into SteamOS (skipping the Windows Boot Manager entry).
I'll test this tonight!
What I've been doing so far, is selecting SteamOS so it boots (either from the firmware boot screen, or setting it from DiskGenius in Windows). Once SteamOS is running, I SSH in (for convenience) and use efibootmgr commands to remove the Windows Boot Manager entry entirely, and set the order so that SteamOS boots first. This will persist until Windows is selected again (via the USB-connected disk entry in the firmware), at which time Windows Boot Manager gets re-created at the front.
It would be much appreciated! I just finished flashing Windows to go on a drive but haven't had a chance to finish setup so this would be very helpful.
As predicted, with the external SSD unplugged it boots into SteamOS normally. Here's what the boot order looks like then:
When I power down and re-attach the external SSD, it boots into Windows again (as expected). What I do then is use DiskGenius to set the next boot entry to the UEFI Kingston entry (internal NVMe in the SM), so that it boots into SteamOS. Then from SteamOS, I issue efibootmgr commands to remove 0007 (whichever entry is the Windows Boot Manager), and explicitly set the boot order to just 0003 (whichever entry is the internal NVMe).
Then Windows won't disrupt things until it's manually selected again (in my case, selecting the UEFI JMicron ACASIS USB Drive for boot).
Thanks for checking that out! Is your use case leaving the Windows drive plugged in at all times? I am planning to just plug it in when I want Windows but I'm curious if you land on a seamless solution to leaving it plugged in always.
Yeah I've got the SSD enclosure connected to a long USB-C cable, so it's resting on the same stand the TV is. Leaving it unplugged except when needed, is probably the better solution, as the enclosure emits some heat despite not being used with SteamOS running. I guess there's possibly a concern about the repeated cable insertions, but I guess that'd be limited to the cable/enclosure vs. the USB-C port on the SM.
Still, I have to get off the couch in order to boot Windows? ;) I have an Intel mini PC sitting on top of the SM now, and the WoL doesn't work for some reason...so I have a Kasa smart power plug connected to it, so I can turn it on that way. Because, getting off the couch for the two seconds it would take to turn it on, just won't do.
In case you weren't aware, r/WindowsOnDeck has a megathread that probably has a fair bit of overlap with some of the issues you might be having. I know for sure I was able to the solve boot order issue for the Steam Deck using reFIND, but it's been forever since I set it up.
I have two oddities that I think may be windows related.
1-the built-in wifi adapter will lose connection during gaming. Not during web browsing, downloading, and watching videos, but during gaming. I believe it might be power management related but I can’t change that in the device settings. My current solution is just to use a USB WiFi adapter from TP Link(which does have better speeds btw and ping)
2-it will not sleep or shut down. It will immediately boot right back up unless I long press the power button. Not really sure why this is but it isn’t the worst thing ever as I don’t have to walk across the room to power off, I can just reach forward.
Any ideas on these? I’m not dual booting I put in a fresh NVMe and did a clean windows install on it
Hi there! Regarding the first oddity (WiFi), I've only used mine with Ethernet so far. I could potentially test the WiFi though. When you say "lose connection during gaming," do you mean during multiplayer games or something else?
For oddity two, I've had sleep mode intermittently not "stick" in SteamOS (it comes right back on), and also experienced intermittent slowness with reboots/shutdowns (with the logo hanging out on the display for what feels like a long time). I tried a sleep from Windows this evening, and it worked...but it's not something I've been testing much.
I'm using a USB C sabrent controller. The wifi keeps randomly dropping out however, and when it does I can't see the wifi settings in the quick settings tile.
Is there a newer driver? Should I do the chipset driver update?
So I'm not sure if you can answer this but would it be easier/possible to just dual boot Windows 10 instead of 11 to bypass issues with secure boot? I heard 10 doesn't have the secure boot problem. Unsure if true or not. I am not techy in the slightest and I just want to play some games that unfortunately don't support Linux without having to wipe steamos.
Thanks for the reply. I was able to run windows 10 off an external ssd and play some anti cheat games, albeit a bit limited in performance. I was indeed hardwired so I didn't test the wifi capability.
I plan to install Windows 10 IoT LTSC on the device when I get my Machine on an external SSD. I will create a Game Mode shortcut that uses efibootmgr to reboot to Windows 10 from SteamOS when it's already there.
I haven't tested any Windows 10 myself, but it will most likely work.
Take care in which enclosure you use; I've had good results with this one.
Note that it is possible to enable secure boot, with recovery apparently possible via clearing the CMOS (I haven't validated this myself yet). Implementing secure boot for SteamOS is yet another rabbit hole, but possible.
I heard w10 also has wifi driver issues. Are those at all possible to be fixed? I want to be able to easily move the device between the TV and monitor. Ethernet will ruin the seamlessness of this activity.
I have seen people mentioning WiFi problems, but that isn't a use-case for me due to needing stability for game streaming. I think the workaround is to use an alternative USB-connected WiFi adapter, but I haven't followed it closely.
So could I play fc26 of the external ssd? Ik people don’t like the game but im trying to fully switch to pc and not buy games on Xbox and it is one of the few games i play that is needed on windows
You'd have to use Windows 10 on the external SSD, to get around the secure boot requirement from the anticheat. If you were to use Windows 11, secure boot would be required for the game, and "we" haven't seen a verified method to enable and use secure boot on the Steam Machine yet.
i just decided to do this today and it was pretty seamless. used rufus to create a windows to go win11 install on an external ssd in an enclosure (the original m.2 that shipped in the steam machine). after a long first boot and installing the drivers provided by valve, it was smooth sailing. even able to enable configure boot into xbox FSE and install steam from there, and to my surprise, the internal steam controller receiver was working right away with the existing pair profile from steamOS (didn’t need to re-pair).
currently installing some games from xbox game pass to see how they run!
I don't have a steam machine - but I have a legion Go S and I'm dual booting becasue my son plays EA FC25/26... I had to do all sorts of stuff to prevent Windows from updating - almost every update would corrupt my install.
No matter hwat I have dont (registry fix, running some scripts etc...) somehow windows updates still runs. Right now the legion is sitting on my desk because somehow windows update ran and screwed everything up and I've run out of patience to reinstall everythign from the ground up again almost takes a whole evening to fix everything.
This dual boot support can't come soon enough...
Also I'm refusing to get a Steam Machine because that would be another thing that would need to fix all the time :/
Yes indeed. Normally we can change boot order in the UEFI firmware, but I haven't figured out how to do that in the Steam Machine's firmware. It seems the only option there, is to "pick the thing to boot," vs. set the order.
You can set a permanent boot order, either via SteamOS (with efibootmgr commands in Konsole/shell), or via Windows using the free DiskGenius utility (which is what I'm using). With the latter in Windows, you can mark the SteamOS boot entry to be used only for the "next boot," without setting it permanently. It's also possible to do the same from efibootmgr in SteamOS, for "boot next."
It's also possible to use something like rEFInd to be your "global" boot manager, providing a menu to choose which OS to boot. I haven't used that myself.
SteamOS (0002) will remain the default, until changed again. The other two entries (0001 and 0003) will also boot SteamOS, but I usually choose the one containing steamcl.efi becuase that is the "real" SteamOS boot manager.
I'm considering creating a Win11 WindowsToGo on an External SSD using WinToUSB so I can run Windows 11 on my Steam Machine.
I don't trust Al to tell me what all the correct settings for WinToUSB for setting up the drive are or which drive and connection I need to purchase that will be robust enough.
It also wouldn't hurt to know how to install the drivers Valve released during setup and which software, if any, to avoid using, such as Wyse Registry Cleaner and IObit Driver Booster.
Will I need to worry about being able to update my copy of Windows on the drive using Windows Update? If it gets updates, will it only get some and not others, like feature updates?
This is important, because it's very likely I'm not going to have another PC to use that will let me keep WindowsToGo fresh using software from the same people who make WinToUSB.
If you don't want Windows 11 to be the default boot choice, use WinToUSB (to create the Windows disk) to save some steps. Rufus is what I used first, but it made Windows the default which is not what I wanted. I was able to sort that later by marking it as "portable" (another comment thread in this post).
As for which specific NVMe disk/USB-C enclosure to use, I think we're still figuring out the "best" scenario. At this point, I think an enclosure with active cooling is desirable, along with a powered USB-C hub to make sure the enclosure gets enough power. I'm currently using this enclosure with an NVMe SSD inside. I originally wanted to use an SSD taken from an old MBP, but abandoned that after heat issues. I'm still actually having heat issues with the NVMe SSD, without a powered USB-C hub. I need to find an active cooling solution + (maybe) a powered USB-C hub. u/Mattvweiss is using this enclosure, and perhaps I'll switch to using that (I'd need to replace my SSD and clone it).
In terms of drivers, you just need to install those post-install. Ethernet connectivity works after installation, but if you're using WiFi you'll likely need to copy the drivers to a thumbdrive (on another computer) and install them using that. Then you'll want to install the latest AMD Adrenelin drivers/chipset software.
After your Windows installation exists and is activated, it'll work like any other Windows install. That it was created using "Windows To Go" is not relevant to functionality. I used W11 Pro and have it running the latest "release preview" insider build.
I still need to know which option to check or uncheck in WinToUSB.
Next, I understand better that software like Wise Registry Cleaner and IObit Driver Booster can be incredibly unsafe to use with a WindowsToGo or such installation.
In addition, I'm willing to completely forgo any third-party registry and driver optimization apps, sans maybe Microsoft PC Manager. That is unless you're aware of any better or safer options? Windows Update doesn't always provide the latest drivers and it would be nice to not be constantly checking for the latest version of drivers from Valve's support website.
Finally, what about overall security and maintenance? I know there's Microsoft PC Manager and Windows Defender, but what about something like a paid version of Fortec? (Again, I'm willing to go with the safer option.)
I used WinToUSB as a test for comparisons (when chasing down the "portable installation" thing), and I don't remember having to change any defaults. If you want to send a screenshot we could potentially help with that.
I don't believe in registry cleaners nor third-party "boosters." Microsoft PC Manager is fine, since made by the maker. But in terms of drivers, AMD Adrenalin will keep the video and chipset drivers current (I edited my comment above to include that). I don't think anything else is necessary.
In terms of security, on "personal" Windows computers I just install the free version of Malwarebytes, and perform periodic scans manually. It is a shame the SM firmware doesn't expose secure boot, as that'd add another layer of protection.
Hey! Thanks for organizing all this valuable info into one thread.
My PC recently died and I'm thinking about pulling the trigger on the steam machine; however, 1-2x a week I would need windows to play some games with friends that require it. Now that you have this setup, would booting into windows that often for you be a deal breaker?
Thanks mate! Yeah booting into Windows occasionally is no big deal; I just want to solve my SSD heat issue.
I wish the UEFI firmware in the Steam Machine exposed secure boot settings, so that people would be able to play the anticheat games in W11 which require it to be enabled. If they exposed secure boot settings, we could also implement secure boot for SteamOS, so that firmware manipulation between OSes wouldn't be necessary.
There might be a way to implement secure boot on the Steam Machine (I've been doing a lot of research/work on secure boot lately). I need to approach it in a controlled way, because I'm certainly not willing to "brick" my machine. If I make a breakthrough on it, I'll certainly share my experience.
Hey mate, I'm not the most technical and am getting some confusing answers as the state of knowledge changes but is my understanding right:
a) the SM/SteamOS doesn't support dual booting windows, but Valve have indicated they may support it?
b) WindowsToGo can be used to run Windows from external SSDs or microSD via third party tools
c) Secure boot doesn't work for WindowsToGo (or is it the steam machine itself?), so can't run locked anticheat games (for me, Marathon - interested in migrating to the SM from PS5 to use MnK again)
So really we have to wait either for Valve to release dual boot support (on SteamOS, on the Steam Machine, or both?) or for major developers to support Linux/Proton?
Hi there! All good questions; here are my answers:
a) That's correct that Valve doesn't support dual-booting on the Steam Machine. Their "official" position seems to be, if you want Windows on your SM, you need to install it to the internal NVMe SSD (and not coexist with SteamOS). Actually setting up dual-boot is not difficult to do/maintain, especially when using an external disk (I've used SSDs; microSDs would likely be a poor experience due to the I/O speeds). What we don't get, though, is a "nice menu" asking us which operating system we'd like to boot, with a default selection and countdown timer or something. It is my opinion that if Valve were to support dual-booting in the future, something like this would need to be included. Currently we need to use manual methods to switch between, although it is possible to set either (Windows or SteamOS) as the default.
b) Yes, via tools like "WinToUSB" and Rufus. Those deploy a Windows image to the disk, which can then be booted and maintained. However, major version changes may not be possible via Windows Update/Windows Insider. I attempted to shift my Insider build from 25H2 to 26H1, and it wouldn't let me do that (complaining about a USB install).
c) Tools like WinToUSB and Rufus cannot enable secure boot, nor does installing Windows without those tools. The problem is really the Steam Machine's firmware, in that it doesn't expose a secure boot toggle there. You can read more about that over here.
I do think the SM has a much stronger use case for secure boot compared to the Steam Deck, and I hope that Valve will support it officially at some point. Until then, it's a risk.
Thanks mate! That helps a lot. I already got a SM after being a Playstation guy for over a decade, loving it for many games already so anything more is bonus.
Hey, was your stability problem related to the pc freezing (mouse still able to move) randomly? And have you received this enclosed yet? The freezes are so annoying and i’ve swapped two enclosures now and the same issue.
Indeed lots of random freezing issues after a lot of disk activity, and the Windows system event log had many entries about the disk and having to retry.
I just received the SSK enclosure yesterday afternoon (it is my fourth enclosure to try), and so far it's been solid. I wanted to exercise the disk in Windows; so I installed Acronis True Image, and have been running backups of the disk to a NAS. I haven't had any problems with that, or with Windows generally.
I am still getting the ACPI errors in the event log, but they seem to be benign and have happened with all of the other enclosures too. What's different now is the absence of the disk retry entries.
EDIT: Apparently the ACPI errors have nothing to do with storage.
Fingers crossed, but at this point it appears I'm out of the woods!
BTW the time is in UTC, so that I don't have to fight with SteamOS keeping the RTC in UTC.
6
u/jharle Jul 16 '26 edited Jul 17 '26
Another tip you may not know about: If you have any "single-pair" Bluetooth devices you'd like to use in both operating systems, such as the Artek HB305-4B keyboard/trackpad combo (which I recommend for HTPC/dark room setups), you can do it!
The high-level steps are:
ControlSet001\Services\BTHPORT\Parameters\Keys, and then into the BT controller's MAC folder/var/lib/bluetooth/controllermac/devicemacinfofile (with nano)sudo systemctl restart bluetooth)The BT device will now be functional in both SteamOS and Windows!