该电脑最早让朋友帮忙安装过一次Ubuntu16.04
,那时我对Linux
系统还不甚了解。由于本科毕业后需要系统学习ROS
,就参考了网上的博客把原分配给16.04
的100G
存储删除后,重新在Win10
上划分了100G
留给Ubuntu20.04
。因此目前该电脑上已经安装有Ubuntu20.04
和Win10
双系统了。
记录这篇文章是为了以后有可能还要安装双系统作参考,故把当时的安装流程和需要注意的问题写下来存档备忘。
下文均以我在笔记本电脑设备DELL-Inspiration-5577
上安装Ubuntu20.04
的过程为例(原装系统为Win10
)。Ubuntu
的启动方式为UEFI
。在安装Ubuntu20.04
前,电脑已存在双系统Win10
+Ubuntu16.04
,前者位于固态硬盘(SSD
)中,后者安装在机械硬盘中给其分配的空闲的存储空间中(大约100G
)。
初次安装Ubuntu
后,Ubuntu
的引导信息也写在了Win10
的EFI
启动分区里。如果不删除的话,以后再安装Ubuntu
会出现很多个Ubuntu
启动项。因此假如在Win10
上把原分配给Ubuntu16.04
的各个分区都删除后,还要记得把Win10 EFI
分区中的Ubuntu
启动项给删掉。
打开Win10
磁盘管理器,可看到相应分区信息,具体大致如下图(图源来自彻底删除Ubuntu的EFI分区及启动项-水翼的博客-CSDN),每个人初次安装时的分区划分可能会有不同:
当时自己安装的时候忘记记录我的分区方案在Win10
上显示的图片了,因此这里用别人的图代替一下,他这里对应的分区方案应该为(在Ubuntu
安装过程中分配的,但是在Win10
的磁盘管理中显示的大小会略有变动):
类型 | 挂载点 | 分区类型 | 大小 |
---|---|---|---|
swap | 无 | 主分区 | 8G |
efi | 无 | 主分区 | 512MB |
ext4 | /home | 主分区 | 50G |
ext4 | /usr | 主分区 | 100G |
ext4 | / | 主分区 | 剩下的 |
类型 | 挂载点 | 分区类型 | 大小 |
---|---|---|---|
swap | 无 | 主分区 | 16G |
efi | 无 | 主分区 | 200MB |
ext4 | /home | 主分区 | 30G左右 |
ext4 | /usr | 主分区 | 30G左右 |
ext4 | / | 主分区 | 30G左右 |
这里可以直接删除swap
分区,/home
分区,/usr
分区和/
分区。接下来要做的就是删除Ubuntu
的EFI
分区以及修改Win10
的EFI
分区(不修改的话还会保留着当前Ubuntu
的启动项)。
不要使用第三方软件删除Ubuntu
系统下的EFI
分区,直接使用Win10
的diskpart.exe
删除。
首先用管理员权限打开cmd
,输入diskpart
,利用list disk
查询磁盘信息。下面仍用彻底删除Ubuntu的EFI分区及启动项-水翼的博客-CSDN中的方案举例:
我们当前的Ubuntu
装在磁盘1
中,所以选择磁盘1
:select disk 1
然后查看磁盘1
下所有分区信息:list partition
,可以看到我们Ubuntu
的EFI
分区为488MB
,根据分区大小这里选择分区4
:select partition 4
。然后删除它delete partition override
。如下图所示:
如果经过了上面的步骤后就结束,开机按F9
或F12
会发现启动项里还会有Ubuntu
启动项,因此我们要删除它。
在Win10
下我们无法直接访问其EFI
分区,因为没有盘符。
下面仍然利用diskpart
来操作,首先进入磁盘0
,为其EFI
分区分配盘符。操作如下:
0
:select disk 0
,即win10
系统所在的磁盘。list partition
。260MB
)选择分区:select partition 1
。Win10
的EFI
分区分配盘符:assign letter=p
。这里p
为盘符,字母A~Z
应该都可以(大小写无关,自动转成大写),注意不要和已有的盘符重复即可。这时再次查看Win10
磁盘会发现有个P
盘,就是刚刚被分配盘符的EFI
分区,如下图:
直接打开我们会发现权限不够,打不开。这里我们要运用一个小技巧,先用管理员权限打开记事本,然后通过记事本菜单栏里的打开
来访问P
盘,会发现P
盘里有个EFI
文件夹,打开EFI
文件夹,发现如下目录(电脑不一样可能会稍有不同):
这里直接删除ubuntu
文件夹就可以了。
此时再回到diskpart
删除EFI
分区盘符P
:remove letter=p
。
下载EasyUEFI后,点击 管理EFI
启动选项:Manage EFI Boot Option
然后找到ubuntu
启动引导项并删除即可。
把烧录有Ubuntu20.04
镜像的启动U盘插入电脑后,重启并按F9
或F12
进入进入BIOS
启动项选择界面,选择U盘启动。
选择Instal Ubuntu
。
选择不在安装时更新和安装第三方软件
。
选择安装类型为 其它选项Something else
,这允许我们自己配置Ubuntu
的磁盘分区,点击继续(如果不想安装Win10
,而是让Ubuntu20.04
完全覆盖所有硬盘空间的话,可以选择Erase disk and install Ubuntu
)。
选中我们之前在Win10
下分出的空闲空间free space
(我电脑容量较小,习惯于分配100G
给Ubuntu
,但是最近发现/home
的空间严重不够用,所以根据自己的情况实际选择即可),点击下边的+
号开始分区。(还有一种分区方案是不单独划分/usr
分区,只用划分/
和/home
)
类型 | 挂载点 | 分区类型 | 大小 | 备注 |
---|---|---|---|---|
swap | 无 | 主分区 | 16G | 大小最好和物理内存相等 |
efi | 无 | 主分区 | 200MB | 最好不要小于256MB,系统引导文件都会在里面,可以给512MB |
ext4 | /home | 主分区 | 30G左右 | 相当于你的个人文件夹,类似Win10 里的User |
ext4 | /usr | 主分区 | 30G左右 | 现在被称为User System Resources ,存放用户二进制、库文件、头文件等,详见/usr |
ext4 | / | 主分区 | 30G左右 | 系统根目录 |
找到你刚刚EFI
分区的盘符(对照一下后边的大小是否是刚刚分配的大小,然后看看上下文是你刚才分出来的分区,再三确认!)记住它的名字,比如我的是/dev/sdb5
,更改下边的 安装引导启动器的设备(Device for boot loader installation
)为你刚刚记下的EFI
分区的盘符!
点击安装
,再次确认一下你的分区。
下一步,选择时区,键盘模式选择英语(美式),最后填一下你的用户名、设备名、密码,最终进入了你的安装过程。一定的等待时间之后,就会提示安装完毕要求重启,点击重启计算机即可。
重启则系统会默认进入Ubuntu
的grub2
引导界面,在此界面下可选择进入Ubuntu
还是Win10
系统(这个页面是可以进行美化的,见我的文章Ubuntu系统的开机全流程介绍及grub美化-夏小正的鲜小海的博客-CSDN)。
若想使用Windows Boot Manager
引导,可以使用EasyUEFI
软件。
打开EasyUEFI
软件,选择Manage EFI Boot Option
,点击上移的箭头,将Windows Boot Manager
移到在最前,退出保存,重启电脑会直接进入Win10
(把Windows Boot Manager
作为第一启动项的话不会进入Ubuntu
的grub2
引导界面, 直接进入Win10
)。
如果选ubuntu
为第一启动项,则会先进入grub2
引导界面,并可以选择进入Win10
还是Ubuntu
。
除了用EasyUEFI
修改顺序外,也可以在BIOS
里设置启动项优先级。
重启后,电脑卡死。
原因是Ubuntu
内置的NVIDIA
显卡驱动是nouveau
,这个驱动和1050Ti
有冲突,所以屏蔽了就好(很多其他显卡如果有类似问题也可以按如下方式解决)。这个问题我曾经遇到过,按照下面的方法解决过,但是安装Ubuntu20.04
并没有出现显卡驱动问题,一切都很顺利。
具体操作(详见彻底删除Ubuntu EFI分区及启动项-水翼的博客-CSDN):
强制关机(卡在重启界面)并重启。
开机后,在grub2
引导界面按e
进入命令窗口,原图如左下图所示,需要在quiet splash
后面添加nomodeset
,进入nomodeset
临时启动模式(下次启动自动消失,不用改回来)。
进入系统后,屏蔽nouveau
,这里采用CUDA
官方建议:
在/etc/modprobe.d/
下新建一个文件blacklist-nouveau.conf
,即:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在文件中写入如下:
blacklist nouveau
options nouveau modeset=0
更新:
sudo update-initramfs -u
重启系统就可以顺利进入Ubuntu
了。