Ubuntu系统安装Nvidia GeForce 9600M GT驱动时,提示无法在/proc/version中找到GCC版本号的问题求助
兄弟我太懂你折腾老Mac装Linux的痛苦了,尤其是这种带双N卡的老机器,驱动简直是踩坑重灾区。先捋清楚你的处境:2009款15寸MacBook Pro,换了SSD和双N卡(9600M GT+9400M),全盘刷了Ubuntu后,手动装Nvidia驱动时卡在GCC版本检测——明明/proc/version里清清楚楚写着gcc-12,安装程序就是不认,跳过检测还编译失败。
给你几个针对性的解决思路,按优先级来试:
1. 优先试试PPA安装适配的legacy驱动
你手动下载的驱动可能和新Ubuntu的GCC版本不兼容,毕竟9600M GT属于Nvidia的legacy显卡,最后支持它的官方驱动是340.x系列。试试通过官方显卡PPA来安装,这种方式会自动处理依赖和DKMS问题,比手动装靠谱多:
# 添加显卡驱动PPA sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 搜索适配9600M GT的驱动版本 sudo apt search nvidia-driver | grep 340 # 如果搜到,直接安装 sudo apt install nvidia-driver-340
安装完成后重启,应该就能正常识别显卡了。要是Software & Updates里之前没显示驱动,大概率是新Ubuntu默认源里移除了老legacy驱动,PPA里还能找到。
2. 切换到低版本GCC再手动安装
老Nvidia驱动的编译脚本对新GCC版本兼容性很差,你手里的驱动程序可能只认gcc-11及以下版本。试试切换系统默认GCC到11,再重新跑安装程序:
# 添加gcc-11和g++-11到备选列表 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100 # 切换到gcc-11(按提示输入对应编号即可) sudo update-alternatives --config gcc sudo update-alternatives --config g++ # 确认版本是否切换成功 gcc --version
切换完成后,先确保Nouveau已经禁用(你之前应该已经做过了),再重新运行下载的驱动安装程序,应该能通过版本检测。
3. Hack一下版本检测的文件(终极偏方)
如果上面两种方法都不行,那大概率是老驱动的检测脚本太死板,不认/proc/version里的格式。你可以复制一份/proc/version到本地,修改成它能识别的格式,再让安装程序读取这个副本:
# 复制版本文件到本地 cp /proc/version ~/temp_proc_version # 编辑这个文件,把GCC相关的部分改成更简单的格式,比如把原来的长串改成类似"gcc version 12.3.0" nano ~/temp_proc_version # 运行驱动安装程序时指定这个修改后的文件(把xxx.xx换成你下载的驱动版本号) sudo ./NVIDIA-Linux-x86_64-xxx.xx.run --proc-version-file=~/temp_proc_version
这个方法有点野,但对付老驱动的奇葩检测bug经常能奏效。
额外提醒:双显卡的后续配置
你的Mac是双N卡,驱动装好后可能需要手动切换到9600M GT才能发挥性能。可以用prime-select命令:
# 查看当前使用的显卡 prime-select query # 切换到Nvidia显卡 sudo prime-select nvidia # 重启生效 sudo reboot
慢慢来,老机器装新系统本来就有一堆兼容性小问题,先把驱动装上,再慢慢调那些卡顿、冻结的问题——清理风扇、换电池这些硬件操作也别落下,双管齐下才能解决性能问题。
备注:内容来源于stack exchange,提问作者Julius Hamilton




