Win10+Ubuntu18.04双系统双硬盘安装 与 ROS安装 各种大小坑总结
前言
文章中如果哪里讲的不对,或者有补充分享,欢迎各位大佬留言,方便博主及时修正与完善。
电脑512SSD+1THDD,已经预装了Win10。安装 Win10+Ubuntu18.04 双系统,写一个经验贴,留着自用。
以下为关键点/踩过的坑,以及对应的解决方案(链接为主):
1. Ubuntu安装:
- UEFI + 磁盘格式GPT
- 启动盘制作(用的USBWriter;rufus制作后BIOS读取不到)
- 分区的具体方案
- NVIDIA安装花屏问题(安装方法+启动后装显卡+停止内核更新)
2. ROS安装:
- sudo rosdep init 出现error
一、Ubuntu安装
1. UEFI + 磁盘格式GPT
具体操作看这篇文章:使用windows自带diskpart转换磁盘格式
2. 启动盘制作
Ubuntu系统到官网下载桌版,大概2G左右:Ubuntu desktop版本下载
很多经验贴都用的rufus制作启动盘,我也测试过,但是BIOS系统无法读取(我的BIOS界面与传统蓝色不同,可能有更新)。
USBWriter用法相当简单,只要选中镜像文件、U盘即可,rufus中的各种选项在USBWriter中都没有。亲测对于UEFI+GPT格式好用,没出问题。
3. 安装与分区
首先要在Windows磁盘管理中做好分区准备。对于双系统双硬盘:
- Ubuntu的 “/home” 部分可以放在机械硬盘,预留200G;
- “/”、“/boot”、“swap”、"EFI"安装在SSD中,预留100G。
安装参考(主要参考流程):WIN10+UBUNTU18.04双系统安装超详细流程
分区按照个人使用实际情况来定,结合了各种帖子经验,个人最终分区如下(在Ubuntu安装时用到):
分区 | 位置 | 建议大小 | 格式 | 类型 | 备注 |
---|---|---|---|---|---|
swap | SSD | 32G | swap | 逻辑分区 | 电脑内存大小(我的内存32G) |
“/boot” | SSD | 1G | ext4 | 逻辑分区 | Linux的内核及引导系统程序所需要的文件,比如vmlinuz inttrd.img文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。 |
EFI | SSD | 200M | 主分区 | 用作EFI启动200M足够 | |
“/” | SSD | 50G+ (SSD剩下的80G+) | ext4 | 主分区 | 根目录,类似windows我的电脑 |
“/home” | HDD | 越大越好(我分配了200G) | ext4 | 逻辑分区 | 个人数据存储 |
其它 | 系统自动分配 |
注意:
- 分区时,一定要正确选择到 **“空闲” / “free space”**上,以免造成Win10系统/数据被不小心格式化。
- (本条对于双硬盘不用看,单硬盘看一下)“/boot”、“/home"分区在单硬盘安装ubuntu系统的情况下,可以不用设置。此时,个人理解是”/“和”/home"分区在一起,相当于win系统只有C盘,空间共用。
4. 安装花屏问题
我的电脑用的是NVIDIA GEFORCE GTX1650显卡,安装Ubuntu时出现花屏问题。下面这篇文章可以完美解决:安装、启动及更新问题
显卡问题搞定后,Win10 + Ubuntu18.04双系统已经正常安装在电脑上。接下来就是ROS melodic版本的安装。
二、ROS melodic安装
1. 安装教程
ROS安装详细流程参考古月居老师的B站视频《ROS入门21讲》P5:安装ROS系统
古月居老师讲得非常详细,如果每一步都顺利完成,后面的就不用看了~
国内的镜像源安装速度稍快一些,可以选择阿里、清华的源。具体ROS melodic安装时长还要看个人网络,我step 4前80%10分钟就搞定了,后面20%装了4个小时……
所有的操作命令有B站热心小伙伴整理出来了,我来搬运一下:
- step 1
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
- step 2
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
- step 3
sudo apt update
sudo apt install ros-melodic-desktop-full
- step 4
sudo apt-get install python-rosdep
sudo rosdep init
rosdep update
- step 5
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
- step 6
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
2. sudo rosdep init 出现error
安装进行到step4,出现了
“ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.”
原因在于raw.githubusercontent.com被墙了,无法连接。网上找了很多解决方案,包括过去好用的修改hosts文件,添加IP地址等通通无效。
最终真正有效的、从根源解决问题的方案如下:解决sudo rosdep init出现error的问题
这个方案中,修改过程一定要耐心细致,丝毫不能错。遇到readonly的文件,使用 sudo chmod 777 修改权限指定文件后方可编辑。编辑完成后,再使用 sudo chmod 644 改回原来权限。
重点强调的是关于"file:///home/xxx/rosdistro/rosdep/…",这里一定要注意查看一下对应文件的属性。属性里有明确的路径显示。
我在安装时,以为rosdistro直接放在了home文件夹中,就是“home/rosdistro/…”,实际上这是错误的。我的用户名是william,真正的路径是是“home/william/rosdistro/…”。
这些都搞定之后,step 4应该可以顺利执行了。
接下来记得step 5,step 6继续执行一下。
3. 其它出现过的坑
在安装过程中,因为看了太多的教程,ros版本各不相同,因此不记得是哪一步把kinetic版本的命令粘贴进了命令行执行,结果在运行终端时显示:
“bash: /opt/ros/kinetic/setup.bash: No such file or directory”,造成文件路径错误。解决方案如下:
先运行
gedit .bashrc
在打开的文件中,看一下最后几行路径是否出现错误。
如果显示路径为"bash: /opt/ros/kinetic/setup.bash",说明之前的文件配置出现错误。手动将kinetic改为melodic即可。
如果路径没有问题,可能是缺失了setup.bash文件,可以参考另外一篇文章(改文章博主安装的是kinetic版本,每个人需要对应到自己版本的ros):setup.bash文件缺失解决方案
安装过程中还会遇到一些由于环境配置不全带来的小问题,这些只要根据终端提示,输入相应命令配置一下即可。
最终只要能成功运行roscore,启动小海龟仿真器测试一下,就算大功告成,其它需要的各类软件再慢慢安装即可。