admin 管理员组

文章数量: 887021

目录

  • 0 电脑环境
  • 1 安装Ubuntu双系统
    • 1.1 刻录系统引导盘
    • 1.2 在Windows下创建空白分区
    • 1.3 重启电脑进入安装界面
    • 1.4 图形化安装Ubuntu
  • 2 配置Ubuntu系统
    • 2.1 分辨率、亮度、无线网卡设置
    • 2.2 显卡驱动安装
    • 2.3 设置GRUB启动项
    • 2.4 安装中文输入法
  • 3 卸载Ubuntu系统
    • 3.1 查看Ubuntu分区情况
    • 3.2 删除Ubuntu分区
    • 3.3 删除开机引导项
    • 3.4 修复Windows-Grub
  • 附录
    • 附1 搜索旧版本NVIDIA驱动程序

0 电脑环境

  • 512G+1T双硬盘。
  • 2060独显。主要考虑Ubuntu下装显卡驱动的问题。
  • BIOS模式为UEFI。

Win+R快捷键进入"运行",输入msinfo32回车,出现以下界面,可查看BIOS模式。BIOS模式有传统的MBR模式和新式UEFI模式,这将对安装双系统产生直接影响。若你的电脑属于传统MBR模式,强烈建议重装Windows系统来更新BIOS模式到UEFI。本文基于UEFI模式安装双系统。

BIOS模式为UEFI

1 安装Ubuntu双系统

1.1 刻录系统引导盘

(1) 下载Ubuntu镜像

在Ubuntu版本发布中下载要装的系统版本映像.iso,本文下载ubuntu-20.04.3-desktop-amd64.iso

(2) 打开刻录软件UltralSO找到镜像

(3) 刻录引导文件

UltralSO菜单栏选择启动->写入硬盘映像,界面如下。

检查U盘盘符和映像文件无误后,格式化硬盘,再写入映像即可。

1.2 在Windows下创建空白分区

打开【磁盘管理】为ubuntu分配空间

(1)单硬盘情形

直接选择最后一个盘(比如CD两个盘的最后一个是D盘,以此类推,在该盘点击右键,选择压缩卷,并分配压缩空间。

(2)双硬盘情形

需要先在C盘分出200~500M的空白分区用来安装ubuntu的启动项,然后再在另一块硬盘选择最后一个盘分配空间。这样做的原因在于:电脑开机时会自动在系统盘所在硬盘搜索启动项以启动系统,为使ubuntu启动项也能被搜索到,需要将启动项安装在这里,我们可以在开机时手动选择进入哪个系统

分配好的情况(双硬盘情形)

1.3 重启电脑进入安装界面

(1)关闭securate boot

若不disable会出错

(2)SATA Config配置

Ubuntu安装过程中,一般要设置SATA Config为AHCI模式,否则将出现读不出安装类型和磁盘,无法分区的现象,但是将SATA Config配置为AHCI模式后,将无法进入Windows系统(如果是第一次配置),这是因为在IDE模式下配置的Windows并没有AHCI的驱动。

解决方案:先调回IDE模式确保能进入Windows10,然后shift+重启选择安全模式,在安全模式进系统前,提前进入BIOS将SATA Config重新配置成AHCI,这样Win10可以自动搜索并安装AHCI驱动,再次重启即可以AHCI模式进入Ubuntu和Windows10两个系统。

(3)插好系统盘,重启电脑

根据自己电脑按相应的键进boot manager,找到USB启动项,回车即可进入。

1.4 图形化安装Ubuntu

(1)选择安装

(2)安装模式

点击安装Ubuntu为图形或无线硬件,以及MP3和其他媒体安装第三方软件

(3)分区

选择手动分区

点击空闲盘符,点击+进行分区,如下:

  • efi:如果是单硬盘,在唯一的空闲分区上添加,大小200~500M,逻辑分区,空间起始位置,用于efi;如果是双硬盘,找到事先分好的200~500M空闲分区添加,逻辑分区,空间起始位置,用于efi



  • swap:Ubuntu的虚拟内存,一般为电脑物理内存的2倍左右,可以将其分为8G,逻辑分区,空间起始位置,用于"swap"或"交换空间"



  • /:Ubuntu根目录,用于安装系统和软件,相当于windows的系统盘,我们将其分为50G,主分区,空间起始位置,用于"ext4日志文件系统",挂载点为/



  • /home:相当于windows的其他盘,剩下空间全分给它,逻辑分区,空间起始位置,用于"ext4日志文件系统",挂载点为/home

(4)安装启动项

在分区界面下方,选择安装启动项的位置为划分的启动分区编号,例如本文选择了525M的/dev/nvme0n1p7为启动分区,这里就选这个,之后点击Install Now

安装完成后重启即可。

2 配置Ubuntu系统

2.1 分辨率、亮度、无线网卡设置

若Ubuntu的Linux内核版本太低会出现亮度无法调节、分辨率无法设置、没有WIFI图标等诡异情况,这里推荐首先升级内核

首先查看Ubuntu的Linux内核版本

uname -r

一般Ubuntu16的Linux内核版本都较低,此时需要升级内核;Ubuntu18Ubuntu20则没有这些问题。

进入Linux内核下载一个需要的版本,大家可以先看下文无线网卡驱动来确定内核版本,本文选择5.10内核。

到ubuntu软件下载的目录下,运行

sudo dpkg linux-i *.deb
reboot

即可成功升级内核。

此时重启计算机后,一般可以解决问题,但不升级内核按网络上其他方法却很难调节。

若系统还是无法出现WIFI标志,考虑安装无线网卡驱动,这里需要根据PC的显卡型号来下载,本文的无线网卡是Inter AX201 160MHz,因此到Inter无线网卡驱动官网下载

可以看到该驱动要求Linux 5.2+

驱动下载完毕后,到下载目录执行

cp iwlwifi-*.ucode /lib/firmware

接着到firmware驱动下载并安装firmware驱动,重启计算机就能看到WIFI标志。

还可能遇到一个异常:检测到WIFI但始终连不上。有方案通过修改网络设置中有线网络的IP、掩码等解决,但本机实测无效。解决方案仍然是更换Linux内核版本。

2.2 显卡驱动安装

(1) 图形化安装

适合Ubuntu20.04的用户

  1. 搜索Additional Drivers


  2. 直接选择驱动,点击Apply Changes安装即可。


  3. 重启设备后输入
nvidia-smi

出现以下界面则安装成功

(2) .run模式安装

  1. 进入NVIDIA官网下载对应显卡版本的驱动。
  2. 删除原有NVIDIA驱动
#对于通过PPA以及Ubuntu自带的软件商店卸载指令如下
sudo apt-get remove --purge nvidia*
sudo apt-get remove --purge nvidia-*
#对于通过官网.run文件,卸载指令如下
sudo chmod +x *.run
sudo ./NVIDIA-Linux-x86_64-470.57.02.run --uninstall
apt-get purge nvidia*
apt-get autoremove
  1. 禁用nouveau驱动
sudo gedit /etc/modprobe.d/blacklist.conf

文末添加

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
  1. 更新
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
update-initramfs -u
  1. 重启检查nouveau驱动是否禁用成功
reboot
# 验证(无信息返回即可)
lsmod | grep nouveau
  1. ctrl+alt+f1进入字符界面正式安装
# 关闭图形界面
sudo service lightdm stop
# 授权run文件
sudo chmod  a+x NVIDIA-Linux-x86_64-xxx.xx.run
# 安装(禁用opengl以避免出现循环登陆的问题)
sudo ./NVIDIA-Linux-x86_64-xxx.xx.run -no-x-check -no-nouveau-check -no-opengl-files 
  1. 安装过程的选项
  • The distribution-provided pre-install script failed! Are you sure you want to continue?yes
  • Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?No
  • Nvidia’s 32-bit compatibility libraries?No
  • Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.Yes
  1. 打开图形界面并检查安装情况
sudo service lightdm start
nvidia-smi
nvidia-settings

若报错:NVIDIA-SMI has failed because it couldn‘t communicate with NVIDIA driver. Make sure that the latest driver is installed and running

sudo apt-get install dkms
sudo dkms install -m nvidia -v xxx.xx

2.3 设置GRUB启动项

在Ubuntu中

sudo gedit /etc/default/grub

按照自己的需求更改

  • GRUB_DEFALUT=x,x是希望默认的启动项,避免每次启动都进入Ubuntu系统。
  • GRUB_TIMEOUT_STYLE,是否显示倒计时,hidden的属性表示不会显示倒计时
  • GRUB_TIMEOUT:等待时间,单位是秒
  • GRUB_GFXMODE:屏幕的显示像素

修改完成后

sudo update-grub

对刚才的设置进行更新。

2.4 安装中文输入法

(1) 安装中文包

sudo apt-get update 
sudo apt-get install language-pack-zh-hans

(2) 安装输入法

sudo apt install ibus-libpinyin
sudo apt install ibus-clutter

安装完成后重启系统

(3) 配置

选择智能拼音

3 卸载Ubuntu系统

3.1 查看Ubuntu分区情况

进入Ubuntu,打开终端输入

sudo fdisk -l

查看磁盘信息

如图所示,该磁盘安装Ubuntu的部分为/dev/nvme1n1p6~/dev/nvme1n1p8,分别为Linux交换分区和文件系统。

3.2 删除Ubuntu分区

(1) 打开磁盘管理软件DiskGenius

(2) 找到对应Ubuntu的Linux分区

磁盘1的交换分区和文件系统

磁盘0的启动分区

(3) 右键【删除分区】并点击【磁盘】—>【保存分区表】

(4) 删除后打开【磁盘管理】检查分区情况,如下图所示为成功。

多出了删除的空间

3.3 删除开机引导项

删除了Ubuntu系统所有分区后,Windows的EFI分区里仍然会有Ubuntu系统的引导项,不删除它的话开机时Ubuntu系统将仍然存在(虽然无法访问)。

(1) win+R打开cmd命令行,输入以下命令

diskpart
list disk

(2) 选择Windows所在磁盘并确定Windows的EFI分区

本文Windows位于磁盘0

select disk 0
list partition

该磁盘的分区信息,EFI分区一般是260M

(3) 为EFI分区分配盘符

盘符不可与已有盘符重复,注意防止与U盘、驱动器等外设重名,这里分配为J盘

select partition 1
assign letter=J

此时打开我的电脑可以看到新的盘符

(4) 通过记事本删除Ubuntu引导文件

由于权限不够,不能直接打开该磁盘,用管理员权限运行记事本,左上角【文件】—>【打开】,选择刚刚新增的J盘,删除Ubuntu文件夹

删除Ubuntu文件夹

(5) 删除刚刚分配的盘符

remove letter=J

3.4 修复Windows-Grub

若没有完全删除Ubuntu的相关信息,此时重启电脑将无法正常进入Windows系统,而进入Grub界面。

GNU/Grub界面

接下来开始修复Windows-Grub

开机时(出现电脑商标之前)按F2键进入boot setup界面,通过方向键选定选择Windows Boot Manager,进入Windows系统。

建议:重新通过DiskGenius筛查漏掉的ubuntu启动文件,若未果,继续尝试下面的方法。

打开【磁盘管理】确认磁盘分区形式,本文为GPT

对于GPT格式,下载EasyUEFI

打开软件,选择【管理EFI启动项】,删除Ubuntu,重启电脑。

附录

附1 搜索旧版本NVIDIA驱动程序

进入NVIDIA官网选择与自己的电脑显卡匹配的配置,点击开始搜索,默认结果只会出现目前最新的10个该显卡的驱动程序版本。快捷键F12打开控制台,在控制台输入如下代码后回车:

SystemScanner.prototype.DriverSearch = function(psid, pfid, osID, langCode, whql, beta, dltype, numresults ) {numresults=60;this.scannerStatusUpdate(GFE_SERVER_CONNECTING);theScanner.scannedDevice.downloadInfo=new Object();var parameters='psid='+psid;parameters+='&pfid='+pfid;parameters+='&osID='+osID;parameters+='&languageCode='+langCode;parameters+='&beta='+beta;parameters+='&isWHQL='+whql;parameters+="&dltype="+dltype;parameters+="&sort1=0";parameters+="&numberOfResults="+numresults;var requestUrl=this.driverManualLookupUrl+parameters;this.driversLogUIEvent("warn","SUID:"+this.tracker.scanID+" BEGIN DriverSearch requestUrl:"+requestUrl);this.debugTrace(requestUrl);jQuery.ajax({url:requestUrl,async:false,type:'get',success:function(response){try{theScanner.debugTrace("The Driver Lookup Service Returned:\n\n("+response+")");if(response.length>0){theScanner.resetResults();var driverLookupJsonObj='('+response+')';theScanner.resultsList=new Object();theScanner.resultsList=eval(driverLookupJsonObj)}if(theScanner.resultsList.Success==0){theScanner.scannerStatus="No driver available"}else{theScanner.scannerStatus="Results Ready"}}catch(e){this.driversLogUIEvent("error"," FAIL catch DriverSearch");theScanner.resetResults();theScanner.scannerStatus="No driver available"}},error:function(response){theScanner.resetResults();theScanner.scannerStatus="AJAX Call failed"}});this.driversLogUIEvent("warn","SUID:"+this.tracker.scanID+" END DriverSearch requestUrl:"+requestUrl);}

当搜索请求的驱动数据数量g过多时,就会出现请求长时间等待,甚至导致访问超时,此时需要修改numresults。然后在当前页面,再次点击开始搜索。结果就会显示出匹配显卡的全部驱动程序版本。


🔥 更多精彩专栏

  • 《ROS从入门到精通》
  • 《机器人原理与技术》
  • 《机器学习强基计划》
  • 《计算机视觉教程》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

本文标签: 保姆 入门 双系统 图文 教程