论文部分内容阅读
地球人都知道,Vista用c:\users替代XP的document and settings作为用户文件夹(见图1)。但如果打开c:\users,查看其文件结构,和XP相比并没什么很大不同。那为什么Vista要将用户文件夹改名?微软的工程师们吃饱了撑的?答案就在下文。
NO.1 为什么要改名?
仅仅从字面上就可以感受到c:\users名称的简洁,它和document and settings相比,最重要的变化是文件夹名称里没有了空格。用户文件夹是日常操作中访问最频繁的文件夹之一,这不仅方便访问,而且由于名称中没有空格,可更方便地通过命令行执行其中的程序。在XP中就必须使用半角双引号将document and settings隔开,否则引用命令就会出错。当然了,更重要的是Vista中引入了“虚拟重定向”功能,可以把所有Vista认为对系统有害的操作“重定向”到用户文件夹,从而更有效保护系统和隐私数据。
小知识:什么是虚拟重定向?
为了保护系统的安全,Vista禁止一般程序对关键系统目录(如Windows、System32等)写入文件。但很多老程序没有这样的机制,Vista就会将写入文件写入到Users\UserName\AppData\Local\VirualStore\目录下。
NO.2 两个文件夹还有什么不同?
除了父目录名称不同,在Vista中用户文件夹采用了更为简洁和直观的目录结构,很多原来在XP下多层目录文件,按照文件类型被重新整合到了一个目录。而且由于虚拟重定向的作用,Vista在用户文件夹新建Users\UserName\AppData\Local\VirualStore\目录,在这个文件夹中保存了类似Program Files、Windows这样的目录,用来作为重定向的载体,也方便查找被重定向了的文件。这样保存了数据后,如果你无法在程序当前目录下找到文件,那就是被重定向到了这个位置。两个文件夹其他文件(夹)具体区分可以查看表1的对比(…表示用户目录)。
表1 Vista和XP用户文件夹对比表
No.3 如何重定向到用户文件夹?
虚拟重定向实质上也就是由于用户对一些重要系统文件夹读取权限不足,从而衍生出来的一个变通手段。因为Vista和XP最主要的不同就是,在Vista中特别强化了“权限”的作用,它要求必须使用NTFS格式来安装系统。这样Vista就可以在系统分区“随心所欲”使用权限的限制来保护系统。在默认情况下,即使以系统管理员登录系统,当前用户对Windows、Program Files等重要目录也没有完全的读写权限。下面以QQ为例(具体图解见图2)。
对于QQ2008以前的版本,默认情况下用户的聊天记录是保存在“c:\Program Files\tencent\用户QQ账号”下。由于c:\Program Files目录受系统保护,当前用户不能写入聊天数据。因此,在QQ保存聊天记录的时候,聊天记录文件就被虚拟重定向到了有写入权限的用户文件夹“C:\Users\[用户名]\AppData\Local\VirtualStore\Program Files\Tencent\QQ\QQ号”下。这也是为什么QQ老版本和Vista不兼容的原因。
网络大补贴:
下面文章详细阐述虚拟重定向对QQ的影响:疑案,QQ导致Vista死机原因的初步分析,http://tech.163.com/06/0904/08/2Q5PN65N000915AS.html。
NO.1 为什么要改名?
仅仅从字面上就可以感受到c:\users名称的简洁,它和document and settings相比,最重要的变化是文件夹名称里没有了空格。用户文件夹是日常操作中访问最频繁的文件夹之一,这不仅方便访问,而且由于名称中没有空格,可更方便地通过命令行执行其中的程序。在XP中就必须使用半角双引号将document and settings隔开,否则引用命令就会出错。当然了,更重要的是Vista中引入了“虚拟重定向”功能,可以把所有Vista认为对系统有害的操作“重定向”到用户文件夹,从而更有效保护系统和隐私数据。
小知识:什么是虚拟重定向?
为了保护系统的安全,Vista禁止一般程序对关键系统目录(如Windows、System32等)写入文件。但很多老程序没有这样的机制,Vista就会将写入文件写入到Users\UserName\AppData\Local\VirualStore\目录下。
NO.2 两个文件夹还有什么不同?
除了父目录名称不同,在Vista中用户文件夹采用了更为简洁和直观的目录结构,很多原来在XP下多层目录文件,按照文件类型被重新整合到了一个目录。而且由于虚拟重定向的作用,Vista在用户文件夹新建Users\UserName\AppData\Local\VirualStore\目录,在这个文件夹中保存了类似Program Files、Windows这样的目录,用来作为重定向的载体,也方便查找被重定向了的文件。这样保存了数据后,如果你无法在程序当前目录下找到文件,那就是被重定向到了这个位置。两个文件夹其他文件(夹)具体区分可以查看表1的对比(…表示用户目录)。
表1 Vista和XP用户文件夹对比表
No.3 如何重定向到用户文件夹?
虚拟重定向实质上也就是由于用户对一些重要系统文件夹读取权限不足,从而衍生出来的一个变通手段。因为Vista和XP最主要的不同就是,在Vista中特别强化了“权限”的作用,它要求必须使用NTFS格式来安装系统。这样Vista就可以在系统分区“随心所欲”使用权限的限制来保护系统。在默认情况下,即使以系统管理员登录系统,当前用户对Windows、Program Files等重要目录也没有完全的读写权限。下面以QQ为例(具体图解见图2)。
对于QQ2008以前的版本,默认情况下用户的聊天记录是保存在“c:\Program Files\tencent\用户QQ账号”下。由于c:\Program Files目录受系统保护,当前用户不能写入聊天数据。因此,在QQ保存聊天记录的时候,聊天记录文件就被虚拟重定向到了有写入权限的用户文件夹“C:\Users\[用户名]\AppData\Local\VirtualStore\Program Files\Tencent\QQ\QQ号”下。这也是为什么QQ老版本和Vista不兼容的原因。
网络大补贴:
下面文章详细阐述虚拟重定向对QQ的影响:疑案,QQ导致Vista死机原因的初步分析,http://tech.163.com/06/0904/08/2Q5PN65N000915AS.html。