从这篇开始,我们要介绍一些Windows系统常识,做为一个资工先了解Windows的系统结构,懂得问题可以出现在什麽地方,来当做我们之後来Debug的知识,今天预计要来看研究一些基本系统资料夹的意义。
首先,让我们由浅入深,从C槽讲几个大家都认识的资料夹出来(划掉的是我自己建立的资料夹,因为我目前只有一个槽,所以自己的东西都摆在这里)。
不过还有一些项目可能被隐藏,这时候在档案总管案检视把隐藏的项目勾起来,再到选项的检视把隐藏作业系统档的选项取消勾选,使用完平常记得把开关关回去才不会误触系统档。
这时候会看到更多档案和资料夹,像是储存系统还原点的System Volume Information,纪录intel晶片组驱动安装的intel,应用程序不用提权就可以存放程序资料的ProgramData等等,或是虚拟记忆体的分页档pagefile.sys,睡眠储存系统使用状态的hiberfil.sys之类的。
总之各种档案诸罗万象的,细分下去还得了,如果遇到不认识的档案google一下就有了,虽然大部分你找到的标题都是Can I delete XXX flie……如果你想要系统稳定的话,清理这回事还是交给专业的软件去执行吧,笔者的目的是要来探讨一些最近发现的重要的资料夹意义,跟我们前面的登录档和软件安装相关,所以可能有点零碎~就当作随手笔记轻松看吧。
写下几个常用的系统位置变数,通常%%之间的大小写无差别
C:\
(当前启动的系统的的磁碟区)C:\ Windows
(当前启动的系统根目录)C:\Program Files(
程序安装目录)因为现在的电脑大部分都是64位元的,但还是很多程序是32位元的版本,Program Files也因此出现x86版本,但还是有些动态连结库跟文件会存在Windows资料夹内,仔细观察会出现一件怪事,System32有大量的64位元文件,SysWOW64有大量的32位元程序,笔者一开始在找登录档文件还一度怀疑自己找错位置,其实他们关系非浅。
这要回到一开始,在Windows系统跟intel处理器都是32位元的结构的时候,System32资料夹包括Windows系统文件,系统的内建的程序,还有各种程序会用到的.dll档等等,甚至有软件会把自己的.dll写到这里,程序从Program Files开始启动,有时候会到System32加载.dll档。
直到现在这个64位元的时代,系统大部分是64位元的,软件也提供32和64位元两种版本,通常32位元的程序可以向上兼容在64位元的系统上运行,但他们用的.dll档一定也要是32位元的,遇到64位元则会崩溃,所以Program Files要分成两种,System32也要拆两个,因为很多软件在读取路径都会直接读System32,所以後来Windows就沿用这个名字,把目前主流的64位元需要的档案放在这,以前32位元需要的档案放到SysWOW64资料夹,这些程序的登录档常常会写在HKLM\SOFTWARE\Wow6432Node
,WOW64是代表Windows 32-bit on Windows 64-bit,而Windows系统中也有File System Redirector
会去帮我们规划好这两个资料夹的内容避免安装路径搞错。
总而言之,如果我们要查看目前的系统文件,多半是去System32看而不是去名称带有64的SysWOW64。
这个资料夹是隐藏的,他主要有三个子资料夹:
%localappdata%
,包含安装的相关的文件,里面的资料无法跟使用者配置文件一起移动,也无法跟服务器同步,他也会包括一些下载的暂存文件跟使用者对软件的设定档,里面有个Temp资料夹会放些暂存资料,如果要删除,通常建议要超过24-48小时风险才比较低。%appdata%
,他包括一些软件的使用者自定义的配置设定,具有在同个网域中可以互相共用的特性。笔者会介绍这个资料夹是有原因的,好比有次我用Unity Hub想装某个版本的Unity到D槽,那一次安装动辄十几G,结果似乎是网路问题安装失败,本来快满出来的C槽就更满了,解决办法就是我们要到AppData\Local\Temp抓出刚刚下载不完整的Unity安装档移除掉才可以重新安装,否则就要等24小时让系统自己把他删除,这是一个手动排除错误的例子,如果我们很清楚他的由来就可以这麽做。
或者有时候装过一个应用程序又把他解除安装了,再装一次会发现上次的设定还在,原因就是解除安装的时候没有把配置文件拿掉,这样有好有坏,虽然这些文件大小不大,不太会暂用磁碟空间,但我们有时候再次安装是为了回到最初始的状态,这些设定反而延用错误的设置,或是一些portable版的程序也会在这里产生设定档,手动移除可能可以回到初始状态重新正常安装。
今天讲的是一些Windows系统夹的意义,对这些有一定的了解可以方便我们找到需要的资料,甚至手动排除一些安装错误跟回复初始设定,下篇我们要讲的是Windows的帐户权限,除了一般使用者还有其他高级帐号,无时无刻在系统中处理不同等级的事务。
参考资料:
https://www.gushiciku.cn/dl/1psc1/zh-tw
https://kist28366.pixnet.net/blog/post/375007390
https://www.itread01.com/content/1546488032.html
https://www.howtogeek.com/326509/whats-the-difference-between-the-system32-and-syswow64-folders-in-windows/
https://www.howtogeek.com/318177/what-is-the-appdata-folder-in-windows/
https://www.thewindowsclub.com/local-localnow-roaming-folders-windows-10
https://superuser.com/questions/21458/why-are-there-directories-called-local-locallow-and-roaming-under-users-user
<<: [DAY17]认识Helm - The package manager for Kubernetes
CSS 最重要的一环就是选取器,新手一定要了解熟悉 CSS 选取器 才能事办功倍,开发速度也会提升许...
一开始我们还是利用storyboard写呦! 之後才会变成xib得方式! 这个小作品我用的是stor...
DAY29 MongoDB 使用 C# Driver 操作 不知道有没有人记得 DAY1 文章说本篇...
手势识别GestureDectector (一)介绍 支援一些较复杂的互动,例如缩放、双击、垂直、水...
Python 中的字串和串列有很多相似的性质,可以想成字串是元只能是字元的串列 所以可以用索引和 S...