记得几个星期前,有网友在“知乎”上问了个问题:如何优雅地使用Windows系统?结果被轰:去用Mac。但实际上,我认为“优雅”的使用Windows确实是有可能的,但是你必须严格控制这台机器的用途——比如,只限于开发,并且小心地挑选你的软件才行。
优雅的安装介质
什么才是真正“优雅”的安装介质?比尔盖子认为,正版光盘才是最优雅的。
但是,介于目前我国的经济状况,确实很难做到。那么,请你使用MSDN上提供的微软原版安装光盘,零售或VOL的都行,但如果你想通过正版验证,那么建议你使用零售版,然后在淘宝上购买一个¥10 的密钥激活;或者,你也可以采用微软提供给OEM的版本,这样的版本可以通过SLIC 2.0激活并通过正版验证。另外,最好找SP3的原版盘,省得兴师动众安装Service Pack,留下不少垃圾。
但是要注意的是,以上这些原版光盘,都是没有SATA硬盘的AHCI驱动的,我们需要修改光盘,手动整合。整合的方法,在这里,你可以只整合自己的驱动,不用全部整合;但这可能造成字体丢失,还需要使用这里的方法解决。若不想整合,你只好去找一个整合驱动版本的XP安装盘了——不能保证纯净度。
要点:
- 安装介质:正版光盘、Windows XP MSDN(零售)、Windows XP OEM、Windows XP MSDN VOL(不可通过正版验证),均以原生SP3为佳。
- 序列号:正版序列号、淘宝购买的零售版序列号、网络上流传的VOL序列号(不可通过正版验证)
- SATA驱动:自己整合或使用整合版本。
优雅的机器
这里并不是让诸位在Macintosh上安装Windows XP系统,而是让大家将机器的硬件设置、BIOS设置调整的优雅一些。比如,将硬盘访问模式从IDE模拟模式调整为AHCI模式,如果BIOS里面有ACPI之类的高级功能也尽量开启。什么?你说这样就蓝屏、无法安装系统了?请整合驱动。
另外,如果你像比尔盖子一样,在虚拟机上安装操作系统,那么建议使用Virtualbox。这个自由软件模拟的都是比较规范Intel芯片组,对于Windows XP能少安装琐碎的驱动。我尝试在Vmware Player上安装系统,结果却找不到硬盘,看了看,模拟的是SCSI芯片组,不知该用什么驱动,如果你有能耐也可以在上面安装系统。另外,在虚拟机上安装时,也要使用SATA、SCSI模拟硬件,IDE已经没人愿意要了。
我在这里反复强调SATA硬盘AHCI驱动的问题,是因为如果你使用IDE模式安装系统,再切换到AHCI模式,会导致系统无法启动。有一些Hack的方法可以避免,但这就不优雅了,也有很小的失败率,死活不能成功的现象。
优雅的安装过程
安装原版系统,就没有什么好说的了。规规矩矩的按照向导给硬盘分区,格式化,一定要选NTFS文件系统,否则读写性能会很低。
这两步安装没有什么特别的。Windows 2000 到 Windows XP 基本上都是这样安装的,不过,这可以说明你的SATA驱动整合成功了,并且兼容性没有问题。
之后,安装程序还会弹出关于语言和键盘布局的配置选项。我们点击“配置”,就会跳出图3这样的窗口。这里,比尔盖子将除了“美式键盘”以外的输入法都去掉了。因为,这些输入法实在是太难用了,我稍后会安装其它输入法。下一步,会出现如图4的窗口。我们想要优雅的安装系统,当然需要将单位信息填写的“看起来”正规一些。
图5的密钥,根据系统版本的不同而不同,比尔盖子就不提供各个版本的密钥了,请使用你自己购买的,或在网络上查找合适的密钥。
图6可就要注意了,你需要设置Administrator管理员账户的密码。Linux下的root账户,戒备森严,很少使用,只有管理系统的时候才偶尔用一下,但root的密码千万不能忘记。但是,不同于Linux只有一个root,Windows的管理员账户可以设置很多个,不仅仅是一个Administrator。因此,你完全不必登录Administrator账户,而是用自己的账户来管理系统。
有人会说:这台电脑只有我一个人用,难道我不能以Administrator登录并使用吗?当然可以,而且大部分盗版系统也是这样做的。但是这样做会导致一些安全问题,Administrator原则上绝对不能日常使用,你要设置第二个管理员并用它来操作电脑。为了更好的避免用户使用Administrator,在你设置第二个系统管理员后,Administrator就隐藏了,你再也无法用它登录。
总之,给Administrator设置一个超级复杂的密码,记录到密码本上,妥善保管就对了。
如果你看到图7了,恭喜你,系统已经安装完成了。按照向导来设置吧。还记得之前我说的:你不要使用Administrator,而是另一个管理员吗?这就是图8要设置的项目了。你只要将你想要的账户名填入“您的姓名”一栏中,执行“下一步”就行了。
在一切都配置妥当后,即可进入系统了。
优雅的配置系统
Internet Explorer 浏览器的图标
现在终于进入系统了,正如图9。但是,现在桌面上没有任何图标,还可能会缺失一些关键的驱动,我们还需要进行配置。我们在桌面点击鼠标右键,点击“属性”,打开“桌面”选项卡,点击”自定义桌面“按钮,即可弹出图10中的配置程序。我们只要勾选“我的电脑”、“我的文档”、“网上邻居”,那么这三个图标就出现在桌面上了。但是,Internet Explorer去哪里了?
微软显然是和我们开了个玩笑,可能是由于法律等问题(还记得那场又IE导致的世纪审判吗?),Internet Explorer并没有出现在这里,但实际上,它还是存在的。我们在勾选完三个复选框后,点击键盘上的”i”键——什么也没有发生。但我们点击”确定“之后,Internet Explorer就神奇的出现了。
Dvorak 键盘布局
替换法
比尔盖子使用的是 Dvorak 键盘布局,这种布局,在Linux和Mac上都能得到完美的支持,但是在Windows上,顶多增加一个Dvorak的布局,中文输入法等其它获取键盘输入的程序依然使用的是Qwerty的布局,无法修改。这种问题,可以通过修改注册表来解决。但是,不如直接替换文件来得彻底。系统通过C:\Windows\System32下的kbdus.dll来将键盘输入解析成Qwerty布局;用kbddv.dll解析Dvorak布局。因此,只要将kbddv.dll移花接木成kbdus.dll便可。
我们以此输入以下命令:
C:
cd C:\Windows\System32
move kbdus.dll kbdus.dll.bak
copy /Y kbddv.dll kbdus.dll
你将会看到类似图11的效果。然后重新启动系统,以便生效。
键盘映射法
但是,对于搜狗拼音输入法,这样修改以后,会和其中的标点符号检测冲突,无法正常打字。我们还可以修改系统的键映射来达到目的,系统依然认为自己是Qwerty,但实际是Dvorak,因此,这个方法不能和“替换法”一起使用,不然会错乱。
将以下文件导入注册表即可修改键映射:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"ScanCode Map"=hex:00,00,00,00,00,00,00,00,22,00,00,00,2d,00,30,00,24,00,2e,00,\
11,00,33,00,33,00,11,00,12,00,20,00,34,00,12,00,1b,00,0d,00,0d,00,1b,00,16,\
00,21,00,17,00,22,00,20,00,23,00,1a,00,0c,00,2e,00,17,00,23,00,24,00,14,00,\
25,00,31,00,26,00,35,00,1a,00,30,00,31,00,13,00,18,00,26,00,19,00,2f,00,34,\
00,28,00,10,00,0c,00,28,00,19,00,13,00,18,00,1f,00,1f,00,27,00,2c,00,35,00,\
15,00,14,00,22,00,16,00,25,00,2f,00,10,00,2d,00,21,00,15,00,27,00,2c,00,00,\
00,00,00
升级Internet Expolrer
要知道,Internet Explorer 6 在国内可是人人喊打,也打不死的小强。过时的浏览器,不但影响上网体验,而且阻碍互联网新技术的应用,造成重复劳动,因此,我们需要升级浏览器。Windows XP用的Internet Explorer 8 可以从这里下载:http://download.microsoft.com/download/1/6/1/16174D37-73C1-4F76-A305-902E9D32BAC9/IE8-WindowsXP-x86-CHS.exe。
安装驱动程序
手工去搜索驱动程序是非常低效的,我们这时可以安装我们的第一个软件:驱动精灵。
如果你是虚拟机,这时侯也应该安装相关程序了。拿Virtualbox来说,我们需要点击虚拟机菜单中的“安装增强功能”来安装Virtualbox Guest Additions。如果你需要Direct3D的显卡硬件加速驱动,你还需要在安全模式下安装。
修复系统漏洞
我们自始至终都在提倡“优雅”,如果你能通过正版验证,修复系统漏洞最好是采用Windows Update,否则,可以使用“驱动精灵”自带的漏洞修复功能。
比尔盖子使用的是虚拟机,修复系统漏洞的必要性没有物理主机要高,因此没有修复。不过,Windows的补丁修复的不仅仅是安全漏洞,还有可能是系统的bug,因此,如果有时间,也强烈建议修复。
移除无用的系统组件
你有没有发现,系统中自带的诸如“游戏”、版本极低的Outlook Express 和 Windows Live Messager很碍眼?那就进入“控制面板”,“添加和删除程序”,“增加/删除 Windows 组件”中把它们的复选框取消,以便删掉它们。
中文输入法
这个程序的选择比较随意,选择自己喜欢的即可。但是,如果你重视个人隐私和安全,建议使用Google拼音;如果你使用搜狗拼音输入法,别忘了设置一下,不然你的开发机会不停的弹窗。
安全软件
无论如何,不要使用奇虎360开发的任何产品,也不要使用QQ电脑管家,这两家的产品均有问题。金山毒霸和金山卫士则似乎可以一用。不过,最好还是选择ESET NOD32、小红伞、Avast! 等国外产品。不建议使用卡巴斯基,这虽然是查杀能力最强的杀毒软件,也是性能最低、查杀速度最慢的杀毒软件,会让你的开发机“卡一卡就死机”的。
如果你像比尔盖子一样使用虚拟机,而且不重视虚拟机安全的话,可以不使用任何安全软件。这时,Windows 安全中心则会不厌其烦的提示:你的电脑存在风险。我们把Security Center服务的“启动类型”设置为“已禁用”就可把它关上了。
优化程序
基本上,各种的“优化助手”、“优化大师”只能使系统变得比较糟。如果没有切实的性能问题,那么比尔盖子不建议使用任何优化软件进行“优化”。不过,清理系统垃圾倒是可以。比尔盖子推荐使用CCleaner进行系统清理。它的垃圾文件和注册表清理都是比较可靠的。
优雅地搭建开发环境
什么是“优雅”的开发环境呢?这里就以C语言开发环境来讲,Visual C 6.0 显然不是一个好的环境,我们需要重现Linux下优雅的开发环境。
MinGW
安装
如果你习惯了Linux Shell和GCC,那么你会觉得Windows上微软的那些编译器的功能非常差,有大量C99的特性不被支持;命令提示符居然没有grep!但是Cygwin用起来又太别扭了,很臃肿。那么,MinGW是你的救世主。我们只需下载一个mingw-get-inst-2012xxxx.exe的安装辅助程序,即可在它的指引下,下载并搭建一套最小的GNU软件开发平台。
在安装时,如果你只需要C的编译器,那么勾选C Compiler即可,你也可以勾选其它编译器;如果你需要一台基本的Linux命令,那么勾选MSYS Basic System即可;如果对MinGW的开发有兴趣,勾选MinGW Developer Toolkit。
安装完后,在“开始菜单”,“所有程序”中会多出一项MinGW,里面有个MinGW Shell,打开以后,你就进入了一个模拟Linux的Shell,可以当作bash环境使用。可以把MinGW Shell放在桌面上。
环境变量
但是,在cmd的标准环境下,MinGW特有的命令将无法正常工作,因此,我们需要将它们加入PATH路径中。右键点击“我的电脑”,“属性”,打开“高级”选项卡,点击“环境变量”按钮。修改系统变量PATH,加入MinGW工具的两个路径:C:\MinGW\bin 和 C:\MinGW\msys\1.0\bin,每个路径要用英文分号分隔开,比如,原来的变量值是:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem,现在就是:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\MinGW\bin;C:\MinGW\msys\1.0\bin。
但是这样的做法会有点问题,当Unix命令和Windows命令同时存在,比如命令find,那么Windows命令会覆盖Unix命令。如果你把MinGW的路径写到PATH最前面,那么Unix命令又会覆盖Windows命令。比尔盖子的建议是:MinGW的路径写在后面,平时用MinGW Shell工作,这样两者才互不干扰嘛。
中文支持
无论是MinGW,还是Cygwin,对Unicode的支持都是问题,因为Windows对Unicode的支持就不是很好。这导致了MinGW终端下不能输入也不能显示中文。因此,我们需要Hack一下MinGW的配置文件。
我们就用Vim编辑器吧。打开命令提示符(不是MinGW Shell),用Vim打开C:\MinGW\msys\1.0\etc\inputrc.default (vim C:\MinGW\msys\1.0\etc\inputrc.default,就和Linux用法一样),将里面关于“disable/enable 8bit input”的一段配置改成以下,同样,将C:\MinGW\msys\1.0\home\你的用户名\.inputrc也这样改:
# disable/enable 8bit input
set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
然后,再用Vim修改C:\MinGW\msys\1.0\etc\profile,最底部进入:
# Show control chars to display CJK.
alias ls="/bin/ls --color=tty --show-control-chars"
唯一的问题是,每个中文字符比英文字符多占一倍的字节,因此,退格时一个汉字要退两次格,没有什么好的解决方案。
更换终端
cmd.exe 这个终端窗口的功能太弱了,我们可以换成和Cygwin一样的MinTTY终端。先安装:
mingw-get install mintty
然后右键点击MinGW Shell的快捷方式,打开“快捷方式”选项卡,将“目标”从C:\MinGW\msys\1.0\msys.bat 改成C:\MinGW\msys\1.0\msys.bat -mintty即可。这个终端也是可定制的,右键点击标题栏,可以看到Options(选项),进去以后自己看着调吧。
Git
git版本控制是很重要的开发工具,自然不能少。去http://git-scm.com/downloads下载,并加入到PATH变量,现在的PATH变量应该是:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\MinGW\bin;C:\MinGW\msys\1.0\bin;C:\Program Files\Git\bin。我们可以无视Git Bash,使用MinGW Shell或cmd.exe进行工作。
GNUWin32
GNUWin32移植了部分GNU经典的工具,可以在http://gnuwin32.sourceforge.net/packages.html获得。那么如何将它们(包括其它任何Linux工具的移植)安装到MinGW呢?
- 进入软件目录:
- 复制 bin\* 到 C:\MinGW\bin
- 复制 lib\* 到 C:\MinGW\lib(如果有)
- 复制 include\* 到 C:\MinGW\include(如果有)
Vim
比尔盖子在Linux下就是Vim重度使用者,到了Windows下怎么办?继续用。MinGW提供了一个终端版本的Vim,但是这没有GUI的Vim太难用了。而Vim官方编译的gVim For Windows 版本又很老……但是,Cream团队不但编写Vim的配置文件,而且还帮大家编译最新的Vim(不带Cream,原版的)!去http://sourceforge.net/projects/cream/files/Vim/下载。安装的时候建议选择Full Install,这样gVim将会和系统更好的集成。
然后,我们对Vim进行一下简单的配置:
func! CompileAndRun()
exec "w"
if &filetype == 'c'
exec "silent ! gcc % -o %< -O2 -std=c99"
exec "! %<"
exec "silent ! del /Q %<.exe"
elseif &filetype == 'cpp'
exec "silent ! g++ % -o %<"
exec "! %<"
exec "silent ! del /Q %<.exe"
endif
endfunc
map <F5> :call CompileAndRun()<CR>
这样,就可实现用F5一键编译并运行程序,这只是个最简单的例子,大家可以尽情发挥。
2014年09月28日 — 23:34
表示一直是使用MSYS2構建C環境的,pacman(ILoveCandy 😉 )不能再爽 🙂
安裝XP後的一些小調整,如:
完全關閉AutoRun:
http://newsletter.ascc.sinica.edu.tw/news/read_news.php?nid=1386
關閉DEP:
https://support2.microsoft.com/kb/875352
(virtualbox為例)为XP安装AHCI驅動程式:
https://forums.virtualbox.org/viewtopic.php?t=42829
https://bbs.archlinux.org/viewtopic.php?id=77385
刪除某个惱人的資料夾:
http://jingyan.baidu.com/article/22a299b507e0ef9e18376a4f.html
(依個人偏好)默認關機時強制終結程式:
http://technet.microsoft.com/en-us/library/cc978604.aspx
某個一定要禁用的東西:
http://www.askvg.com/how-to-enable-disable-always-use-the-selected-program-to-open-this-kind-of-file-option-in-open-with-dialog-box/
http://technet.microsoft.com/en-us/library/cc781539%28v=ws.10%29.aspx
(對於虛擬機可用)禁用CHKDSK:
https://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/how-to-disable-the-chkdsk-check-disk-on-start-up/35f58c69-7a6c-4e1b-aec3-26d7131ec643
以及禁用某些乃永遠不會用到的服務(如Server);
2014年09月30日 — 17:50
很好!
2013年12月15日 — 14:28
有个错误:http://ww1.sinaimg.cn/large/d40c754fjw1ebkde27q57j20jk04t0tn.jpg
2013年12月27日 — 14:24
谢谢。看得真仔细啊~
2013年08月05日 — 15:04
哪个想用你的电脑,会先被你的键盘搞疯掉的,呵呵。
2013年07月05日 — 20:32
感觉光装IE8没用吧……还是要装个Chrome或者Firefox……
2012年10月13日 — 22:30
不错,收藏了!