【教程】在Steam Deck上安装系统引导软件rEFInd

本文详细介绍了如何在SteamDeck上安装rEFInd以管理双系统引导,包括更新BIOS、安装rEFInd以及在Windows中设置rEFInd为最高引导优先级的步骤,同时提供了处理可能出现的问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Acknowledgement: 本文为链接里的教程的简明中文版本,last accessed 2023年2月3日。
Disclaimer:本文主要为翻译,在个别地方添加了原文没有细讲的操作细节,在个别地方添加了译者的操作心得。在安装完rEFInd后想要重新安装Windows系统小节前译者都通过操作验证了正确性。读者因为操作对于自己SteamDeck的损坏与译者无关。

前言

折腾steam deck双系统折腾得痛苦不堪,陆续经历了bios打不开steamOS卡在加载画面(一个圈一个弧),长按电源+音量(+/-)连bios都打不开直接进windows两个阶段,就在准备写安装盘重装的时候,这个东西救了我狗命!!!

安装流程

(选)更新BIOS

SteamOS

  1. 进入SteamOS桌面模式
  2. 打开Konsole
  3. 按顺序输入指令
    git clone https://github.com/jlobue10/SteamDeck_rEFInd/
    cd SteamDeck_rEFInd
    chmod +x bios_update_SteamOS_prep.sh
    ./bios_update_SteamOS_prep.sh
    

Windows

  1. 如果已经按照添加一个Windows任务,始终将rEFInd作为最高引导优先级添加了任务,则首先禁用这个任务:右键任务选择禁用。
  2. 删除启动程序设置:以管理员身份打开Powershell,运行bios_install_prep.ps1脚本。
  3. 下载DeckFlash_Win.7z,下载最新的Steam Deck BIOS。将.fd BIOS文件放在与解压缩的InsydeH2O文件夹相同的目录中,并确保它是其中唯一的BIOS更新文件。
  4. 运行H2OFFT-Wx64.exe,点击确定安装.fd文件。
  5. 重启电脑,进入Windows,重启第一步中禁用的任务并手动重新运行该任务一次。

该方法也可以用于降级BIOS。

安装rEFInd

正文开始

  1. 首先,确保按照进不去SteamOS中的步骤1-4走可以看到你的SteamOS和Win的启动文件分别位于:/esp/efi/steamos/steamcl.efi/esp/efi/Microsoft/Boot/bootmgfw.efi位置。
  2. 进入SteamOS桌面模式(启动SteamOS,按STEAM键->电源->桌面模式)
  3. 打开Konsole
  4. 按顺序输入指令:(如果上文克隆过仓库就不用克隆了)
    git clone https://github.com/jlobue10/SteamDeck_rEFInd/
    cd SteamDeck_rEFInd
    chmod +x SteamDeck_rEFInd_install.sh
    ./SteamDeck_rEFInd_install.sh
    
    或者,基于pacman的安装遇到问题,可以采用无pacman安装方法。
    chmod +x refind_install_no_pacman.sh
    ./refind_install_no_pacman.sh
    
  5. (选)启动,rEFInd界面启动后后5秒钟自动进入默认系统(SteamOS)。修改refind.conf文件可以调整等待时间。如果值为-1则自动启动默认系统,除非在预启动阶段按下了任意按键或者触摸了触摸板。
  6. 选择操作系统:使用右边的触控板和R2按钮,或者十字键和A按钮。

理论上这样就可以了,但是仍然会出现开机时直接进入Windows系统的问题。因此增加下面一节,如果进入了Windows系统则唤起rEFInd。

添加一个Windows任务,始终将rEFInd作为最高引导优先级

  1. 进入Windows系统
  2. github_repo/Windows/bootsequence-rEFInd-first.ps1保存到本地
  3. 打开任务调度器(Win+R运行taskschd.msc)
  4. 右键单击任务计划程序库,新建文件夹。
  5. 然后选择该文件夹。点击“创建基本任务”,起名,点击下一步。
  6. 触发器:选择“当前用户登录时”,点击下一步。
  7. 操作:选择“启动程序”选中并单击“,点击下一步”。
  8. 启动程序:在“程序或脚本”文本框中输入或浏览选择位置:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe。在“添加参数(可选)”文本框中输入:-executionpolicy bypass -file C:\你在第二步保存文件的位置\bootsequence-rEFInd-first.ps1。点击下一步。
  9. 勾选“当单击“完成”时,打开此任务属性的对话框”,点击完成。
  10. 属性对话框:常规页面:选择“不管用户是否登录都要运行”,勾选“不储存密码”,勾选“使用最高权限运行”,勾选“隐藏”,将配置选择为“Windows 10”。
  11. 属性对话框:条件页面:取消勾选“只有在计算机使用交流电源时才启动此任务”。点击确定关闭窗口。

其它步骤

进不去SteamOS

Acknowledgement: 方法来自链接,last accessed 2023年2月1日。

请尝试以下操作,其它的阴间小众情况笔者暂时没有遇到

  1. Steam Deck处于关机状态
  2. 同时按住【电源键】和【音量+】
  3. 选择“Boot from file”按钮
  4. 逐层选择菜单:esp/efi/steamos/steamcl.efi(备注:第一层菜单可能非常长,看开头是esp即可,在笔者这里是第一个)
  5. 等待SteamOS启动

其它阴间小众情况

  • 按上述步骤操作反而进了windows

安装完rEFInd后想要重新安装Windows系统

  1. 进入SteamOS桌面模式
  2. 打开Konsole
  3. 禁用rEFInd的EFI引导项
    efibootmgr
    
    记录rEFInd的引导项,用其替换下面的XXXX。
    sudo efibootmgr -b XXXX -A
    
  4. 重新启用Windows EFI引导项。将以下命令中的YYYY替换为Windows EFI引导项
    sudo efibootmgr -b YYYY -a
    
  5. 重装Windows

如果成功安装后重新运行该脚本,该脚本稍后将再次禁用Windows EFI引导项。

注:从SteamOS 3.4更新开始,这些命令可能需要从SteamOS恢复镜像启动(才能成功)。

禁用Windows EFI条目

  • 使用Windows中的easyufi
  • 使用SteamOS恢复映像中的命令行:运行efibootmgr并记录Windows EFI条目的引导编号,并用该编号替换下面命令中的XXXX:sudo efibootmgr -b XXXX -A

恢复丢失的EFI项

在SteamOS运行脚本。该脚本检测是否缺少任何一个EFI条目,并且只重新添加缺少的条目(不创建副本)。

引导到Windows时显示损坏

以管理员身份,在cmd运行bcdedit.exe -set {globalsettings} highestmode on

以管理员身份,在Powershell运行bcdedit /set "{globalsettings}" highestmode on

SD卡Windows说明

这一段译者没有运行,仅进行翻译作为参考。

更新后的refind.conf文件现在有一个手动节(stanza)用于Micro SD卡Windows启动选项。通过在“Windows”节(stanza)中添加禁用行,确保禁用了其他“Windows”启动选项。我们需要对Windows SD进行2次编辑

需要对“Windows SD卡”节(stanza)进行2次编辑,以使Micro SD卡Windows从rEFInd正确启动。

  1. 使用KDE分区管理器来找出Micro - SD卡的EFI系统分区UUID:
    image belong to the author of the link in acknowledgement
  2. 用您的UUID替换refind.conf文件中volume REPLACE_THIS_WITH_SD_CARD_EFI_PARTITION_UUID这一行中全大写的字符串(即保留volume)。
  3. 删除节(stanza)末的禁用行。

启动时有必要按下一个键以避免引导时检查磁盘。如果没有按这个中断键,屏幕可能看起来已经损坏,直到磁盘检查完成,Windows继续启动。

禁用和/或卸载rEFInd

将XXXX换成rEFInd EFI条目

  • 禁用rEFInd EFI条目:sudo efibootmgr -b XXXX -A
  • 删除rEFInd EFI条目:sudo efibootmgr -b XXXX -B
  • 卸载pacman安装的rEFInd包携带的包和文件:
    sudo steamos-readonly disable
    # 接下来的两个命令可能没有必要,但它们也不会造成任何伤害
    sudo pacman-key --init
    sudo pacman-key --populate archlinux
    # 下面的命令删除pacman refind包
    yes | sudo pacman -R refind
    sudo steamos-readonly enable
    

由于非pacman安装的脚本文件只占用5GB根分区上非常小的空间(不占用/home分区上的任何游戏空间),所以原文没有做详细介绍。

  • 从/esp分区中删除rEFInd目录(要预先警告,如果在这里犯错误,删除/esp分区上的错误文件或文件夹可能会使你的Steam Deck无法启动,需要恢复映像。这是一个公平的警告,我不承担任何用户错误的责任。)运行指令:sudo rm -rf /esp/efi/refind/
### Steam Deck引导修复工具下载及使用方法 #### 工具选择 对于希望解决Steam Deck引导问题的用户来说,`SteamDeck_rEFInd` 是一个非常合适的解决方案[^3]。此工具不仅能够帮助实现在不同操作系统之间的顺畅切换,还提供了额外的功能来增强用户体验。 #### 下载方式 为了获取 `SteamDeck_rEFInd` ,可以访问其官方仓库页面进行克隆或下载压缩包文件: - **项目地址**: [https://gitcode.com/gh_mirrors/st/SteamDeck_rEFInd](https://gitcode.com/gh_mirrors/st/SteamDeck_rEFInd)[^1] 建议通过Git命令行工具来进行源码同步操作,这样便于后续跟踪版本变化以及贡献反馈;当然也可以直接点击网页上的绿色按钮按提示完成ZIP格式打包下载。 ```bash git clone https://gitcode.com/gh_mirrors/st/SteamDeck_rEFInd.git ``` #### 安装指南 按照README文档中的说明执行安装流程即可轻松配置好环境。通常情况下只需要运行所提供的Shell脚本来自动处理大部分工作: ```bash cd SteamDeck_rEFInd/ chmod +x install.sh ./install.sh ``` 上述指令会依据当前硬件平台特性调整参数设置并部署必要的组件到指定位置上,从而确保rEFInd能正常接管启动过程管理职责[^2]。 #### 使用技巧 一旦成功设置了rEFInd作为主要Boot Manager之后,在每次开机时都会显示一个图形界面菜单供选择想要进入的操作系统实例。如果遇到特殊情况比如无法识别某些分区等问题,则可以通过编辑EFI目录下的config文件来自定义加载项或是调试选项以解决问题所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值