Sony Z13 系列笔记本安装 NVIDIA 官方最新版显卡驱动程序
Sony Z13 系列笔记本安装 NVIDIA 官方最新版显卡驱动程序
Sony Z13 系列笔记本的驱动程序一直停留在 2010 年的版本, 在 Windows 7 下工作正常, 最近升级到了 Windows 8 , 这个版本的驱动程序无法正常工作了, 由于 Z13 是 2010 年的产品, Sony 根本不打算提供 Windows 8 系统的驱动, 于是只好开始折腾, 想办法安装 NVIDIA 官方的驱动程序。 经过不懈的折腾, 总算搞好了, 现在总结如下:
注意: 1 和 2 两步仅仅针对 Windows 7、8 , 如果你的系统还是 Windows XP ,则直接忽略。
1、 破解 Sony 的 BIOS 高级菜单
Sony 笔记本的 BIOS 锁定了高级菜单, 屏蔽了很多高级的功能, 包括显卡切换策略, 因此必须先破解高级菜单才能继续。
英文教程在这里,现整理如下:
准备工作
FreeDOS 启动 U 盘
为什么是 DOS ? 因为在 DOS 下可以直接读写 BIOS , 下载 UNetbootin , 并根据提示做一个 FreeDos 启动 U 盘, 这个对于技术宅来说, 不是什么问题。
做好启动 U 盘之后, 下载这个 FLASHZ1.EXE , 保存到 U 盘的根目录, 后面将使用这个工具在 FreeDOS 下读写 BIOS。
Portable Python
修改 BIOS 的工具就是用 Python 编写的, 所以需要 Python 环境, 访问 Portable Python , 下载 2.7.x 的最新版本并安装到 U 盘上。
安装好之后, 下载 advanced_menu.py , 把压缩包的内容解压到 Portable Python 安装目录下的 App 目录内。
修改 BIOS ,打开高级菜单
重启, 选择从 FreeDOS 启动, 一切按照默认选项启动, 不要选择任何选项。 FreeDOS 启动之后, U 盘的盘符应该是 C: , 切换到 C: , 输入下面的命令提取 BIOS 文件:
Flash t dump.rom /g
提取之后, 重启到 Windows 系统, 将 dump.rom 复制到 App 目录, 打开 Python 命令行, 并切换到 App 目录, 输入下面的命令修改提取的 BIOS 文件:
python advanced_menu.py dump.rom new.rom
注意: 检查这个命令的输出, 如果有任何的错误信息, 就不要继续, 否则笔记本真的会变砖。
如果命令没有提示任何错误, 将声称的 new.rom 复制到 U 盘的根目录, 重启到 FreeDOS , 输入下面的命令刷入修改过的 BIOS 文件:
Flash t new.rom /f
如果你的 RP 很好的话, 一切 OK , 重启笔记本, 按 F2 进入到 BIOS , 就可以看到高级菜单了, 包括很多高级选项, 比如: 风扇控制、 内存运行频率、显卡切换策略等。
浏览过之后需要将显卡切换策略设置成 Static
, 默认的策略是 Auto , 即根据操作系统自动选择, 如果安装的是 Windows XP 系统, 则自动切换为 Static
, 如果是 Windows 7 或者 8, 则自动切换为 Dynamic
。 不过我们现在要固定设置成 Static
。
VGA Switching Policy" = "Static"
2、 启用系统的驱动测试模式
以管理员身份启动命令行窗口, 输入下面的命令
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
3、 安装 NVIDIA 最新版驱动
访问 NVIDIA 的支持网站, 下载支持 GT330 的最新驱动程序, 并解压到一个临时目录, 还需要做一些修改才能直接安装。
根据这里的提示, 打开 Display.Driver 目录下的 /nvszc.inf 文件, 查找:
%NVIDIA_DEV.0A29.02% = Section010, PCIVEN_10DE&DEV_0A29&SUBSYS_9067104D
替换为:
%NVIDIA_DEV.0A29.02% = Section010, PCIVEN_10DE&DEV_0A2B&SUBSYS_905A104D
这一修改理论上对 Z11/Z12/Z13/Z14 都可用, 但是我无法确认。
保存修改过的文件, 运行安装程序安装显卡驱动。
GT330 是比较旧的显卡, 安装最新的驱动程序在性能上应该没有什么提升, 但是可以在 Windows 8 下面正常工作, 可以更好的支持 WebGL 以及 OpenCL , 支持 OpenGL 3.3, 对于开发者来说, 有一定的意义。 同时也会丧失一些功能, 比如双显卡自动切换, 要么选择 Speed 模式, 要么选择 Stamina 模式, 切换显卡模式需要重启。 而且根据亮度自动调整显示器亮度的功能也可能会确实, 需要手工调整亮度。
- 多平台下的数据存储新秀-PROTOBUF
- TCP的长连接与短连接的含义与区别(附Java代码实现)
- Mycat读写分离配置实践
- 快速搭建主从的脚本和问题排查
- MySQL在RR隔离级别下的unique失效和死锁模拟
- Golang语言--glog日志库使用
- 一个MySQL死锁问题的复现
- Spring Boot 2.0 新特性(一):配置绑定 2.0 全解析
- MySQL断电恢复的一点简单分析
- Spring Boot 2.0 新特性(二):新增事件ApplicationStartedEvent
- 奇怪的go语言iota
- Golang web服务器处理前端HTTP请求跨域的方法
- MySQL死锁的两个小案例
- Go 的浏览器集成测试
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php 自定义函数实现将数据 以excel 表格形式导出示例
- 解决tp5在nginx下修改配置访问的问题
- 在PHP中实现使用Guzzle执行POST和GET请求
- c 语言函数指针之回调函数
- 解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
- php和js实现根据子网掩码和ip计算子网功能示例
- php ZipArchive实现多文件打包下载实例
- PHP 代码简洁之道(小结)
- Thinkphp 在api开发中异常返回依然是html的解决方式
- Laravel 连接(Join)示例
- 解决Laravel自定义类引入和命名空间的问题
- 详解Laravel服务容器的绑定与解析
- 修改Laravel自带的认证系统的User类的命名空间的步骤
- PHP使用递归按层级查找数据的方法
- Laravel6.2中用于用户登录的新密码确认流程详解