计算机崩溃后,我正在尝试在台式计算机上重新安装 Ubuntu 和 NVIDIA 驱动程序。但是崩溃后无法成功安装NVIDIA驱动程序。第一个问题是在 Ubuntu usb 安装要求我"重新启动"计算机后,计算机进入低分辨率模式。我遇到的第二个问题是,通过按ctrl-alt-F1切换到文本命令模式后,屏幕变为黑屏。 我学会了通过编辑/etc/default/grub
来解决黑屏文本命令模式,并将"nomodeset"添加到GRUB_CMDLINE_LINUX_DEFAULT
变量并重新启动计算机。
然后我下载 https://us.download.nvidia.com/XFree86/Linux-x86_64/384.130/NVIDIA-Linux-x86_64-384.130.run 并安装此 NVIDIA 驱动程序。但由于以下错误,安装失败:
/tmp/selfgz1982/NVIDIA-Linux-x86_64-384.130/krenel/nvidia-uvm/uvm8_va_block.c: 在函数'block_cpu_fault_locked':
./arch/x86/include/asm/process.h:820:39中:错误隐式声明 函数 'task_stack_page' [-Werror=隐式函数声明]
无符号长__ptr = (无符号长)task_stack_page(任务);
显卡坏了吗?
英伟达驱动器在崩溃时是否会更改母偏置或显卡设置?
Ubuntu 安装可以完成安装并显示不错的分辨率。
有什么建议我可以解决吗?
正如@Wang指出的,这是解决方案:https://github.com/NixOS/nixpkgs/issues/33284#issuecomment-354672627
现在,如果您使用的是脚本nvidia.run
,这可能会有点棘手,因为脚本会提取源代码,运行并在之后擦除源代码。以下是克服它的方法:
sudo ./nvidia.run -x
将提取源代码。- 找到解压缩的文件夹。里面,有一个文件
[the-extracted-folder]/kernel/nvidia-uvm/uvm8_va_block.c
.将#include <linux/sched/task_stack.h>
添加到顶部。 sudo [the-extracted-folder]/nvidia-installer
安装驱动程序。
然后,你应该很高兴。
这是一个已知问题:
在
#include <linux/sched/task_stack.h>
kernel/nvidia-uvm/uvm8_va_block.c
应该可以解决问题。
提取使用
sudo sh cuda_9.1.85_387.26_linux.run --extract=$home/Downloads/cuda