最近新装了一个电脑 由于显卡比较新 通过原来的安装方法安装的时候出现了一些问题
原链接:Ubuntu配置GPU支持的TensorFlow和pytorch - 简书
当前硬件:Lenovo Legion Y7000 | 16G | Intel U7 20核 | Nvidia 5060 | 1TB
现更新从装系统开始:
win环境下装双系统:
参考:
2021-10-02 在ssd上重装双系统 Ubuntu无法安装Chrome - 简书
Windows11 + Linux (Ubuntu22.04) 双系统最简安装详细避坑版_win11安装linux双系统-CSDN博客
操作顺序:
-
下载系统(LTS.iso版本,如果下载成了torrent,可以通过夸克网盘解压下载iso),下载刻盘软件并安装(我这里用的是balanaEtcher,之前有用过软碟通,rufus都可以,如果是rufus,用默认选项就好)
image.png - 刻录系统盘
- 可参考:Win环境下刻录Ubuntu系统盘-balenaEtcher - 简书
image.png - 注:刻录好之后可以在磁盘管理中看到未分配的空间,右键新建卷就可以把剩余空间作为正常U盘使用
- 压缩并清理出来磁盘空间
-
开始--磁盘管理--压缩卷/删除卷,大概空出来一块未分配的连续的空间给ubuntu(不是刚刚U盘里的那个,是要安装系统的盘上),空在那里就可以
注:如果磁盘中有卷显示bitlocker加密,一定要解密后进行下一步安装(开始--设置--隐私与安全性--设备加密--关掉或者直接搜索BitLocker),即使只是win系统安装的位置有加密也不可以,要全盘都没有加密才行,否则会安装到一半告诉你未解密,让你解密后重新安装,而且如果文件夹里面东西很多的话,解密要很长很长时间!!! 要做好心理准备。
- 安装ubuntu
- 重启电脑--选择U盘启动(这个时候一般都需要不停的按快捷键,联想是F12,但我发现win11有一个路径:开始--系统--恢复--高级启动--使用设备--EFI USB Device就可以了,不用手忙脚乱)
注:这一步把网断掉或者把网线拔了,之后安装速度会快些 - 因为这次懒得分区,大规模数据不准备存在这个系统里,就直接选择了自动安装,简单很多,他会自己选择那个空白卷,一整个卷都做系统盘,系统文件都在一起,如果想分区的,可以参考:2021-10-02 在ssd上重装双系统 Ubuntu无法安装Chrome - 简书
- 其他正常按照提示往下走就可以了,结束后需要重启,它会提示你先把启动盘(U盘)拔了然后再重启。
- 重启及开机后可能会遇到的问题:
1) 卡在页面进不去:ubuntu双系统启动时卡死解决办法 - 不妨不妨,来日方长 - 博客园
2) 开机时间特别长,卡在le** Ubuntu页面,但能开机:这个好像是由于独显导致的,开机后进入软件与更新--附加驱动--选后面标tested专有--应用更改--重启就可以了**
Ubuntu下安装Nvidia驱动
- 先给ubuntu联网进行更新,重启几次,以确定没有什么其他问题
- 进入软件与更新--附加驱动--选后面标tested专有--应用更改--重启,重启后打开命令行,输入
nvidia-smi
看是否会输出显卡信息,如果是个表格,说明驱动已经安装好了,那就可以直接跳下一章了
- 我这一步失败了,显示的是“No devices were found”,后发现是版本不匹配导致,排查过程如下:
- 确认系统有没有看到 NVIDIA 显卡
lspci | grep -i nvidia
这一步有输出,为“VGA compatible controller:NVIDIA......”,表示这一步没问题
- 测试驱动模块有没有被加载
lsmod | grep -i nvidia
出现“nvidia_uvm, nvidia_drm等”,说明驱动模块是加载了的,但 nvidia-smi 还是找不到设备 ,往往是驱动版本与 GPU 型号/内核不匹配
- 看驱动加载过程是否有报错
先查看 Secure Boot 状态,如果显示 SecureBoot enabled就没问题。
sudo mokutil --sb-state
然后看内核日志里的 NVIDIA 信息
sudo dmesg | grep -i nvidia | head -n 30 # 用 root 权限,从完整日志里,显示最早的 30 行 NVIDIA 相关日志(更偏启动阶段)
#或者
sudo dmesg | grep -i nvidia | tail -n 20 # 用 root 权限,显示最近的 20 行 NVIDIA 相关内核日志(最新报的错)。
看里面会不会哪里出现“failed”,“No”,“Unknown”之类的,基本就可以确定是版本不匹配,我这里出现的是“failed to allocate NvKmsKapiDevice”。
- 安装低一版本的或者当前版本open的驱动
注:这里很多人说需要把之前的驱动都卸干净在重新安装,我实际测试了一下发现并不用查询关键词卸载,他会自动卸载之前的驱动,这一步可参考:Ubuntu配置GPU支持的TensorFlow和pytorch - 简书
1)正常安装
可以用下面的代码,也可以通过软件和更新--附加驱动来安装
- 添加PPA源
sudo add-apt-repository ppa:graphics-drivers/ppa
- 为系统安装依赖项以构建内核模块:
sudo apt-get install dkms build-essential
- 查看显卡硬件型号
ubuntu-drivers devices
出现的应该是软件和更新--附加驱动里面一样的驱动列表,出问题的是580-distro no-free recommended,在列表中有580-open-distro no-free,选择这个如果还不行,选择570-open,据说是因为显卡的版本(5060)比较新(当前编辑日期为2025.11.25),驱动还没跟上,如果列表中有575也可以选择575。
- 安装新的驱动 注:不用卸载之前的驱动,他会自动卸载的
sudo apt-get install nvidia-driver-580-open # 这里写你选择的那个驱动名字
- reboot重启
sudo reboot
注:这个过程中可能会出现ubuntu 软件包设置 “确定“ 点不动的情况,Tab+Enter就可以了,要输入个密码,之后MOK的时候会用到
2)如果重启过程中发现左上角的出现光标一直闪,闪很久进不去,同样说明驱动版本存在问题,要进入tty模式,查看驱动情况,判断是否要卸载驱动,重新进入系统进行操作:
- 机器开机卡在左上角闪光标的时候,同时按下:Ctrl + Alt + F3(或者 F2/F4 也可以多试几个)
如果屏幕变成黑底有登录提示(login:),说明你进到了 TTY:输入你的用户名,回车;输入密码,回车(密码不会显示,正常的) - 先测试驱动安装上没,如果出现表格,表示安上了,说明可能不是驱动的问题,但这种情况一般来说是开机慢而不是开不开
nvidia-smi
- 卸载所有 NVIDIA 驱动:
sudo apt-get purge 'nvidia-*'
sudo apt-get autoremove --purge
- 删掉可能被 NVIDIA 写出来的 X 配置(非必须)
sudo rm -f /etc/X11/xorg.conf
sudo rm -rf /etc/X11/xorg.conf.d
- 重启
sudo reboot
重启后打开附加驱动会发现驱动变成了最下面的那个xserver-xorg,表示已卸载完成。
3) 如果你开启了 Secure Boot,有时第一次装驱动重启会弹出 MOK 相关蓝色界面,要自己选 Enroll MOK → Continue →yes → 输入你之前设置的密码→root,否则驱动不会生效。
4)开机闪一分钟多后进去了,我这面的原因是:NVIDIA 580-open + Wayland + 混合显卡 导致的,解决办法是:在tty中改一下:
Ctrl + Alt + F3(或者 F2/F4 也可以多试几个)进入tty后登录,输入
sudo nano /etc/gdm3/custom.conf
打开后找到这一段(大概在开头):
# Uncomment the line below to force the login screen to use Xorg
#WaylandEnable=false
把 WaylandEnable=false 前面的 # 删掉,改成:
[daemon]
WaylandEnable=false
其他内容不要动。然后在 nano 里:按 Ctrl + O,回车保存;再按 Ctrl + X 退出。
重启GDM或整个系统
sudo systemctl restart gdm3
按 Ctrl + Alt + F1 或 Ctrl + Alt + F2 去看看能不能出现图形登录界面;如果不放心,直接:
sudo reboot
让 GDM 不再用 Wayland,而是用 Xorg 来起图形界面——这在混合显卡 + NVIDIA 的机器上通常更稳。
- 测试
nvidia-smi
出现表格表示安装成功
安装pytorch
正常来说,在安装好驱动之后需要安装cuda,cudnn等,现在发现在安装pytorch时,这些会自动安装
- 先确定pip已经安装好,如果没有:
sudo apt install python3-pip
- 安装torch:进入官网:Get Started,选择对应方块并copy最下面的命令至终端,并运行。
image.png
注:
- ubuntu22.04自带的python是3.10,如果不是或更改过,在build中选择preview;
- pip3或者pip需要注意一下,保持一致就行;
- 安装完成后就会发现 cudnn,cuda都已经被打包安装好了,可以测试一下:
> python3
import torch
print(torch.version)
print(torch.version.cuda)
print(torch.backends.cudnn.version())


