本周末(6月14日-6月15日)恰逢Hugging Face举办LeRobot全球黑客松,这是一个很好的机会,可以借助SO-101/SO-100这款廉价机械臂从零体验搭建硬件、遥操作到模型训练的完整流程。由于我的拖延症非常严重,直到6月12号我才报名了Hackathon,此前连 Linux 双系统都还没安装,所以这次报名也不太指望完赛了,如果能把双系统-lerobot框架-调试舵机-安装机械臂-遥操作演示做完就很不错了,后续没完成的训练等等还是放在后面的空闲时间来进行。这篇我想主要讲一下如何在PC上安装 Windows + Ubuntu 双系统,以及相关的一些注意事项。
检查基本信息
首先,在 Windows 11 搜索栏中输入"系统信息",确认你的电脑型号和 BIOS 模式(Legacy或UEFI),复制对应型号至Google/Bing查一下是否支持扩展硬盘槽。如果你跟我一样没有可扩容槽位,就得准备在原有硬盘上压缩空间。
接下来以UEFI为例,鼠标右键点击左下角开始按钮,选择"磁盘管理",在最左侧磁盘处右键选择"属性",切换到"卷",确认分区形式为MBR还是GPT,若为MBR格式则推荐转换成GPT分区。回到磁盘管理界面,你通常会看到系统盘、EFI 分区、恢复分区以及其他数据盘,接下来我们需要在其他磁盘中压缩出一定空间用于安装Ubuntu,右键其他磁盘(通常为D盘分区)选择"压缩卷",然后选择需要的容量,对于Ubuntu系统来说通常至少需要20GB,我本次分出了100GB,后续仍然可以进行扩容。
在此之后,强烈建议:备份 C 盘和 D 盘中的重要文件,防止双系统安装过程中意外丢失数据,避免后续因操作不当影响到原有Windows 11系统!
(当然,最理想的方式是你的电脑支持扩容,那么购置一块全新的硬盘用于安装Ubuntu是最理想的情况,这样可以确保两个系统物理分隔,避免出现清除另一个系统上数据的情况)
制作引导盘
第二步,是制作安装系统所需的引导盘。首先需要下载Ubuntu镜像,根据你的需求下载对应版本,一般来说如果你打算用Ubuntu进行深度学习或机器人相关的工作,选择20.04或22.04版本是比较合适的,20.04可以兼容ROS1和ROS2,而22.04是多数人现在会选择安装的稳定版本(当然,50系显卡配置环境过程可能需要一些额外的步骤),下以22.04为例。下载镜像可以选择在官网进行下载(地址: https://www.releases.ubuntu.com/),当然如果觉得下载速度较慢,可以选择国内镜像源,如清华大学开源软件镜像站(https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/)、阿里云、华为云等。
接下来就是要将下载的镜像烧录到U盘上,在执行这个操作前,请确保你的U盘上的内容已经完成了备份!!!我们可以选择官方推荐的balenaEtcher,也可以选择Ventoy、Rufus、IMGBurn等进行烧录,这里可以参考官方教程,一键傻瓜式烧录。在软件显示烧录完成后,此时可能会弹出"格式化该U盘"的窗口,选择取消或直接叉掉该窗口。这时我们会发现,此电脑中会显示两个移动盘,且都为0GB,这是正常的,如果你不放心的话可以进入之前的磁盘管理界面,可以看到该U盘的实际信息,占用容量与烧录上去的映像文件时匹配的。
(啊,忘了提一点,为什么要装原生的Linux而非在虚拟机/WSL上运行Ubuntu? 这是因为如果后续还需要做机器人,大概率会需要安装ROS/Isaac Lab这类软件,部分软件在虚拟机中会出现报错)
关闭Bitlocker/Secure Boot
第三步,鼠标右键点击左下角开始按钮,选择"磁盘管理",观察现有分区是否显示"Bitlocker已加密",你可以在微软官网查看你本机登录的微软账号所对应的Bitlocker recovery key,建议以后养成备份这个密钥的好习惯。请全程保持你的电脑是通电状态,避免因中途耗尽电量关机而造成重大损失!!!,如有则在搜索栏中搜索"设备加密设置",选择关闭Bitlocker,这个过程所需的时间取决于已使用磁盘空间的多少,可能耗时会比较长。关闭成功后返回磁盘管理界面,分区就不会显示加密状态了。
接着,我们需要在BIOS里面关闭Secure Boot,不同型号电脑进入BIOS的快捷键有所区别,比如联想通常是Enter,我所用的惠普是F10或F9,这一点可以Google/Bing搜索确认一下。重启你的电脑,并进入BIOS界面,在Security或Boot选项栏中找到Secure Boot,改为Disabled,此后选择Save and Exit,输入 BIOS 提示的数字后按回车,即可保存设置,结束后即可成功关闭Secure Boot。
(在BIOS界面里,还有可能需要关闭Intel RST,但绝大多数主板都会默认为AHCI,且有可能根本不提供关闭Intel RST的选项,因此通常不需要修改。如有需要,请参考这个视频教程的“关闭Intel RST"章节)
设置启动优先级并进入安装界面
好了,我们做完了前期的准备工作,还差一步我们就能进入安装界面了,在Windows正常运行时插入你制作好的引导盘,选择重启,并进入BIOS界面的Boot选项栏,更改启动的优先级,将USB Flash Disk/Drive放在最前面,Save and Exit后即可进入到安装界面了。
某些设备的 Boot 菜单下可能还包含二级子菜单,优先级设置方式略有不同,如有需要,请参考这个视频教程中“BIOS设置Ubuntu引导"章节的后半部分。
(当然,图方便可以避开BIOS界面,在Windows端搜索恢复选项,选择立即重新启动,这时可以选择使用设备,让你的系统从U盘启动并进入到Ubuntu的安装界面)
安装环境
好了,这下我们总算是进入到安装界面了(进入这个界面可能要加载几分钟)。我建议先不连接WIFI,系统语言选择英语,后续可以添加中文包,点击Install Ubuntu,保持默认键盘布局。然后选择正常安装,并不勾选下方的两个其他选项。接下来,因为我们后续可能涉及到扩容等操作,需要自行规划好分区,此时我们选择其他选项;之后我们会进入安装类型的选择,我们能看到一系列设备,这是我们的磁盘以及引导盘详细信息,在我们的磁盘中可以清楚看到EFI、Recovery、C盘、D盘等,此时我们关心的是之前压缩出来的空间,在标注为free space的选项中找到容量与我们压缩空间相近的(之所以不完全一样是因为两者字节的进制计算有区别),通常会多出几 GB,找到后点击 + 号准备分区。我们原本可能需要设置 swap、home、/、efi 四个分区。但考虑到 swap 可后续通过swapfile动态添加,efi 可与 Windows 共用,home 不好预估容量,这里我们直接把全部空间分配给 / (根目录)最简便,方便后续扩容。结束后注意到下方"安装启动引导器的设备"的下拉菜单,找到Windows的EFI分区设备名,在下拉菜单中找到同一名称(通常为Windows Boot Manager),确认无误后点击现在安装。下一步设置时区为你当前所在时区,在此之后设置姓名、计算机名和密码,注意 Ubuntu 安装时输入密码不会显示字符,这是正常现象,请确保输入正确,尽可能选择简短好记的名字和密码。稍等片刻后即可安装成功,提示我们重新启动。
此时我们重启计算机,如果你能顺利走到看到 GNU GRUB 启动界面的这一步,说明系统已经安装成功了。虽然后续还有环境配置等任务,但你已经迈出非常关键的一步,值得庆祝!