Ubuntu 双系统的安装部分,我基本复制了Ubuntu/Windows双系统安装巨详细——全面解决各种问题(疑难杂症),有手就行 。为了防止初学者在两个网页窗口之间来回跳跃跟跑产生困惑,我将核心安装步骤搬运至此。
在进行任何双系统操作前,请务必进入设置将 Windows Hello 的安全认证关闭(即取消人脸识别、指纹、PIN 码,确保系统无密码即可进入桌面)。否则,安装双系统的引导改变极有可能触发安全机制,导致之后无法启动进入 Windows 系统!
1、 Ubuntu 双系统安装流程
1.1 制作Ubuntu启动盘
你需要一个容量大于8GB的空u盘(不是空的也没事,但是制作启动盘会格式化u盘,所有东西都会丢失!),然后才能开始制作。
推荐使用rufus制作启动盘:[下载Rufus-4.13.exe][https://github.com/pbatard/rufus/releases/download/v4.13/rufus-4.13.exe]
下载完后可以直接打开,我们还需要到ubuntu的官网去下载系统iso镜像:[下载Ubuntu桌面系统][https://cn.ubuntu.com/download]
目前建议下载Ubuntu 20.04.3 LTS(long-term support),虽然21.04已经推出,但是毕竟没有长期支持版来的稳定,并且20.04会持续提供性能和安全性更新。
镜像下载好之后,打开rufus:
有几个需要修改的地方已经用红色圈出。
- 设备会自动扫描你插入的u盘,如果你有多个u盘插入,请选择要写入镜像的u盘,别搞错了。
- 镜像文件选择下载好的Ubuntu iso系统镜像。
- 分区类型务必选择GPT分区表
- 目标类型务必选择UEFI(非CSM)
- 若你的BIOS只支持NTFS,要改成NTFS,不过一般都是支持FAT32的,先用FAT32,如果不行再回来改
然后点击开始,这里选择“以iso镜像模式写入”
1.2. 利用 DiskGenius 划分空间
原教程使用的是系统自带的磁盘管理,这里笔者推荐使用 DiskGenius。打开软件,找一个空闲容量较大的盘(比如硬盘的D盘),右键磁盘蓝色条,选择“调整分区大小”。
在弹出的窗口中,压缩出一部分空间用于安装 Ubuntu(建议 100GB 以上即可,视个人需求而定)。压缩完成后,你的磁盘列表里会多出一块显示为“空闲”的灰色未分配空间。注意:千万不要去新建分区或者格式化它,留着空白就行。
1.3 准备工作(BIOS设置)
1.3.1关闭BitLocker
bitlocker是微软出品的用于保护硬盘的加密系统,按下win+S搜索BitLocker,点击进入后将其关闭,否则它将禁止任何非window的系统或设备对硬盘进行写入操作。
1.3.2 关闭安全启动(secure boot)和快速启动(fast boot)
首先查询你的电脑如何进入BIOSQ,一般是ESC、DEL、F2、F10、F12等。
重启电脑(保持启动盘插入),进入BlOS,找到Secureboot和FastBoot,将他们关闭,记得退出前保存。
1.3.3关闭平台可信模块(TPM)
同样是在BIOS中,关闭TPM(TrustedPlatformQModule),否则可能会禁止外界设备访问硬盘或CPU。若未开启或没有这个选项,则跳过不管。一般来说,此选项和Secure boot一起,在Secure(安全)选项卡下。
1.3.4如果你是dell电脑..
请仔细查看官网的说明:[如何启用戴尔设备的安全启动功能|Dell中国][https://www.dell.com/support/kbdoc/zh-cn/000190116/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%88%B4%E5%B0%94%E8%AE%BE%E5%A4%87%E4%B8%8A%E4%B8%BA-windows-11-%E5%90%AF%E7%94%A8%E5%AE%89%E5%85%A8%E5%90%AF%E5%8A%A8],务必将启动模式调整为UEFl,并关闭安全启动。此外,请查看bios选项中的SystemConfigurationQ,若你的硬盘链接协议是SATARAID,请接着看1.3.5。
1.3.5 如果你是机械硬盘+固态硬盘..
一般来说,这时候你的电脑将以SATARAI的方式链接不同的硬盘,然而RAID是一个古老的技术,ubuntu不支持从这种方式启动。首先退出bios正常开机,进入windows之后win+R,输如msconfig回车:
进入“引导”选项卡,将引导选项设置成安全引导,选择最小,然后重启电脑,进入bios。
这时候,将bios中的sata operation改成AHCl,再保存退出BIOS,进入系统,这时候会进入安全模式Q,别慌。再次win+R,
msconfig回车,在”引|导“选项卡关闭安全引导,然后重新启动,看看是否正常进入windows。
1.3.6如果你的电脑使用了傲腾内存或开启了intelRST..
在BIOS中可以看到你的电脑是否启用的快速存储技术(找一找)。直接参照这个链接,一把搞定:[DisableRSTforInstallingubuntu 20.4 Dual boot-Ask Ubuntu][https://askubuntu.com/questions/1281127/disable-rst-for-installing-ubuntu-20-4-dual-boot]
1.4 开始安装配置
确保以上的步骤完成后,进入bios,把你的启动盘在启动顺序中调整到第一位,保存退出,重启后就会进入grub界面:
直接回车,就会进入Ubuntu的安装界面了:
选择安装Ubuntu,然后选择简体中文,随后继续选择中文:
先不联网,因为还没有换源,这时候下载的话会慢的半死:
可以选择最小安装,省空间。如果你空间够大,也可以用正常安装,会装好一些媒体播放工具和邮件之类的,还有办公套件libreoffice(和msoffice差不多),其实也没什么用:
1.5 分区设置(重点)
在“安装类型”界面,一定要选择最下面的“其他选项”,这样才可以自己手动分区。
此时会列出你的所有磁盘详细信息。找到刚才用 DiskGenius 分出来的那块显示为“空闲”的空间,根据大小判断就可以,笔者分的是70GB。
EFI系统分区:大小设为
512MB,新分区类型选“主分区”或“逻辑分区”均可,空间起始位置,用于:“EFI系统分区”。(这是启动引导所在的地方,非常重要)
随后是根目录,稍微分大一些,因为很多程序默认安装在根目录下的opt文件夹 里,新手就不要随便乱改安装位置了,这里分配了40GB给/,注意分区类型选择主分区。

最后是home目录,相当于用户自己的空间,和windows下的C盘之外的空间差不多的概念,剩下的空间全部给/home,有些教程会让你分SWAP(虚拟内存),不过现在大家的内存都很大,所以没这个必要。这里注意选择逻辑分区:

分区分完以后,_再次注意!!!_安装启动引导器(bootloader )的设备要选择刚刚新分配的EFI分区,千万别和windows的EFI分区搞错了,不然直接凉凉。可以通过大小来区别两者(我们分配的大小会是511MB):
选择现在安装,他会再让你确认一下是不是要把文件系统 写入,确定启动器位置安装无误后继续。where you are这里直接继续就行了:
时区直接在地图上点击中国所在的区域,下方会显示 “Shanghai”,点击继续。
在“您是谁?”这个界面,如果您是为了跟跑部署FAST-LIVO2,建议将“您的姓名”和“输入用户名”全部统一设置为 ftlian。密码设置个简单的(例如直接设为123456),建议勾选“登录时需要密码”。
开始安装:
弹处这个界面就是安装好了,直接重启:
拔掉启动盘,按回车:
重启之后会进入grub,如果还是windows,就先进入bios调整一下启动顺序,把ubuntu放到windows前面:
第一个回车就会进入ubuntu,如果要进入windows,进入第三个就是了。
1.6 进入ubuntu后的基础设置
考虑到FAST-LIVO2很多东西需要进行联网部署下载环境,需要进行换源
- 在 Ubuntu 桌面空白处右键,选择“在终端中打开”(或者直接同时按住键盘上的 Ctrl + Alt + T 键),调出一个类似于命令行的黑框(终端)。
- 先备份一下系统原来默认的软件源列表。将下面这行代码复制粘贴到终端中,然后按回车。(注意: 因为代码前面带了 sudo 提权指令,系统会要求你输入密码。输入刚才设置的登录密码时屏幕依旧没有任何星号提示,盲打完敲回车即可)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak - 接着,我们将默认的国外源网址直接替换为国内阿里云的镜像网址。直接把下面这两行代码一次性复制进终端,并按回车运行:
sudo sed -i 's/cn.archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
- 网址修改完毕后,我们需要让系统重新联网读取一下最新的软件列表,输入以下代码并回车运行:
sudo apt update
此时屏幕上会开始滚动大量的Get:1 http://mirrors.aliyun.com...字样,静候几十秒钟,当代码停止滚动,且末尾没有弹出红色报错提示,换源操作即完成
将启动项从默认的ubuntu换成windows,通常开机时的那个系统选择界面(GRUB 界面),计算机的排序是从0开始数的:第一行是Ubuntu(设为0),第二行是Ubuntu高级选项(设为1),你的 Windows 系统一般在第三行,也就是对应数字2。具体修改步骤如下:
- 在 Ubuntu 桌面空白处右键,选择“在终端中打开”(或者直接同时按住键盘上的 Ctrl + Alt + T 键),调出一个类似于命令行的黑框(终端)。
- 输入以下命令并按回车(提示输入密码时盲打回车即可),打开启动项配置文件,可能有些卡,没有报错就耐心等待:
sudo gedit /etc/default/grub - 这个时候屏幕上会弹出一个类似 Windows 记事本的文本编辑窗口。找到:
GRUB_DEFAULT=0,将其修改为Windows启动项条目对应行数-1的值,一般为GRUB_DEFAULT=2,点击右上角保存,关闭gedit
- 回到命令行,输入
sudo update-grub,更新系统设置
二、 还不完善,不要跟跑
需要注意的是,本步骤需要一定的英语阅读能力,对于初涉计算机的小白,很容易将所有黑框白字的英文字符全部当成不能理解的报错,将其当成一个工具去使用它,理解他的心态是很重要的。
在使用 Ubuntu 系统时,如不会配置网络代理的规则,请关闭诸如 clash,ssr,easyconnects 等网络代理软件。
接下来的步骤使用并参考了 B站UP主萝卜头vision的流程及部署脚本(下称脚本),具体的部署脚本未见可二次分发的协议,因此,请需要参考此教程下部分的,请联系B站UP主萝卜头vision获取运行脚本(Free)。下文参考视频如下:# Windows一键跑通FAST-LIVO2,闭眼跟做就行
- 将脚本文件整体复制到主文件夹下,该文件夹在左侧栏最上方主目录(
/home/ftlian),在桌面右键打开终端,并在命令行中进入该文件夹:cd /home/ftlian - 将
/home/ftlian提权至任何人可读写,中间有一部分,需要你输入刚才设定的密码。**在输入密码时,屏幕上不会给出任何提示,具体来讲,不会显示常见的“*******”这种密码表现形式,盲打即可!**直接将我打好的命令复制过去即可:sudo chmod -R 777 /home/ftlian/ - 运行初始化脚本,将命令行前缀简洁化、以后使用 sudo(提权)不需要输入密码。
sudo ./system_init_config.sh
exit - 重新打开一个终端,安装编译工具链:
cd /home/ftlian
sudo ./install_cmake_toolchain.sh - 根据界面提示,输入
glxgears,检查是否有正在转动的齿轮,若无需要更换ubuntu版本,检查后关闭齿轮页面。glxgears - 运行脚本配置 python-pip 镜像:
./set-pip-mirror.sh - 安装 vscode,在使用 “code .” 命令时,中间可能会有一些提示窗,点击 allow,在进入 vscode 后,trust(信任)父目录的作者,并点击左侧的允许。
./install_vscode.sh #安装vscode
code . #该命令作用为运行vscode,以后需要运行vscode都需要使用该命令 - 构建 sophus、ceres。
./build_sophus.sh
./build_ceres.sh - 安装 ros1,该步很容易会有网络环境原因导致脚本运行出错的情况,如出现请多尝试几次,根据命令行的提示来观察是否出现错误,包括但不限于 ERROR,time out,Connection failed,Too many requests 等字符。
./install_ros1.sh #如果在中间发现有Connection failed,Too many requests等字符时,应重新运行该脚本一次
#如果发生了上述的错误,最常见的解决方式有如下两条命令,我的建议是在明确是那步出错出现断点后进行尝试
sudo rosdep init || true
rosdep update- 在命令行提示如下所示的字符时,即代表安装完成,但要仔细核查中间是否有脚本出错
Add distro "rolling"
updated cache in /home/ftlian/.ros/rosdep/sources.cache - 测试 ros1 安装是否完善,如下图所示,打开一个新的命令行窗口,并输入:
gazebo
- 如 gazebo 打开一个新窗口可以运行,关闭其窗口,如上步所示,再打开一个新的命令行窗口,并运行以下命令:
roscore#如提示以下类似命令,即为正常运行
... logging to /home/ftlian/.ros/log/9fcbd648-e92b-11f0-8892-e76d4afb4d1d/roslaunch-FTLian-laptop-185487.log
started roslaunch server http://localhost:43107/
ROS_MASTER_URI=http://localhost:11311/
started core service [/rosout]- 保留上面那个窗口,打开第三个命令行窗口运行以下命令,如正常打开 Rviz 监控程序,关闭即可,至此,ros1 测试完毕。
rosrun rviz rviz
- 关闭第二,第三个命令行窗口,在第一个命令行窗口构建 fast_livo2,运行以下命令,至此,fast_livo2 部署流程完毕!
./build_fast_livo2.sh
常见错误
- 如果在第 11 步出现 command not found 等错误,重新安装 ros1,即第 9 步。
- 由于网络环境原因,在安装时如出现 “time out”,“Connection failed”,“Too many requests”等提示均为网络错误,有两种解决方式:
- 根据运行时的脚本断点,手动输入接下来的脚本
- 重运行脚本
三、 物理硬件连接
硬件部署采用简达硬件同步器 Avia 版,海康 MV-CS050-10GC,大疆 Livox Avia。上手较易,基本的接线连接方式及原理图如下:
(注:得益于双系统的原生优势,Linux 可以直接控制物理网口和 USB 端口,无需像以前 WSL2 虚拟机那样繁琐地做环境挂载了。)
- 将 2USB-A、1xRJ45(网线接口)连接到电脑后,在 Ubuntu 桌面右上角的网络设置里,找到“有线连接(Wired)”的设置,转到 IPv4 选项卡。
- 将有线网卡配置为手动模式(Manual),IP 为
192.168.1.50,网址掩码255.255.255.0,应用保存。 - 在 Ubuntu 系统的终端中输入
lsusb,如下图所示若出现相机厂商字符则 USB 设备挂载成功。 - 随后输入
ping 192.168.1.1xx(其中xx为大疆 Livox Avia 雷达设备 SN 码最后两位,SN 码用手机扫描雷达设备后方右下角的小二维码即可获得到。该流程中的雷达设备 ip 为192.168.1.174)。确定雷达通讯连通后,可输入Ctrl+C强制中断 ping 流程。lsusb #检查usb设备挂载
ping 192.168.1.174 #检查雷达通讯

至此,雷达及相机已原生连接至 Ubuntu 统!
