用 U 盘安装 opensuse 13.1 安装过程正常,最后安装结束后提示重启,但重启后无法加载桌面,屏幕卡死
笔记本: HP Pavilion 14-e023TX
CPU: i5-3230M
内存:4GB
显卡:AMD Radeon HD 8600M Series/Intel® HD Graphics 4000 双显卡
开机能引导,加载完内核,屏幕出现 opensuse 13.1 的壁纸后闪一下就出现下面的界面,键盘鼠标都没有用了,最后不得不强制关机
!](http://image.suse.org.cn/image.php?di=RU0S )
重装几次都这样
后来我进入恢复模式,提示说没安装完成,继续安装,完成后能进入系统,但重启后又出现问题了,壁纸显示完后,画面一黑,右上角有个提示符,就卡住了,不动了,无法进其他终端,只能强制关机,能进恢复模式,更新系统后还是这样
在这个界面可以通过 Tab 键来移动光标,用回车键来确定。
你没有按照界面的提示做过一遍?检查镜像有没有问题?U 盘安装是 DVD 么?能不能试着在 BIOS 里关闭独显?
我胡乱猜测是显卡驱动的原因。看看能不能通过禁用独显来进入系统。
镜像验证没问题,我用 U 盘安装的,到这一步键盘就不能用了,不论是外接键盘还是笔记本自带的键盘都不能用,回车没反应,但后来我进恢复模式提示我安装失败,继续安装,安装完成后能进系统,重启后就出现卡死的现象,壁纸显示完以后屏幕一闪,右上角出现一个提示符,不动,也没法进虚拟控制台,就卡死了,恢复模式一直都能进,我更新系统还是没用,没法在 BIOS 里关闭独显,恢复模式能进,请问怎么救
姑且假定是显卡的问题吧。你看这个薇姐的教程
最近把自己的内核更新到了最新的 3.11 RC7,特此记录以飨来者。
** 下载驱动: **
wget http://cn.download.nvidia.com/XFree86/Linux-x86/325.15/NVIDIA-Linux-x86_64-325.15.run
当然你也可以自己去 NVIDIA 官网 (nvidia.cn ) 翻:
「驱动程序」-「全部驱动程序」-「Linux, FreeBSD, and Solaris 驱动程序」,根据系统架构选 x86 或 x86_64 然后下「短寿命分支」,点「下载」后是要你确认的,这里需要注意:
直接点「同意并开始下载」是会在浏览器新标签页打开那个 .run/.bin 驱动的 ,这一定不是你要的,所以请使用「另存为」。
** 升级内核: **
添加 Kernel:HEAD 源:
sudo zypper ar -f http://download.opensuse.org/repositories/Kernel:/HEAD/standard/ Kernel:HEAD
sudo zypper ref
升级内核:
sudo zypper up kernel-desktop kernel-source kernel-devel kernel-desktop-devel
当然你也可以打开 YaST -「软件源」添加源,YaST - 「软件管理」来更新软件包。
** 重启系统: **
在 Grub2 菜单处,按 e 编辑引导菜单,找到这行:
linux /boot/vmlinuz-3.11.0-rc7-2.g7032523-desktop root=UUID=9d003617-abbb-4bb1-a6ef-e866ba1debf2 resume=/dev/disk/by-id/ata-SAMSUNG_HN-M101MBB_S2R8J9BB808817-part1 splash=silent quiet showopts
把 splash=silent 替换成 splash=none,在 showopts 后面加个 3,变成:
linux /boot/vmlinuz-3.11.0-rc7-2.g7032523-desktop root=UUID=9d003617-abbb-4bb1-a6ef-e866ba1debf2 resume=/dev/disk/by-id/ata-SAMSUNG_HN-M101MBB_S2R8J9BB808817-part1 splash=none quiet showopts 3
然后按 F10 引导。
** 处理驱动: **
命令行登录。(输入普通用户名和密码)
如果是正常安装驱动的话,是用
su
sh NVIDIA-Linux-x86_64-325.15.run
就可以安装驱动的(具体见:https://zh.opensuse.org/SDB:NVIDIA_手动安装)。
但是 325.15 对 3.10 以上的内核支持有点问题,我们需要 patch 一下。
这里为了凸显解决问题的过程,我把实验流程也记录一下。
首先像正常的那样安装,有几个 tricky 的地方:
询问你是否用 DKMS 的时候,选择「no」,因为 NVIDIA 的 dkms 就没好用过。
会有一个提示说你的内核是用 gcc 4.8 编译的,而你现在系统的 gcc 是 4.7,最好不要用不同的 gcc 版本编译内核和驱动,这是正常的,因为 Kernel:HEAD 源是针对 openSUSE Factory 的,openSUSE Factory 的 gcc 是 4.8。这里我们选择「no」,意思是我知道了但是不退出安装。
于是接下来出错了,让你看 /var/log/nvidia-installer.log 查找问题。我们
vi /var/log/nvidia-installer.log
用方向键滚动看一下日志。
error: ‘num_physpages’ undeclared (first use in this function)
是这个错误,于是祭出 Google,搜索「3.11 nvidia num_physpages",就找到了强大的 devtalk.nvidia.com (NVIDIA 的开发论坛):
devtalk.nvidia.com/default/topic/572088/ptoblem-with-nvidia-driver-on-linux-3-10-git/
--- a/kernel/nv-linux.h
+++ b/kernel/nv-linux.h
@@ -957,7 +95…
按着「重启系统」那一节依样画葫芦。如果可以进去装一个 A 卡的官方驱动试一试(建议下载 rpm 包安装,rpm 去 A 卡的镜像里找,镜像地址翻翻帖子, 13.1 的不久刚有人说过)。