说说 Windows 10

近几天 Windows 10 瞬间成了热门新闻,原因大概是微软历史上第一次以在线更新的方式发布了新版 Windows。Windows 7、 8 和 8.1 的用户不用特地下载或是购买安装盘,只要等待一会即可免费升级到 Windows 10。

尽管随着网络技术的发展,操作系统的地位日渐下降,平台的作用被浏览器和应用取代了。但对于这一款重量级产品,我还是很乐意吐槽一下的。

先来说说 Windows 10 的新特性:

开始菜单回归

鲍尔默做过的最大失误大概就是强推 Metro 界面了,在一个超过 20 寸的非触摸屏上全屏显示 Metro UI 简直美得不敢想象。在一个有着数十亿用户的平台上做出这么恶心的界面改动,足以显示鲍尔默当年是有多么想在移动端扳回一城,然并卵。

新的时代到来之后,开始菜单的回归是一个必然之举。Windows 8 的桌面(Desktop)用户应该会很喜欢这个变化。

Cortana

Cortana 是一个语音助理,和 Apple 的 Siri、Google 的 Google Now 是一类的产品。她可以接收语音指令,做一些智能的操作,比如设置闹钟什么的。Cortana 最初是在 Windows Phone 中发布,而 Windows 10 把她集成了进来。

具体 Cortana 在 Windows 10 能发挥何等的功效,目前还没看到详细的评测。不过由于我的家用影音系统用的是 Windows,我对 Cortana 相当期待,终于可以在一集电影看完对着电视说“Hey Cortana, play the next episode”,而不用使用遥控器。希望这样的功能可以早日实现。

令我印象深刻的功能就这两个,接下来吐槽一些改或没改的东西:

Edge

Microsoft Edge 是 IE 的后继产品,也就是说,Windows 10 中不再有 IE 浏览器了,取而代之的是 Edge。两者的图标很相近,普通用户应该不会感受到多大的差别。

且不说 Edge 比起 IE 来有多么大的进步,微软在产品名称上一直都不怎么出彩。之前 Live 用了十几年,觉得不爽了,改成了 Bing;MSN Messenger 用了十几年,不爽了,改成 Skype;Hotmail 用了十几年,不爽了,改成 Outlook。然而这些产品改名之后,依然不温不火,完全没有达到改名的目的。现在 IE 改成了 Edge,我们也不必指望 Edge 是全新开发的,毕竟 IE 十几年的积累摆在那里,Edge 用三年的时候超越 IE 是不可能的事情,所以 Edge 的内心依然流着 IE 的血液。

App Store

iPhone 成功了这么多年之后,微软依然没有意识到 App Store 之于 iPhone 的重要性,Windows 10 的应用商店依然不支持传统软件的安装。

Windows 最大的竞争力在于它的兼容性和庞大的软件生态环境,十几年前的软件装在最新版的 Windows 中依然可以运行。但软件的繁琐不统一的下载、安装方式一直都没有得到解决。用户不得不从各种不知道安不安全的网站上下载软件,双击之后也不知道安装程序到底干了什么,提心吊胆地使用着各种软件。而 App Store 的优势在于,其中的所有应用都经过了 Apple 的审核,而且安装和更新过程统一,容易上手,不用担心装了一个应用而危害到系统安全。

Windows 目前的策略貌似放弃了传统的软件,要求所有新软件使用新的 API 开发,使用统一的界面风格,才可以在自己的应用商店上架。这样就把自己最大的优势放弃掉,用自身的弱势和 Apple 的优势竞争,结果可想而知。

家庭影院模式

Media Center 被正式放弃,不知道做出这个决定的老板,看到新的 Apple Music 是什么想法。现在各种电视盒子、播放器这么流行,用户渴望以一种简单的方式来看电影、听音乐,而目前各种不同的软件的操作方式多少有所不同,微软却不想着提供一种统一的用户体验。或许由于早期微软过于特立独行被打击地太厉害,导致现在做什么都缩手缩脚的,自己把自己禁锢在所谓的“平台”上,市场全被其它厂商抢走了。

吐槽结束。

至于要不要安装 Windows 10,还是那句老话,软件要用最新的。

在Chrome中开启高分辨率支持

Windows 从很早开始就支持了高分辨率(High DPI)的显示屏,在显示设置中使用高分辨率来使屏幕上的字体和图像变大,但不会模糊。效果如下(图片来自网络),和 Retine 版本的 Macbook Pro 上的效果类似:

但不幸的是,High DPI 的功能需要应用程序支持。也就是说,如果应用程序不支持 High DPI,即使在 Windows 中设置了,会造成应用程序的界面变得模糊,字体很虚,不容易识别。但很多开发商都不重视High DPI这个功能,以至于它到现在都没法正常地使用。Chrome 也是一直到了37.x (目前的 Beta)才支持 High DPI。

设置方法如下:

  • 打开注册表,找到目录:HKEY_CURRENT_USER\Software\Google\Chrome\
  • 如果其下没有 Profile 这个键,就创建一个新的,方法是右键单击“Chrome”键,“新建”->“键”。
  • 在 Profile 中新建一个名为“high-dpi-support”的“DWORD值”,把它的值设为“1”。

然后重启 Chrome 就可以了。如果你觉得有什么问题,想把 High DPI 的功能关闭,直接把上述 high-dpi-support 的值改成“0”即可。

chrome.exe *32是什么进程

在64位的 Windows 中,你可能会发现带有*32后缀的进程名,尤其是 chrome.exe *32(如下图),这代表什么意思呢?

64位的 Windows 中包含了32位应用程序的运行环境,可以让64位和32位的应用程序同时运行。在任务管理器中为了以示区分,32位的应用程序后面会加上“*32“的字样。“*32“只是表示这个应用程序是32位的,并不表示它有32个同时在运行,所以看到上图不要惊慌,Chrome 的进程没有那么多。目前 Chrome 在 Windows 上还没有64位版本,所以所有的Chrome进程都会有“*32“。

不仅是 Chrome,其它的应用程序,只要是32位的都会标上“*32“,反之64位的则不会。

至于为什么会有一排的 Chrome 进程,是因为 Chrome 的标签管理机制。简单来说,Chrome 支持多标签(Tab),每个标签都是一个单独的进程,另外再加上一些管理进程和后台下载进程,总数就看上去很多了。这样做的好处是,一个标签崩溃了之后,其它的标签和 Chrome 本身不受影响,使 Chrome 运行得更稳定。当然坏处是开了很多进程,很占系统资源。如果想使 Chrome 运行得快一点,可以关闭几个标签,特别是那些界面很复杂,有动画或者影片的标签。

扩展阅读:64位和32位有什么区别?

Windows还是Linux

先交待一下背景,大学期间,除了课程需要和比赛之外,我基本没有用过Linux。对Linux可以算是一点都不了解。狗屎运的是,毕业后第一家公司对Linux也没什么好感,第二家公司是做广告的,对Linux知识要求也不高。于是就这么稀里糊涂地混了好几年。所以以下言论你可以认为是一面之辞。

言归正传,在大学里需要学习Linux吗?或者再深入一点,需要用Linux来替代Windows吗?

简单来说,完全没必要。除非你打定了主意以后开发Linux软件,或者从事Linux相关行业(我也不知道有没有这类的行业),那可以从大学的时候就开始准备起来。如果你还不确认以后会做什么,或者根本不知道Linux和Windows有什么差异,那基本可以不用专注于Linux,因为两者没什么本质差别,而日常使用显然是Windows有优势,比如国内的网银客户端。

那么为什么似乎身边的同学都对Linux情有独钟呢?我刚进大学的时候,有个同学一脸羡慕地跟我说,"某同学可以自行编译并安装SuSE"。好吧,当年我连SuSE是什么都不知道,装个Windows也需要光盘而不是用硬盘启动那么高深的技能,就更别说“能编译一个OS”那么牛逼的举动了,要知道有一票人连"Hello World"也编译不过……不过回过头来仔细想一下,会装个系统有什么了不起,安装程序是别人写好的,那同学只是按着说明书操作一下罢了。真正牛逼的不是跟着说明书走一遍,而是发现说明书中不合理的地方,然后尝试去改进它。多数人只是止步于如何使用,而不进一步研究一下内部的状况,从何想想如何改进。

回到Windows和Linux的问题上,从操作系统的角度来说,这两者没有本质的差别。操作系统发展了这么多年,该有的大家都有,就大学期间需要掌握的程度,学Windows和学Linux的效果是一样的。只是Windows对于日常使用更方便,所以没有必要在艰难困苦中自欺欺人,大学生活有很多更有意义的事情等着你。

KB2839229可能导致开机时蓝屏的问题

今天微软发布了MS13-048补丁,KB 2839229,然后导致了国内一堆的Windows用户开机时发生蓝屏现象。

先来看看这个补丁修复了什么问题,根据官方文档

This security update resolves one privately reported vulnerability in Windows. The vulnerability could allow information disclosure if an attacker logs on to a system and runs a specially crafted application or convinces a local, logged-in user to run a specially crafted application. An attacker must have valid logon credentials and be able to log on locally to exploit this vulnerability. Note that this vulnerability would not allow an attacker to execute code or to elevate their user rights directly, but it could be used to produce information that could be used to try to further compromise an affected system.

简单翻译一下,这个补丁修复了一个可能导致用户信息泄露的问题。某些特别设计的软件,在用户登录并取得用户权限之后,可以窃取一些重要的用户数据。这个漏洞不能被用来执行恶意代码,但被窃取的信息可能被用来做进一步的攻击。

至于具体是什么信息,只能大致猜测一下,可能是某种密钥或者令牌(Token)一类的信息,这种信息可以被用来远程登录或者解密某种系统数据。

有趣的是,出现蓝屏现象的用户仅出现在某些地区,国外的论坛上完全没有人报告这一问题。翻看了一下国内论坛的贴子,发现多数出现问题的用户都使用了金山毒霸或者360之类的安全软件。(当然在这里只能是猜测而已。)由此可见这类安全软件自身也没做什么好事,可能某个软件在启动的时候尝试利用这个漏洞来做一些事情,现在打了补丁,做不了坏事了,就产生了蓝屏。

为了避免这个蓝屏的发生,请先卸载机器中的安全软件,再安装这个补丁(KB 2839229)。

另外,在Windows平台中,特别是Windows 7和Windows 8,推荐使用UAC来避免恶意软件的攻击。合理使用UAC可以阻止90%以上的恶意软件,如果非要使用杀毒软件的话,推荐卡巴斯基,国内的杀毒软件一定程度上都是恶意软件……

再另外,这个补丁只针对32位系统,64位系统不受影响。

Surface RT和Surface Pro的区别

最近微软发布了新的Windows平板,称为Surface,有两个型号,Surface RT和Surface Pro。

两个型号长相差不多,都是10.6寸的屏幕,运行的都是Windows 8,远看还真区分不出来。不过它们内在的差别还是挺大的。

Surface RT使用ARM芯片作为CPU,也就是和iPad、iPhone一样类型的芯片;而Surface Pro使用的是传统的Intel的x86-x64芯片。CPU的差别,导致了Windows中可运行软件的巨大差异。简单来说,Surface Pro上可以运行以前版本Windows的软件,比如Windows 7上可以用的软件,在Surface Pro也照样运行,不会有任何问题,这也是长期以来,Windows的一大特色。而Surface RT就做不到这一点。由于硬件(和微软)的限制,Surface RT中,除了自带的Office 2013,其它新的软件都必须从应用程序商店(App Store)下载,而这些软件都是重新为了Surface RT而设计的。于是,在一段时间内,Surface RT可用的软件数量并不多。

如果比较一下应用程序的数量,iPad上有10万以上的应用程序,Surface RT可能只有几千个,而Surface Pro由于可以运行现存的Windows程序,数量不会比iPad的少。于是Surface RT就直接悲剧了。单看这一点,在选购Surface的时候,如果不差钱(大概100美元的样子),推荐选择Surface Pro。

当然Surface RT也有它的优势,比起Pro,Surface RT更轻、待机时间更长、受病毒攻击的机率更小、价格更便宜,等等。如果不需要在Surface上运行那些古老的难以使用的应用程序,Surface RT将更适合你。

在命令行中如何访问Program Files文件夹

通常来说Program Files文件夹位于C盘,也就是C:\Program File。为了保证兼容性,在命令行中通常使用环境变量%ProgramFiles%来表示Program Files的具体路径。

而在64位Windows中,由于有了Program Files和Program Files (x86)两个看上去很像的文件夹,环境变量也多了一些,如下:

  • ProgramFiles=C:\Program Files
  • ProgramFiles(x86)=C:\Program Files (x86)
  • ProgramW6432=C:\Program Files

这些环境变量可以在64位的命令行中找到,而在32位的命令行中,这些环境变量的值略有不同:

  • ProgramFiles=C:\Program Files (x86)
  • ProgramFiles(x86)=C:\Program Files (x86)
  • ProgramW6432=C:\Program Files

很明显,对于32位的命令行而行,存放64位文件的Program Files文件夹显得没什么意义,于是%ProgramFiles%的值也就改成了C:\Program Files (x86)

另外还有一些类似的情况:

64位命令行:

  • CommonProgramFiles=C:\Program Files\Common Files
  • CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
  • CommonProgramW6432=C:\Program Files\Common Files

32位命令行:

  • CommonProgramFiles=C:\Program Files (x86)\Common Files
  • CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
  • CommonProgramW6432=C:\Program Files\Common Files