首先介绍一下switchroot团队,switchroot是一个在Nintendo Switch上开发的开源开发小组,并且开发了Nintendo Switch版本的Linux和Android系统,接下来我将通过一系列的教程讲解如何在Nintendo Switch上安装和使用switchroot团队开发的Ubuntu系统。

一:必要工作

  • 一台可以进入Recovery Mode的Nintendo Switch主机

  • 一张不低于32G容量的TF卡和一个读卡器

  • 一条USB Type-C数据线

  • 一台Windows PC

  • 可以正常访问Github的网络环境

与其他教程不同的是,我会尽量通俗易懂的让大家可以理解我们为什么要做一步,而不单纯只是写出步骤然后要求大家照着模仿操作。

首先Nintendo Switch是一款基于NVIDIA Tegra X1芯片所设计的游戏主机,由于Nintendo Switch是一款专用的游戏主机,所以任天堂官方并没有开放解锁Bootloader的方法。如果想要让你手中的Nintendo Switch主机进入Recovery Mode并注入第三方Bootloader,那么你需要通过一系列的改装。在此我并不会提供改装方法,所以需要大家在其他地方学习或者购买来获得一台可以进入Recovery Mode的Nintendo Switch主机。

其次,本系列教程基于芯片改装进入Recovery Mode的Nintendo Switch主机进行制作,基于短接进入Recovery Mode的Nintendo Switch主机除了在注入hekate时步骤不同外,其他的所有步骤均可通用。

注意:改装可能导致你的Nintendo Switch主机失去官方质保并且永久失去Nintendo Switch Online访问权限!

二:下载所需文件

三:初始化TF卡

首先将你准备好的TF卡通过读卡器插入Windows PC并格式化为FAT32格式,确保TF卡内只有一个FAT32格式分区。

其次需要将下载好的hekate解压,正常情况下你可以获得hekate_ctcaer_6.1.0.bin文件和bootloader文件夹。其中hekate_ctcaer_6.1.0.bin文件名会随着版本更新而变化。

最后使用重命名将hekate_ctcaer_6.1.0.bin改为payload.bin并保存,接着将payload.bin文件和bootloader文件夹复制到TF卡的根目录下。

四:注入hekate并配置TF卡分区

将存有hekate的TF卡插入Nintendo Switch主机并开机,这时你的主机会自动注入payload.bin并进入hekate的图形化界面。

首次使用会出现设置时间的窗口,点击Done即可,否则每次进入hekate时都会弹出该窗口。这里的时间设置只会影响hekate的时间,并不会影响系统时间,所以随意设置即可。

进入主页后点击顶部导航栏的Tools,切换到Tools功能页面。

在Tools功能页面选择Partition SD Card选项。

第一次使用会有窗口提示是否自动备份TF卡文件,这里选择Don't Backup选项。

该页面可以让你自由的配置不同系统的分区所能使用的容量大小,其中HOS代表Nintendo Switch官方的Horizon OS系统分区,默认都是最大的。

接下来我们将Linux(EXT4)分区后面的进度条拉到想要的容量位置,随后选择Next Step即可。

注意:由于HOS分区需要存放Ubuntu系统的安装镜像,所以要预留出足够的空间来存放!

随后会弹出窗口提示将会格式化你的TF卡,我们无视风险继续安装,所以点击Start选项即可开始下一步。紧接着会有5秒倒计时给你考虑时间,5秒过后按下电源键即可开始自动分区。

分区完成后会弹出完成状态的窗口,这个时候我们需要点击SD UMS,并通过USB Type-C数据线将Nintendo Switch主机连接到Windows PC。

此时Windows会识别到一个可移动磁盘,我们先将ubuntu-jammy镜像进行解压。

然后复制bootloader和switchroot两个文件夹到可移动磁盘的根目录下。

当文件复制完成后,一定要通过Windows中的“安全删除硬件”的功能并选择弹出就可以将可移动磁盘安全弹出,只有这样弹出后hekate才会返回完成状态的窗口。返回这个窗口后我们点击Flash Linux即可将保存在HOS分区的系统镜像刷入Linux分区。

出现Linux刷写窗口后我们点击Continue按钮继续,随后会出现刷写Linux的进度条,我们耐心的等待进度条走完。

刷写完毕后我们选择Delete Installation Files以释放系统镜像所占用HOS分区的存储空间。

五:提取Joy-Con蓝牙数据

为了能够在Ubuntu系统中拆除Joy-Con后可以正常的无线使用Joy-Con,所以我们要在hekate中提取Joy-Con蓝牙数据并写入Ubuntu系统。

首先我们点击右上角的Close以关闭分区页面,随后点击顶部导航栏的Home切换到主界面。

回到主界面以后点击左下角的Nyx Settings打开Nyx设置页面。

接着点击Dump Joy-Con BT以提取Joy-Con蓝牙数据,提取完毕后点击OK即可关闭窗口,最后点击右上方Close关闭Nyx设置页面以回到主页。

六:引导进入Ubuntu系统进行OOBE

回到主页后我们需要点击More Configs进入更多引导菜单页面。

接着选择L4T Ubuntu Jammy即可引导进入Ubuntu系统。

首次系统启动会进入Ubuntu OOBE流程,剩下的操作和Windows OOBE流程相似,按照流程配置完成后将自动进入Ubuntu系统。

建议在连接网络选项时跳过网络连接,否则apt包管理器可能会联网进行更新,由于Ubuntu内置的apt源在国内连接速度缓慢,可能会导致OOBE流程时间过长,在后续的教程里我会教大家如何替换成清华源。