[Tips]HOWTO: 关闭 Surface Pro 4 屏幕自动旋转功能
HOWTO: 关闭 Surface Pro 4 屏幕自动旋转功能
用户的需求总是各式各样,不可能完全满足,就在上周 gOxiA 遇到了一个“奇葩”的支持请求,一位 Surface Pro 4 用户希望不论在何时何地,何种姿态下,都不要自动旋转 Surface Pro 4 的屏幕,希望在连接键盘时就是一个笔记本电脑。
这个需求其实也容易理解,用户使用习惯也好,强迫症也好,总之不希望屏幕在连接键盘时自动旋转。那么要解决这个问题禁用自动旋转不就行了,可事实是当 Surface Pro 4 在连接键盘后默认的横屏工作模式下“旋转锁定”是不可用的,必须旋转至竖屏后方能锁定。
现在感觉到用户的需求“奇葩”了,咨询了 Surface 在线技术支持,人家解释说键盘连接不稳定,让重新连接键盘,可是那么多台都是这样吗?后来人家又改口说是设计使然,并且也没有关闭硬件功能的方案,还让把驱动卸载掉再试,gOxiA 也是只能放弃了!
自己研究还是妥妥的,既然拔掉键盘能够关闭旋转锁定,那就先拔掉键盘,关闭旋转锁定后再接上键盘,OK!用户需求搞定。但是这个 Workaround 也有不足,前面讲过键盘连接后“旋转锁定”是不可用状态,那也意味着用户如果突然想启用屏幕自动旋转时不能不拔掉键盘重新设置。
HOWTO: 使用 Windows 10 内置命令管理设备驱动
HOWTO: 使用 Windows 10 内置命令管理设备驱动
在 Windows 10 之前在线管理和维护设备驱动是相当困难的事情。对于IT专业人员如果需要批量导入并安装驱动,只能依赖第三方应用程序,或者事先编写执行脚本。虽然我们可以使用 DISM 来执行操作,但关键的操作命令还是只能对脱机系统映像有效,所以还是非常的繁琐!为什么会如此尴尬呢?因为 Windows 支持硬件设备的即插即用(PnP)特性,而这一特性是由本地系统映像中强大的驱动库(DriverStore)来支撑的,它位于 Windows 的 System32 目录下。当系统连接一个新的硬件后会从这个 DriverStore 中搜索驱动,当发现匹配的驱动后变化配置为硬件设备使用,而此时驱动会被复制到 Windows 的 System32 下的 Drivers 目录中,被设备实时加载,而设备所需的其他子配置文件或程序文件可能分布在系统的其他目录中。
如果我们要安装驱动则需要使用设备管理器手工为硬件设备更新或安装驱动,也可以使用设备生产商提供的驱动安装程序来执行安装,但是对于一些 OEM 设备,尤其是笔记本来说,需要反复执行设备驱动安装操作十几次,也是相当令人崩溃的,即使像前面所讲使用第三方应用程序实现批量安装,但要实现自动化处理还是命令来的更实在。
Windows 10 提供了两个内置命令用于设备驱动的管理和维护,DISM.exe 和 Pnputil.exe 。DISM 在系统在线(联机)状态下只支持导出驱动,如果要添加和删除驱动必须在系统脱机状态下进行。
- DISM 添加驱动
dism /image:c:\mount\offline /add-driver /driver:c:\drivers /recurse /forceunsign
/recurse,遍历指定目录下的所有子目录,还是相当有用。
/forceunsign,添加未签名的驱动,在 X64 系统上添加未经签名的设备驱动可以使用这个参数。 - DISM 删除驱动
dism /image:c:\mount\offline /remove-driver /driver:oem1.inf
设备所安装的第三方驱动都会被重新按照 Oem0.inf,Oem1.inf,Oem#.inf 命名方式存储,而删除的时候亦是如此。要获取系统都安装了哪些驱动可使用 /get-drivers 参数。令我们感到悲催的是删除驱动不支持通配符,只能一条一条执行,或编写成批处理脚本。 - DISM 导出驱动
dism /online /export-driver /destination:c:\exportdrivers
也只有导出驱动是可以在系统脱机和联机状态下进行的,这倒是十分方便。一般IT部门拿到新型号笔记本后通常会使用这个命令导出驱动。(PS:这个习惯要养成,因为厂商提供的打包驱动不一定会完整,这是真的!!!)
注意,即使能够脱机状态添加驱动,但是所添加的驱动也只能用于未安装驱动的设备实现自动的驱动安装,即已经安装的驱动不会被自动更新和替换,除非你在设备管理器中手动执行更新,或通过 Windows Update 从微软获取最新的设备驱动。(PS:十分无奈!!!)
DISM 在脱机 Windows 映像中添加和删除驱动程序的完整过程可参考微软官方提供的资料,这里就不再过多的讲解。
参考资料:https://msdn.microsoft.com/zh-cn/library/windows/hardware/dn898469(v=vs.85).aspx
接下来再说说 Pnputil.exe - Microsoft PnP 工具,在 Windows 10 之前,这个工具简直就是鸡肋,可实现的设备驱动操作非常的有限,它更像是 DriverStore 层的维护工具。因为对硬件的实时驱动根本起不到管理作用。直到 Windows 10 v1703 版,Pnputil 才算真正意义的即插即用硬件设备驱动管理工具。其主要特性是允许在系统联机状态下执行添加、安装、卸载、删除以及导出驱动的操作。前面提到过设备被识别后,驱动是实时加载的,此时是无法使用命令行在联机状态下删除驱动的。而 v1703 较 v1607 最大的改进是支持了 卸载 和 安装 参数,即除了对 DriverStore 层执行操作外,也可以对 Drivers 层执行操作。
- Pnputil 卸载和删除驱动
pnputil /delete-driver oem#.inf /uninstall /force
/uninstall,卸载并删除驱动
/force,强制执行即使设备驱动正在使用中
/reboot,更具需要重启系统以完成操作
注意:直至 Windows 10 v1703 仍旧不支持批量卸载和删除驱动。 - Pnputil 添加和安装驱动
pnputil /add-driver c:\oem\*.inf /subdirs /install
/subdirs,遍历子目录
/install,安装或更新驱动 - Pnputil 导出驱动
pnputil /export-driver * c:\driverbackup
注意:导出驱动支持 * 通配符,也支持导出单个驱动 Oem1.inf,要枚举驱动可使用 /enum-drivers 参数。
DISM 和 Pnputil 相比较,DISM 更适用于系统映像准备阶段方便日后分发,例如拿到一批新型号设备,可以导出 OEM 驱动,并准备一个测试用途的企业标准化系统映像,使用 DISM 将驱动导入脱机映像中,当映像被安装到这些新型号设备后便可自动识别和安装驱动到系统中。而 Pnputil 更适用于联机系统的维护,例如 IT 专业人员从厂商获取到设备的最新驱动包,可以使用 Pnputil 直接批量安装和更新设备驱动。利用这些命令,我们还可以编写灵活的脚本满足更多的应用场景。
HOWTO: 解决 MS17-010 安全更新安装失败的故障问题
HOWTO: 解决 MS17-010 安全更新安装失败的故障问题
MS17-010 这个早在今年3月份就发布的安全更新,在这短短的几天里火遍了全球,其涉及的漏洞被恶意利用造成了不可估量的损失!针对事件本身 gOxiA 不再进行表态,而今天主要分享的内容是解决该补丁 - KB4012212(2017-03 Security Only Quality Update)在 Windows 7 上安装失败的故障问题。
周一上班相关同事开始着手处理补丁方案,但发现不少客户端都出现了安装失败的问题,提示部分更新安装失败,由于KB4012212是仅包含安全质量更新的补丁包,所以部分更新安装失败是无法保障MS17-010是否正确安装的,所以只能对故障进行排错,找到错误根因!还好在系统事件中记录了补丁的失败原因“0x80073712”即“组件存储已损坏”,但实际排错中发现安装其他更新是没有问题的。
只能跑一遍“sfc /scannow”先探探虚实,果然在27%时中断退出,提示无法完成修复,分析CBS 提取主要记录发现端倪,但貌似这些错误并不足以影响安全更新安装失败,看来焦点还是要回到 0x80073712 上,Msft Support 站点上扫了一圈还真找到了解决办法。
KB947821 中提到了“系统更新准备工具”可帮助修复一些 Windows 的损坏错误,补丁200-500MB左右,安装时间最少需要15分钟,在 gOxiA 的案例中该补丁足足打了1小时还多,在临近结束时(大概 90% 这个阶段)停滞不前,期间切勿重启计算机,因为扫描组件完整性确实耗时。KB947821 更新安装后,再次安装 KB4012212 顺利完成。
- KB947821 for Windows 7 x86:https://www.microsoft.com/zh-cn/download/details.aspx?id=3132
- KB947821 for Windows 7 x64:https://www.microsoft.com/zh-cn/download/details.aspx?id=20858
另外友情提示,在2016年5月微软为 Windows 7 和 8.1 提供了简化的更新方案,即更新汇总包!MS17-010 就包含在2017年3月汇总更新包中,当前最新版为5月汇总更新。(PS:懒惰或因规定不能每月常规补丁安装的,起码要坚持把安全汇总更新包给装上!!!)最后祝愿大家能安全度过此劫!