Windows 7 NTFS硬链接技术和系统字体替换
近几日在美化系统,实在觉得win7的宋体实在是太难看,而我又为了美化系统字体用上了GDI++(有新版了,2010.0126)渲染,因为俺也一直觊觎MAC系统下的字体哈。
现在将字体替换过程中遇到的种种问题以及相关知识进行引用如下转帖进行总结:
首先说明一点,硬链接是NTFS文件系统的特性,并不是Win7才有的新特性
其次,它是从系统底层支持的文件连接.至于字体替换,其实根本不需要mklink,而为什么有些少数人直接替换成功了,那只是因为操作环境不同造成的巧合。
有兴趣的同学可以做这个测试:
1.全新安装一个Windows7.
2.以管理员身份启动CMD,结束掉任何有前台界面的进程(包括资源管理器、任务管理器)
3.CMD切换到Fonts目录,执行takeown和icalcs命令取得控制权,ren命令将simsun.ttc重命名为 simsun.ttc.bak(此处,虽然是硬链接的文件,但是由于是系统底层实现的,所以在上层看来其实就是真实 的文件,这点楼主有误解,不会存在“硬连接文件”和“字体文件”不同无法识别的问题)。
4.复制你新的字体文件到Fonts目录。注意:WinSXS中有的Simsun.ttc副本可以不管。 如果你不开心直接干掉也可以,不过此时无法删除,因为已经被系统加载了。可以在以后删除。
5.关键一步:删除系统字体缓存文件
6.重启,你会发现替换成功完成,并没有发生什么字体丢失问题。大部分人失败是由于没有上面的第五步,而并不是没有删除WinSXS或没有用mklink的后果。
有兴趣的同学可以自行测试一下。