无法从 initrd 中删除太新的 NVIDIA 驱动程序

无法从 initrd 中删除太新的 NVIDIA 驱动程序

我在 Ubuntu 12.10 (Pretzlyquantumbear!?)上运行内核 3.5.0-27-generic

make install不知何故,我已经安装了 Nvidia 驱动程序 310.32,但除非我在每次启动时都运行,否则 X11 将无法启动nvidia-current-updates-304.88

我如何将正确的驱动程序 304.88 放入 initrd?

我已尝试过update-initramfs -u,但没有成功。

每次重启时,这都有点麻烦:

  • 按住 Shift 键以显示 GRUB 菜单
  • 选择特殊启动
  • 选择救援
  • 进入 root shell
  • remount -n -o remount,rw /
  • cd /usr/src/nvidia-current-updates-304.88 && make install
  • logout
  • 选择恢复启动

答案1

从这里看来您安装了两个混合驱动程序:

  • 310.X 手动安装(使用 nVidia 网站上的安装程序);
  • nvidia-current-updates来自 Ubuntu 仓库。

首先,您需要卸载 310 驱动程序。如果您是从 nVidia 网站下载的 .run 文件安装的,则可以使用以下命令执行此操作:

sudo sh /path/to/NVIDIA-Linux-<version>.run --uninstall

此后,您可以从默认存储库安装一些驱动程序。如果您需要使用 310 驱动程序,您可以安装实验性的驱动程序:

sudo apt-get install nvidia-experimental-310

尽管被称为“实验性的”,但我使用了一段时间,没有发现任何问题。

或者你可以继续使用现有的 304 驱动程序:

sudo apt-get install --reinstall nvidia-current-updates

如果重启后仍然需要在每次启动前编译驱动程序,请检查以下内容:

  • 检查您是否已dkms安装:sudo apt-get install dkms
  • 检查您是否具有编译模块所需的内核头文件:sudo apt-get install linux-headers-$(uname -r)
  • 运行sudo update-initramfs -u并观察警告/错误。

相关内容