Steam Deck单盘双系统+Clover-dualboot引导安装流程
lwyx2017
编辑于 2024年01月18日 21:46
收录于文集
共34篇

前言

说到Steam Deck这个机器,目前我入手也快有一年了,不过说实话平常还是主力机玩的比较多,这个机器玩的较少,虽说最早上手这个机器的时候,我个人的想法是这个机器主要用SteamOS为主,Windows装在TF卡或者移动硬盘里偶尔用一下就可以了,之前写的专栏我也提到过。

而我个人虽然将Win11装在TF卡里用了一段时间,虽说可以做到双系统两个空间互不干扰,系统更新的话也不会掉引导,但实际体验却不是很好,原因是TF卡的读写速度并不是很快,而现在Win11对硬盘读写性能是有一定要求的,硬盘的随机读写性能也会影响到系统流畅度,使用TF卡的话有时候还是会感到系统会变的很卡,尤其是在进行下载和复制文件操作的情况下。

让我放弃使用TF卡做WTG是有一次使用过程中TF卡在启动系统的时候突然卡住,重启后虽然能进入系统,但关机的时候又卡住了,也出现过掉卡的情况,出了这个事以后就感觉这个机器的系统还是装固态上好了,就算要做WTG,还是推荐移动硬盘或者质量比较好的U盘,不太推荐使用TF卡做WTG,一方面除了会产生果冻效应,带来不好的体验以外,另一方面是有些质量不好的TF卡这样用,时间长了也可能坏和出故障。

去年基本上是比较懒的状态,也不怎么想折腾这些东西,当时因为我个人Windows用的比较多,SteamOS用的比较少,那个机器后面又被我换成Win11单系统装内置固态里了,不过Windows用了一段时间后,也总觉得这台机器用Win系统还是有点买椟还珠的感觉,有时候也想玩玩SteamOS,对我来说又完全离不开Windows,或许还是双系统比较好,而使用移动硬盘做WTG的话感觉还是有些不方便,就想考虑一下单盘双系统。

最近逛Github看到一个项目,这个可以用Clover脚本来对SteamOS和Windows实现双引导启动,还支持一些特色功能,例如可以让SteamOS和Windows双系统的安装进行尽可能少的更改,有漂亮的GUI界面,支持自定义主题,图标和背景。

这个东西除了可以支持单盘双系统以外,还支持启动其他操作系统,例如Ventoy、Batocera、Kali、Ubuntu和Fedora,可以支持启动硬盘上的系统以外,也可以支持启动外置存储设备上的系统,例如TF卡上的Batocera。

另外如果双启动项被BIOS/SteamOS或Windows更新破坏,还可以自动轻松的重新创建双启动项,无需输入手动命令,就感觉有点意思,想折腾一下。

说到Clover这玩意,以前我拿它给X58上Nvme固态玩过,当然启动Nvme硬盘上的系统只是这个工具的副业,它的主业还是启动硬盘上不同的操作系统,玩过黑苹果的应该也用过。

之前我不想搞单盘双系统就是担心掉引导,而这玩意支持引导自动修复说不定可以玩玩,前面折腾成功后,就想写一篇专栏做为折腾这个的记录,也顺带给对这方面有需求的小伙伴一些帮助。

虽然SteamDeck单盘双系统的教程很早就有了,我现在做这个也意义不大,只是图一乐,教程比较偏新手,老手的话就可以忽略了,了解以后其实也感觉这玩意很简单,如果有什么建议的话欢迎大佬们指出,那么废话不多说,就赶快开始吧。

工具下载

流程中所提到的工具整合(除了放出有的官方链接以外,我也放一下度盘的链接吧,想要最新版的可以去原链接下载)

系统镜像的话由于比较大,就不上传了,那个大家自己下载吧。

工具整合:https://pan.baidu.com/s/1YWWPUOeyI3_7XOd_3rnA_g?pwd=6666 

提取码:6666

重新安装SteamOS

在做这个之前,我们需要给机器重新安装SteamOS,在重新安装系统之前,我们需要备份机器上自己还要的文件,这个就自己根据需求进行吧,再给机器接上扩展坞和键盘鼠标,方便后面操作。

备份完成确定机器硬盘里没有重要资料后,我们就来制作SteamDeck恢复盘,准备一个容量8G以上的U盘(建议USB3.0以上的),下载Steam Deck恢复映像。

https://help.steampowered.com/zh-cn/faqs/view/1b71-edf2-eb6d-2bb3

我们访问这个网址,如果这个网址失效或者过期了的话,通过搜索Steam Deck恢复的关键字查找即可,按照官方的教程制作启动盘,我这边使用的是Windows系统,就使用Rufus将恢复文件写入U盘。

Rufus官方网站:https://rufus.ie/zh/

启动盘制作完成后关闭软件弹出U盘,把它插上机器,Steam Deck同时按住电源键和音量+键,听到启动音后松开电源键,但不要松开音量+键,即可进入BIOS。

进入BIOS后,我们选择Boot Manager,再选择U盘启动。

启动完成后进入SteamOS恢复页面,因为是要完全重装系统,所以我们选择Re-image Steam Deck,对Steam Deck重新映像,等待操作完成即可。

系统重装完成,进入SteamOS后,我们会看到激活页面,还是按照常规方式激活,并下载所需的资源,不然无法切换至桌面。

如果网络不好提示安装失败的话,我们可以在另一台电脑上使用网易UU加速,Steam Deck连接WiFi的时候选择高级设置,填入UU加速器给你的各项地址即可。

成功进入SteamOS后,到登录账号这一步我们可以暂时不用登录,我们按下Steam键,电源那里选择切换至桌面。

切换到桌面后,第一次切换到桌面可能会自动下载Steam客户端,等它下载完即可。

下载完后我们打开终端Konsole,输入passwd设置root密码。

root密码设置完成后,再使用sudo加上steamos-readonly disable的命令,解除系统只读保护,防止后面折腾受到限制,其中设置的root密码要记住,尤其是后面一些操作(例如安装Clover脚本)是需要root权限来做的,执行前需要输入root密码。

分配Windows需要的分区

上面设置完成后点击关机,插入前面制作好的恢复盘,重新U盘启动进入恢复系统,进入恢复系统后,打开KDE Partition Manager,虽然前面在系统里可能也可以直接用这个来分区,不过个人还是推荐在这个恢复系统里来进行分区操作,不容易受到其他因素影响。

打开KDE分区管理器后,我们找到机器的内置硬盘,往下拉找到home分区,右键选择Resize/Move(或者按下快捷键Ctrl+R)从Home划分出Windows的分区,上面的分区不懂的话不要去调整,不然可能会导致系统无法正常启动或者工作。

因为我个人不考虑搞互通盘,就只需要划分出一部分空闲分区用来装Windows就可以了,两个系统各玩各的,对互通盘折腾不算是很熟练,而且这个可能有一定兼容性问题,如果你怕麻烦不喜欢折腾,不愿意处理这方面可能存在的问题的话,就别搞互通盘了,还是井水不犯河水比较好。

例如互通分区如果使用NTFS的话,虽然Windows那边兼容性较好,可SteamOS这边可能会出现游戏闪退,打不开的问题,也需要修改SteamOS系统中的配置文件来达到目的。

搞btrfs做为互通盘的话,Windows那边的兼容性又变差了,因为Windows原生并不支持这种文件系统,所以就需要安装对应驱动,或者使用第三方软件才能读取,也可能存在一些兼容性问题,例如会遇到权限问题,Win系统那边创建的文件只能读取不能写入,需要修改注册表来解决,有些应用只支持安装到NTFS格式的分区,例如微软商店和XGP的游戏,就只支持安装在NTFS的硬盘,如果要折腾互通盘的话,还是看其他大佬的教程吧,这里就不说我不熟悉的东西了。

回归原题,留给Windows的分区,在Free space after那里设置即可,大小由你个人决定,因为我在那边主要是玩一些学习版的小游戏,把那些游戏放在TF卡上(例如GAL),正版的还是喜欢来SteamOS这边玩,这里只分了100G,在那里输入102400,点击OK即可。

划出空闲分区以后,点击软件左上角的Apply应用设置,我们就可以关机了,格式化分区的操作推荐进PE使用DiskGenius,那样可以确保4K对齐。

安装Windows系统

这时候我们再做一个PE盘用于Windows的安装,PE用什么就看自己吧,我个人使用的是系统总裁的U盘魔术师PE,只要能运行的了DiskGenius和Dism++就OK。

将PE写入U盘,再将DiskGenius和Dism++,以及Windows镜像复制进去即可。

DiskGenius官网(这个PE里一般有,不过有时候PE里内置可能不是最新版,可能是存在BUG的旧版,以前遇到过这种情况,所以我个人一般喜欢用单独的新版)

https://www.diskgenius.cn/download.php

Dism++下载:https://github.com/Chuyu-Team/Dism-Multi-language/releases/latest

Windows镜像的话我们可以在MSDN下载,没有账号的话注册一个就行,安装Win10还是Win11看自己需求选择下载即可。

MSDN新版官网:https://next.itellyou.cn/Original/

接着我们选择做好的PE盘启动,进入PE运行DiskGenius,对刚才划分出来的空闲分区建立新分区,文件系统选择NTFS,并设置4K对齐,卷标可以设置成Windows方便区分,点击工具左上角保存更改。

格式化完成后,我们运行Dism++,选择释放镜像,再选择镜像所在的目录和释放的目录(刚才格式化的新分区),目标映像中选择我们需要安装的版本,之前我安装和激活的是专业工作站版,这里重装也就选这个了,勾选添加引导,将Windows镜像写入。

写入完成后关机,开机后会自动进入Windows,这里需要注意在Clover安装完成之前,Windows这边不要联网,不然联网后可能会自动更新,系统更新的话可能会掉引导。

我们还是按下Shift+F10打开命令提示符,输入oobe\bypassnro.cmd,重新启动后就可以跳过联网和登录微软账号。

Windows这边激活按照常规的方式即可,我这边也不多解释了。

安装Windows驱动

进入Windows后,我们安装这台机器在Windows下的驱动,以及自己需要的软件,我们既可以在Steam官网上下载驱动,也可以在GitLab一个项目中下载驱动,我放一下两边的地址。

Steam官网Windows驱动程序(链接失效的话也同样按照上面说的方法自己搜索):

https://help.steampowered.com/zh-cn/faqs/view/6121-ECCD-D643-BAA8

GitLab的jupiter-PKGBUILD:https://gitlab.com/evlaV/jupiter-PKGBUILD

往下拉或按下Ctrl+F查找关键字,即可找到这台机器在Windows下的驱动,在这边我们还可以下载这台机器的BIOS,还有各种折腾教程,后面关于折腾BIOS方面如果有精力的话,我也水一篇专栏吧。

另外这边还可以下载历史旧版的驱动,如果新版驱动有BUG,而官网不再提供旧版驱动的话,也可以来这边下载,之前11月更新的那版APU驱动我个人感觉亮度调节有些问题,就用上一版驱动了,等下一版更新再看了,以前用A卡遇到这种情况也早就习惯了,不过吐槽一下这台机器的APU在Windows下的驱动更新是有点慢,要好几个月甚至半年才会更一次,不像公版驱动更新比较勤快,这台机器在Windows下GPU需要使用专属驱动,不能使用AMD公版最新驱动,个人认为也算是一个缺点吧。

我们按照官方的教程安装各种驱动即可,其中cs35l41和NAU88L21的驱动要在安装GPU驱动以后安装,机器才会正常有声音。

像GPU驱动不带AMD驱动控制面板的话,可以从版本接近的公版驱动包中提取AMD Software包来进行安装,例如我用的是去年3月那版驱动,驱动的实际日期是2月27日,我是从23.2.2的驱动包中提取ccc2_install来进行安装的。

而去年11月的驱动的话,那版驱动实际发布日期是9月6日,我前面试过可以匹配23.8.2的驱动控制面板,如果出现不兼容的情况,可以自行更换其他版本,驱动版本与AMD Software版本接近即可,要注意以GPU驱动的实际日期来进行匹配,而不是官方发布的日期,例如11月那版的驱动实际上是9月出的,那它就只能匹配那个时间段的AMD Software,并不能匹配11月新版的。

安装完这些官方提供的驱动后,建议安装AMD芯片组驱动,因为设备管理器里可以看到PCI设备和系统管理总线的控制器没有正常驱动,而且这台机器的触摸屏是走I2C总线的,所以还需要安装AMD芯片组驱动。

AMD芯片组驱动我们直接去AMD官网下载即可,选择笔记本电脑的芯片组驱动下载即可,这台机器虽然采用了定制APU,不可以安装公版的GPU驱动,但其他硬件在Windows下使用的驱动是通用的,把它当成笔记本就可以了。

AMD驱动下载:https://www.amd.com/zh-hans/support

至于驱动安装完成后依然还有未知设备的话,可能是BIOS的原因,更新BIOS即可,记得这台机器刚买来在旧版BIOS下装Win系统是有六个未知设备,后面随着BIOS的更新只有三个了,期待V社官方能在未来的BIOS更新中能完全解决这个问题吧。

驱动安装完成后,我们打开控制面板,选择硬件和声音,再选择电源选项中的更改电源按钮的功能,更改当前不可用的设置,取消勾选快速启动,不然可能会出一些问题,毕竟这个是单盘双系统。

接着以管理员身份运行命令提示符,输入以下两段命令,用于解决Windows在启动时中心会显示奇怪的垂直线问题,还有双系统切换后的时差问题。

bcdedit.exe -set {globalsettings} highestmode on

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

我们还可以打开磁盘管理,隐藏那两个不需要读取的efi分区,在更改驱动器号和路径中选择删除即可,并重新理顺需要读取的盘的盘符(为它们重新更改驱动器号)

安装Clover-dualboot

Windows这边基本的准备工作完成后,我们就可以关机,准备开始安装Clover了。

我们进入BIOS中的Boot Manager,此时已经可以在BIOS中选择启动哪个系统了,这时候我们双系统可以算是成功了,不过这还没完,还有最关键的一步。

这样虽然看上去可以用了,但如果其中一个系统有大规模更新的话,就可能会出现掉引导的情况,所以我们还需要安装Clover,就是文章开头提到的那个项目。

https://github.com/ryanrudolfoba/SteamDeck-Clover-dualboot

我们直接选择下载ZIP即可,当然在安装了Git的情况下,也可以使用git clone的命令下载。

下载完成后把它解压,复制到U盘上,机器那边选择启动SteamOS系统,并切换至桌面。

切换到桌面以后,我们在刚才下载的那个项目文件夹下,点击鼠标右键,选择在终端中打开(快捷键Alt+Shift+F4),或者在Konsole中使用cd命令切换到此目录。

打开终端后,我们输入chmod +x install-Clover.sh,赋予那个脚本执行权限。

再输入./install-Clover.sh,运行那个脚本以安装Clover,输入root密码即可。

接着会弹出一个窗口,让你选择在Clover的GUI引导菜单中默认自动启动的操作系统,按自己需求选择,我选择的是Windows,反正后面也可以更改,等待工具自动下载Clover ISO就行。

如果运行过程中出现问题,提示Clover下载失败的话,不要着急,我这边提供一下关于这个的解决方案,通过查看那个Shell我们可以看出Clover是从Github下载的。

那样的话我们可以使用由Dogfight360制作的一个叫做steamcommunity 302的工具,详细的使用方法我就不多说了,自己探索使用吧。

steamcommunity 302官网:https://www.dogfight360.com/blog/686/

我们将导出的脚本SteamDeck_302文件夹复制到机器上,因为这个运行是需要依赖这些文件的,所以要复制到机器内置的存储中,右键选择在Konsole中运行,输入root密码安装即可。

SteamDeck_302安装完成后,重新操作之前执行install-Clover.sh的流程即可,直到终端中提示Clover下载成功且安装完成,桌面上已创建Clover Toolbox的图标为止。

我们打开这个可以进行设置,具体怎么玩自己研究吧,这里就不多解释了。

操作完成后我们直接重启机器,此时启动的LOGO变成了如图所示的图标,这时候我们就可以通过这个界面来选择启动双系统的其中一个系统啦。

我试了一下两个系统都能正常启动,还是不错的,这时候系统这边我们就可以正常联网,完成之前我们没有做完的设置和需要安装的软件了,剩下该做什么就自己弄吧。