当前位置:   article > 正文

【联想PC win11系统安装Ubuntu18.04/Ubuntu20.04】全程记录安装过程,和网卡驱动、显卡驱动等安装以及后续一系列问题_ubuntu18.04网卡驱动安装

ubuntu18.04网卡驱动安装

0 情况说明:

电脑为联想台式机:Lenovo IdeaCentre-GeekPro
内存:32G
磁盘:512G固态硬盘+2T机械硬盘
CPU:i7-12700
GPU:NVIDIA RTX3060
学习需要安装Ubuntu18.04和win11系统共存。

之前装过Ubuntu16.04因为内核版本太老,显卡、声卡、有线无线网卡、蓝牙驱动都没有…,直接一个毛坯房了属于是,没有显卡驱动进入桌面整个分辨率都是糊的(如果看不到按钮,可以按住alt拖拽…),换成18.04之后,声卡是有的,其他还是无…
2023.05.10–先解决最要紧的有线网卡驱动和显卡驱动(因为两个显示器不能同时点亮,分辨率刷新率也是默认不能修改的,需要显卡才行),然后用timeshift来备份以下。
2023.05.29–更新了一下干净删除Ubuntu的操作,装了好几台电脑了(无线网卡我到现在还没安好,考虑到是台式机,放弃了…)
装显卡之前要打开独显直连!!!
2023.06.04–学习并修改swap分区部分,增加了一些说明和链接
2023.10.29–修改关于蓝牙、无线网卡驱动的安装建议
2023.11.27–补充了Ubuntu20.04的安装建议

有必要说明一下,如果对版本没那么执着,新的电脑(显卡版本是30系)强烈建议安装Ubuntu20.04甚至更高的版本,能减少很多装各种驱动的烦恼。
到现在,安装Ubuntu20.04,只需要安装的必须项就是显卡驱动了,无线网卡如果需要,安装完新系统后直接进行内核升级。如果安装完显卡驱动后再进行内核升级,新的内核系统无法找到显卡驱动。所以顺序一定是无线驱动–>显卡驱动

1 Ubuntu系统安装

1)分配磁盘

打算将512G的固态硬盘分出300G,2T的机械硬盘分出500G,前者作为ubuntu系统的根目录、交换空间、/boot和/home(跑程序),后者作为存储数据专用(命名为/home1)。
在win11下右击此电脑,找到管理-磁盘管理,查看自己的电脑磁盘分配情况,通过压缩、扩展分出空白的磁盘。下面是我分配好的:
在这里插入图片描述

2)制作启动盘

找一个不常用且大于2GB的空白U盘
下载UltraISO.exe,继续使用即可~
在这里插入图片描述

尽量不要拿经常用的U盘来当做启动盘,可能会损坏掉U盘
在制作启动盘的过程中,U盘的格式化按钮变灰无法初始化了,最后通过磁盘管理中的删除卷+新建卷解决了…

下载Ubuntu18.04.iso,放到一个能找到的位置,打开UltraISO.exe,双击镜像文件,点击启动-写入硬盘映像,硬盘驱动器应该会自动检测到U盘,先格式化(一定要格式化),写入,等待写入完成即可,这时候U盘名字会变成Ubuntu18。
在这里插入图片描述

3)进入BIOS

每个不同的电脑进入主板BIOS的方式不同,具体根据型号自行百度,联想台式机是在联想logo出来之前就可以按F1了,之前要插好你的启动盘哦,修改好启动顺序后直接启动安装了
在这里插入图片描述
点击安全菜单,将安全启动关闭
在这里插入图片描述

点击启动菜单,将USB Boot Support打开,然后修改优先启动顺序
在这里插入图片描述

我这里是已经安装好了的,如果你按照之前的步骤走,会有一个你的启动盘的标志(安装前要插好U盘),将其换到优先级为最前,我的是闪迪的U盘,所以是SanDisk…,
在这里插入图片描述
一切修改完成后,F10保存退出,重新启动

4)Ubuntu Installation

等待重新启动,U盘不要拔,这时候会出现一个黑框框,选择Ubuntu Installation,语言、网络自己设置就好,至于最小安装还是完全安装也无所谓,为了节省时间建议最小化安装,反正后期需要啥可以自己安装。
最关键的一步是安装类型–分配磁盘那里(别人的图,仅作参考),因为我们是依托Windows来安装的,所以Ubuntu会自动检测出系统将与Windows共存,也就是双系统,这里我们选择其他选项,手动分配空间。
在这里插入图片描述
之前分配好的300G SSD+500G HDD会在其中显示为 空闲,选中300G的部分,右击添加或者点下面小加号(忘记拍照了,拿别人的参考),以下的分配情况仅作参考:
tips:

主分区和逻辑分区类似于系统盘和数据盘,根目录、swap和boot目录我都选择了主分区,而home和home1选择了逻辑分区
根目录类似我们的C盘,是系统盘,建议安装在固态硬盘中。
交换空间是和内存进行交换,所以分配的空间取决于你的内存大小,建议取8-16GB我的内存是32GB的,所以后面会分配32G下面有新的理解
boot目录查了一下是内核更新用的缓冲区,分1G就行,应该是这样,很多博客直接没有分,采用默认方案。

  • 根目录/ :分100G-主分区-空间起始位置-Ext4日志文件系统-挂载点为/。
  • 交换空间swap:分2G-主分区-空间起始位置-swap交换空间。
  • /boot目录:分1G-主分区-空间起始位置-Ext4日志文件系统-挂载点为/boot。
  • /home目录:将固态剩下的全当做主(home)目录(大约180G)-逻辑分区–空间起始位置-Ext4日志文件系统-挂载点为/home。
  • /home1目录:来自于机械硬盘的300G(存放实验数据)-逻辑分区–空间起始位置-Ext4日志文件系统-挂载点为/home1。

重点:下面安装启动引导器设备改为Windows Boot Manager,这样可以依托Windows管理(图是别人的图!)

在这里插入图片描述

完成后,点击现在安装。等待完成即可,安装完成后,重启系统,进入桌面。

关于swap分区,实际上是物理memory不够用了以后,操作系统会从硬盘中取出一部分暂时不用的数据放到swap分区,而swap分区是建立在我们硬盘之上的,有点像Windows和现在安卓手机里面的虚拟内存。
看了很多博客上目前主流的解释有两种说法:
1.物理内存的1~1.5倍
2.内存小于 4GB 时,推荐不少于 2GB 的 swap 空间;内存 4GB-16GB,推荐不少于 4GB 的 swap 空间;内存 16GB-64GB,推荐不少于 8GB 的 swap 空间;内存 64GB-256GB,推荐不少于 16GB 的 swap 空间
就我自己使用过程用htop来看的话,上面说的都不靠谱。物理分区32G我基本上都是用不满的,swap更是基本不占用的,分给32GB的swap分区,纯纯硬盘资源浪费,个人觉得2-6GB已经是足够了的。

Linux SWAP交换分区应该设置多大?

上面如果说的不对希望评论区能够教我一下!

2.Ubuntu 系统卸载

这一步每个型号的电脑过程都差不多:

  1. 切换到Windows下,右击找到管理–磁盘管理,找到之前分好的直接右键删除卷
  2. 再分盘,删除启动项

删除卷很简单,关键是删除了以后再次开机还是会有一个选择启动项的grub,是因为在C盘(磁盘0)中还有Ubuntu的启动项(尽管我们之前没有对C盘做过任何操作)

删除启动项:

①win+R打开,输入 diskpart:
在这里插入图片描述
②输入 list disk
③输入 select disk 1,显示我们已经选择了磁盘1(选择系统盘
④输入 list partition,展示磁盘1里面的各个分区
在这里插入图片描述
⑤输入 select partition 1,assign letter=p。分区1显示的类型是系统,但是我们没有办法可视化看到所以需要给他分一个盘符(名字选一个不要重复的就好)
在这里插入图片描述
在此电脑可以看到了:
在这里插入图片描述
在开始菜单中找到记事本,以管理员身份运行,打开-此电脑,点击SYSTEM(p:)这个磁盘进入,进入EFI找到Ubuntu文件夹,右击直接删掉,完成。
在这里插入图片描述

⑥:remove letter=p,删掉盘符即可,再进入此电脑就一切正常了。

华硕主板bios有些奇怪,即使干净删掉了Ubuntu,在bios界面还是会有,但是是没有残留的,只是一个名字,可以在bios对应位置删掉即可。

3.Ubuntu18.04网卡驱动安装

进入桌面以后,发现无法上网,有线无线都不行,原因是Ubuntu18.04自带的驱动和网卡不匹配造成的。

建议刚安装好ubuntu后将内核进行更新,这样后续安装一些驱动可能会更方便
但是如果没更新,安好驱动后就不要更新了,因为容易丢驱动,也很麻烦

因为我有网线,所以我先选择安装有线网卡驱动,但是要安装下载过程需要apt、甚至是手动从官网下载压缩包,进入死循环,这时候可以用手机打开热点-将手机和电脑通过USB数据线连接,进行网络共享,连接好后发现右上角出现了有线连接的标志,打开浏览器,起码有网了。
最好是先用此方法连接网络,因为要联网下一些东西,没网的话,会很麻烦。
我的是华为手机:
在这里插入图片描述

查看网卡型号:
lspci -nn| grep -i net      //network是无线网卡 ethernet是有线网卡

查看有线网卡型号:
lspci | grep net

查看驱动:
lspci -k         //找到网卡驱动

找到驱动位置
modinfo r8169 | grep filename

删除:
sudo rm /lib/modules/5.4.0-84-generic/kernel/drivers/net/ethernet/realtek/r8169.ko //换成你的路径

卸载:
sudo rmmod r8169

检查是否卸载:
lsmod | grep r8169
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

在这里插入图片描述
驱动型号r8125,这个是电脑中硬件的型号,我们需要安装r8125的驱动,然后我们可以查看ubuntu18自带的驱动型号是多少
lspci -k之后,在最底部找到Kernel moudles:r8169(图中是8125是因为我安装好了),很显然不匹配。
在这里插入图片描述
删掉r8169之后,去realtek官网下载r8125的安装包
在这里插入图片描述
下载第一个,可以看到现在已经更新到了9.011.01,记住这个版本号。

/1/解压缩到/usr/src 文件夹下
sudo tar xvf r8125-9.011.01.tar.bz2  -C /usr/src

/2/在/usr/src/r8125-9.011.01中创建dkms.conf
touch dkms.conf
gedit dkms.conf

/3/添加下面的内容,可能版本号有差别,一定要写对自己的版本
PACKAGE_NAME=Realtek_r8125
PACKAGE_VERSION=9.011.01

DEST_MODULE_LOCATION=/updates/dkms
BUILT_MODULE_NAME=r8125
BUILT_MODULE_LOCATION=src/

MAKE="'make' -C src/ all"
CLEAN="'make' -C src/ clean"
AUTOINSTALL="yes"

/4/更新源,安装dkms(这一步需要联网)
sudo apt update 
sudo apt install dkms

/5/编译写好的dkms.conf
sudo dkms add -m r8125 -v 9.011.01
sudo dkms build -m r8125 -v 9.011.01
sudo dkms install -m r8125 -v 9.011.01
sudo depmod -a
sudo modprobe r8125

/6/再次查看驱动:
lspci -k 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

到此为止,起码可以通过有线上网了

4.Ubuntu18.04显卡驱动安装

显卡驱动坑比较多,我主要参考了下面几个博客:
Linux安装NVIDIA显卡驱动的正确姿势

Ubuntu16.04下安装NVIDIA显卡驱动

Ubuntu安装显卡驱动教程

第一篇不仅说明白了三种介绍方式,还解释了一些小插曲:

有三种安装的主流方式:

  1. 使用标准Ubuntu仓库进行自动化安装
  2. 使用PPA仓库进行自动化安装
  3. 使用官方的NVIDIA驱动进行手动安装
    在这里插入图片描述

因为用ppa或者ubuntu仓库来安装一般要涉及服务器和版本的问题,当然如果你的Ubuntu版本内核版本比较新,打开你的软件和更新后他自己是预装好驱动的,选择后点击应用更改就ok了,这样是最简单方便稳定的。

2023-11-11更新: 建议使用这种方法

如果没有检测到可用驱动,可以手动添加,过程快慢取决于网速:
添加PPA到我们的系统:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
  • 1
  • 2

去驱动中查看选择即可!

之前写的,可以参考,不要没事找事!!!!
我的没有…所以用源码安装,也就是使用官方的NVIDIA驱动进行手动安装。
在安装之前,有独显的电脑需要打开独显直连

1)去官网下载安装包

到NVIDIA的官方驱动网站下载对应显卡的驱动程序,下载后的文件格式为.run,将其放到一个都是英文名字的路径下,或者直接暴力放在主目录内(我就是这么干的)。

2)删除原有的驱动程序

因为我本身就没有驱动程序,这个可以在软件和更新-附加驱动中查看(图中有是因为我安装好了,之前啥也没有)
如果有或者之前安装过:

sudo apt-get remove –purge nvidia*
  • 1

3)禁用安全启动

bios禁用禁用secure boot,也就是设置为disable。如果没有禁用secure boot,会导致NVIDIA驱动安装失败,或者不正常。这个我们之前做过,一直没关掉。

4)禁用nouveau

这个是一个开源的显卡驱动程序,是一些爱好者写的便于管理linux中显卡驱动问题,性能很低,ban掉,我们自己下载安装官方的。

sudo gedit /etc/modprobe.d/blacklist.conf

//在最后一行添加,写完后保存退出:
blacklist nouveau                   //拉黑,后面也不需要解禁,没用了

//由于nouveau是构建在内核中的,所以要执行下面命令生效:
sudo update-initramfs -u
//重启电脑
reboot    

//重启之后,可以查看nouveau有没有运行:
lsmod | grep nouveau          //没输出代表禁用生效
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

5)禁用桌面GUI图形界面,进入“黑窗口”

为了安装新的Nvidia驱动程序,我们需要停止当前的显示服务器。最简单的方法是使用telinit命令更改为运行级别3。执行以下linux命令后,显示服务器将停止,因此请确保在继续之前保存所有当前工作(如果有):

sudo telinit 3
  • 1

之后会进入一个新的命令行会话,使用当前的用户名密码登录(你还记得叭…),这个界面想不起来的东西也可以reboot重启,然后返回可视化桌面。登陆成功后,由于之前我们将.run文件直接暴力放在了主目录下,所以ls查看是包含的,但是没有执行权限,但是还要增加可执行权限(执行完成后ls发现变为绿色):

sudo chmod a+x NVIDIA-Linux-x86_64-530.41.03.run
sudo sh ./NVIDIA-Linux-x86_64-530.41.03.run --no-opengl-files
  • 1
  • 2

–no-opengl-files 参数必须加否则会循环登录,也就是loop login

其中提示安装32位的兼容库,不选择。
其他选择yes或者ok
重启reboot。
开机后就会发现显示器都被点亮了,起码我的是这样,看看显卡是否正常工作?

nvidia-smi
  • 1

在这里插入图片描述

不同电脑差别却是挺大的,有些坑可能联想没遇到,hp和Dell就有,很玄学,没有通用的方法,都是一步一步慢慢来的
有些电脑装完以后,还是不能点亮外接显示器,或者是外接显示器亮了,但是笔记本内屏没亮,只显示一个logo,这貌似是跟没显卡的问题,在安装之前需要打开独显直连,如果还是没解决问题,那就只能升级内核或者是换Ubuntu20或者更高的版本了。真的是F**K NVIDIA…
如果手动安装不行,还是用ppa安装吧

5.timeshift备份系统

首先,肯定有更专业的备份方法,但是对于小白来说肯定是懵b的
其次,很多人喜欢用虚拟机的一个原因就是可以拍摄快照,哪里搞乱了直接一键还原,很方便。
最后我选择了可以apt下载的timeshift软件来备份。

1)安装timeshift

我换了中科大的,这个我认为是最快、最稳定的。
因为仓库中没有timeshift的源码,所以我们先添加源进去,更新一下

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt update
sudo apt install timeshift
  • 1
  • 2
  • 3

2) 备份

因为是可视化GUI,所以直接在系统中找到这个软件
在这里插入图片描述

RSYNC优点是可以备份到任何一个盘中,将整个系统(除了备份盘)全部清空也没问题,依然可以恢复,但是速度比较慢。一般选这个
BTRFS优点是速度快,备份和系统盘放在一起,系统盘崩了,他也崩了,很像虚拟机。

选择第一种方式后,继续选择保存的路径,这里就用500G的机械盘来存备份吧,主要是备份不经常动,然后机械盘比较稳定。
在这里插入图片描述
这里面是选择每隔多久备份一次,我都关掉,选择手动备份~,下一步
在这里插入图片描述
包括所有文件
在这里插入图片描述
这里有个地方需要注意(其实我自己也是模棱两可):
正常第一次用的时候好像不会出现这个包含/排除模式的选择,所以我们在设定好以后,还要返回头来在设定里面找一下筛选,因为在选择快照位置的时候下面有四点说明,最后一点说明了快照的保存位置是在选定分区下,并且他自动新建了一个/timeshfit目录(他是不是多了一个e?),那我们就提前新建好这个目录,并且不要包含
我看网上基本没有这样操作的,但是有一次我备份出现了一个问题,备份了好久好久直接把存储干爆了,我怀疑是不是循环备份了,就是备份了备份的东西?还是我设置的有问题?但是我这样设置是没问题的,后续也正常使用。
在这里插入图片描述

点击创建按钮,开始备份了,速度其实还好
在这里插入图片描述
在这里插入图片描述
点击恢复即可恢复到镜像位置了。

强烈建议哈,新手还是刚安装好就备份一个干净的ubuntu系统!

6.解决双系统时间不同步的问题

在Ubuntu下重启,进入Windows后突然发现时间晚了12个小时,Ubuntu下时间是正常的。
大佬的解决方案:一步解决双系统时间不一致问题

Ubuntu下运行,让两者时间同步即可,再进Windows下看看?

timedatectl set-local-rtc 1
  • 1

时间还是不对的话,进入Windows系统设置校准一下就OK了!

7.安装MATLAB

https://zhuanlan.zhihu.com/p/323440091

默认matlab的快捷键很乱,很多冲突的,可以使用windows下标准的快捷键:

home->preferences->keyboard->shortcuts->active settings:windows
default set 预设项–键盘–快捷方式–当前设置–Windows 默认集

这样就变成了习惯的windows下的操作。

8.Ubuntu硬盘扩容

首先需要再Windows下开辟一块空的磁盘,我分了机械硬盘的300G做备份盘
回到ubuntu18

sudo apt update
sudo apt install gparted
sudo gparted
  • 1
  • 2
  • 3

打开以后是这样的,最下面的是我之前的盘符,未分配的是我刚刚在Windows下开辟的空间
在这里插入图片描述

这时候直接对50g的空间进行操作是不可以的,需要先取消挂载!
右击–卸载,右击–更改大小/移动
在这里插入图片描述
在这里插入图片描述
这样空间就变成了350G,点击上面的绿色对号确定,系统会进行扩容。
在这里插入图片描述
操作完成后将磁盘重新挂载回我们需要的位置,用gnome查看确实扩容成功啦!

9.删除多余的内核

有时候Ubuntu会自己自动更新内核,在grub启动界面选择默认会优先打开最新的内核,由于新的内核很多驱动是没装上的,所以还是要用旧的内核,需要将自动更新的内核删掉。

#1.查看所有内核版本
dpkg -l | grep linux-image-
dpkg -l | grep linux-headers-
#2.删除不需要的内核(后面写你要删的版本!!!)
sudo apt-get purge linux-image-
#3.更新启动项
sudo update-grub 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

10.bad shim signature签名无效

有次笔记本电脑忘记关机了但是没插电,导致直接耗没电了,再次打开的时候系统把安全启动给打开了,而且还自动更新了内核,导致我想进入老内核进不去,大概这个样子:

在这里插入图片描述

解决办法:将bios中的安全启动关掉即可

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/129379
推荐阅读
相关标签
  

闽ICP备14008679号