偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Windows 7目錄到底占用了多少真實(shí)硬盤空間

系統(tǒng)
看到這個(gè)問題,我想99%的人都會(huì)說:用資源管理器右鍵點(diǎn)擊Windows目錄,看看屬性不就知道了嗎?何必故弄玄虛呢!
看到這個(gè)問題,我想99%的人都會(huì)說:用資源管理器右鍵點(diǎn)擊Windows目錄,看看屬性不就知道了嗎?何必故弄玄虛呢!

 

但是,我會(huì)有那么傻的把一個(gè)大家都知道的問題重新翻出來嗎?既然提出這個(gè)話題,就有我的道理!請各位耐住性子往下看,看看Microsoft又玩了什么樣的花活,呵呵。

 

我們知道,查看一個(gè)目錄有多大的最快捷的方法就是看看資源管理器文件夾的屬性,但是我今天要說的是:如果你用這個(gè)方法去看Windows Vista/Windows 7系統(tǒng)的目錄,你會(huì)被你的眼睛所欺騙,因?yàn)?,Microsoft在 Windows Vista/Windows 7里面大量使用了NTFS文件系統(tǒng)的特性之一的:硬連接(Hard Link)來實(shí)現(xiàn)WinSxS機(jī)制!

 

我們知道,要安裝Windows Vista/Windows 7系統(tǒng),那么系統(tǒng)分區(qū)必須是NTFS文件系統(tǒng)。原因有以下一些:

◦系統(tǒng)文件保護(hù)所需
◦各種安全保護(hù)機(jī)制,如MIC所需
◦WinSxS 所需
◦……

 

關(guān)于最后一點(diǎn)的 WinSxS 所需,我沒有看到過相關(guān)的資料說明,不過可以肯定的是,這也是Windows Vista / Windows 7 系統(tǒng)需要NTFS文件系統(tǒng)的一個(gè)條件,因?yàn)橹挥性?NTFS 文件系統(tǒng)上面,才能實(shí)現(xiàn)硬連接機(jī)制,也才能達(dá)到優(yōu)化Windows目錄占用磁盤空間的目的。

 

關(guān)于硬連接,MSDN是這樣解釋的:

A hard link is the file system representation of a file by which more
 than one path references a single file in the same volume. 
To create a hard link, use the CreateHardLink function. 
Any changes to that file are instantly visible to applications that access it
 through the hard links that reference it. However, the directory entry size
 and attribute information is updated only for the link through which the
 change was made.

 

簡單的說,就是一種針對文件的特殊快捷方式,只不過這種快捷方式的實(shí)現(xiàn)和一般的快捷方式不一樣。

 

•一般的快捷方式是創(chuàng)建一個(gè)LNK文件,在這個(gè)LNK文件里面描述了目標(biāo)文件/目錄的屬性,資源管理器或者其他文件管理工具利用SHELL32.DLL里面的API函數(shù)獲得這個(gè)LNK文件所指向的文件/目錄,從而進(jìn)行訪問。

 

•硬連接:是一種基于文件系統(tǒng)級別上的針對文件的快捷方式,基于文件系統(tǒng)級別的含義就是說,只要文件系統(tǒng)啟動(dòng)了,那么對應(yīng)的快捷方式也就生效了。換句話說,這種連接是常存的,因?yàn)槲募到y(tǒng)是必須要隨機(jī)啟動(dòng)的。

 

硬連接是NTFS文件系統(tǒng)特有的屬性之一,在Linux下面,也有類似的機(jī)制。硬連接適用于在同一個(gè)卷的文件級別,硬連接是不能跨卷的。

Windows Vista / Windows 7 自帶了創(chuàng)建硬連接的命令:mklink.exe,利用這個(gè)命令,我們可以給指定的文件創(chuàng)建硬連接:

 

下面的命令將在link.txt和source.txt之間建立硬連接關(guān)系

 

C:\Users\Smallfrogs\Desktop>mklink /h link.txt source.txt

為 link.txt <<===>> source.txt 創(chuàng)建了硬鏈接

 

注意上面的例子:link.txt本是一個(gè)不存在的文件,但是當(dāng)執(zhí)行完mklink命令以后,link.txt文件也就被創(chuàng)建了。其實(shí),link.txt是一個(gè)虛假的文件,它是在文件系統(tǒng)層面上對source.txt文件的一個(gè)映射,而link.txt是不占硬盤空間的。

 

關(guān)于硬盤空間的占用問題,Smallfrogs 是這樣測試的:

1、給硬盤劃分一個(gè)新分區(qū),空間只有2GB

2、在這個(gè)分區(qū)的test目錄里面新建了一個(gè)1.9GB大小的文件,此時(shí)剩余空間是0.1GB

3、用mklink命令給這個(gè)1.9GB大小的文件建立了一個(gè)硬連接

4、檢查這個(gè)分區(qū)的剩余空間,還是0.1GB,但是如果用資源管理器看test目錄的屬性,會(huì)發(fā)現(xiàn)有2個(gè)文件,總大小是3.8GB(整個(gè)分區(qū)才2GB,能夠容納3.8GB大小的文件嗎?顯然不可能了)

 

還是針對上述的例子,如果我們把原始的文件 source.txt 刪除以后,link.txt文件還是會(huì)繼續(xù)存在的,且內(nèi)容就是source.txt的文件內(nèi)容。也就是說,我們刪除source.txt,實(shí)際上刪除的僅僅是這種連接關(guān)系,文件本身還是沒有被操作的。

 

關(guān)于硬連接,最后一個(gè)需要介紹的內(nèi)容是:當(dāng)硬連接建立以后,硬連接雙方任何一個(gè)對象被修改,都會(huì)造成對應(yīng)的連接對象被修改。例如上面的例子:如果修改了link.txt,那么source.txt文件也會(huì)同步被修改,反之亦然。這一點(diǎn)和SHELL層面的快捷方式不同,SHELL層面的快捷方式文件LNK僅僅是一個(gè)指示關(guān)系,修改LNK文件并不影響LNK文件指向的對象,修改LNK文件指向的對象也不會(huì)影響LNK文件。

 

好了,基本知識介紹完了,我們來實(shí)際看看Windows目錄里面對于硬連接的使用情況吧。

 

經(jīng)常看到有人抱怨,Windows\WinSxS目錄占用了太多的空間,里面經(jīng)常發(fā)現(xiàn)有同名的文件,而且這些同名的文件在 Windows\System32 目錄下面也有存在,這是為啥呢?其實(shí)這就是硬連接導(dǎo)致的。

 

Microsoft 實(shí)際上在 Windows\WinSxS 目錄和Windows目錄之間建立了硬連接的關(guān)系,舉一個(gè)最簡單的例子:

 

對于 Windows 7 RTM 來說,你可以在2個(gè)地方找到Ntoskrnl.exe文件。第一個(gè)地方是:Windows\System32\ntoskrnl.exe,另外還有一個(gè)地方是Windows\WinSxS\x86_microsoft-windows-os-kernel_31bf3856ad364e35_6.1.7600.16385_none_6c06b7c41576a7d9\ntoskrnl.exe,這就是一個(gè)典型的硬連接例子。Microsoft 在文件系統(tǒng)上面對 ntoskrnl.exe 做了一個(gè)硬連接,使得 ntoskrnl.exe 能夠出現(xiàn)在不同的目錄里面,但是只占用了一份 ntoskrnl.exe 的硬盤空間。利用這種機(jī)制,有下面的一些好處:

 

•同樣的文件,只需要維護(hù)硬連接關(guān)系,不需要進(jìn)行多重的拷貝,這樣可以節(jié)省硬盤空間

•如果涉及文件更新,只需要先在WinSxS 目錄里面下載好一個(gè)新版本,然后修改 Windows\System32 下面同名文件的硬連接關(guān)系,從舊版本的硬連接指向新版本的硬連接,這樣就能夠快速的完成文件的更新工作,而不需要進(jìn)行文件的復(fù)制,速度也會(huì)快不少

•補(bǔ)丁卸載也是一樣的,只需要把硬連接指向改為舊版本就可以了,沒有文件替換的問題。而且建立了硬連接關(guān)系的文件之間的修改是同步的,因此只要有一方被修改了,另一方也會(huì)得到修改

說了這么多,那么如何知道 Windows 目錄的真實(shí)大小呢?Smallfrogs 提供了一個(gè)工具,可以很方便的知道您系統(tǒng)里面有哪些文件是有硬連接關(guān)系的,以及Windows 目錄下真實(shí)的文件大小。

 

工具可以從 http://www.kztechs.com/hardlink/realwindirsize.zip (請使用右鍵點(diǎn)擊另存為...方式下載)或在本文附件下載到,下載解壓縮以后,直接運(yùn)行就可以開始掃描了。

 

掃描過程比較漫長,掃描完成以后,會(huì)看到下面的提示信息:

 

 

Windows目錄到底占用了多少真實(shí)硬盤空間

 

另外,在realwindirsize.exe所在目錄下,會(huì)生成一份文件名叫做LinkedFile.TXT的文件,里面記錄了Windows目錄下各個(gè)硬連接的關(guān)系。

 

如上圖所示,我們掃描到了65088個(gè)文件,其中,真實(shí)的文件有48022個(gè),其他17066個(gè)文件都是硬連接文件。真實(shí)的文件占用了14981682 KB的硬盤空間,而如果你用資源管理器看Windows目錄的話,那么會(huì)提示說Windows目錄占用了 18244902 KB的硬盤空間。實(shí)際上, Windows\system32 目錄下的大多數(shù)文件都和 WinSxS 目錄建立了硬連接關(guān)系。

 

說了這么多,最后總結(jié)一下吧:

 

•硬連接,一種基于文件系統(tǒng)的同一卷里面的文件快捷方式

•Windows 目錄下面大量使用了硬連接技術(shù)

•Windows\System32 目錄下的大多數(shù)文件,都和 WinSxS 目錄建立了硬連接關(guān)系

•要檢查自己系統(tǒng)Windows目錄里面的硬連接,請自己掃描吧!

OK,本次Windows 7 研究就此完成,請繼續(xù)等待下篇吧!

【編輯推薦】

  1. 揭秘Windows 7十大功能背后的中國力量
  2. MSDN TechNet Windows 7 的真面目
  3. Windows 7 SDK發(fā)布RTM版
責(zé)任編輯:龐桂玉 來源: Sina
相關(guān)推薦

2009-09-07 09:10:24

Windows 7占用空間

2013-01-30 13:40:42

Windows 7系統(tǒng)硬盤

2021-09-27 14:33:01

Windows 11Windows微軟

2021-09-20 11:41:56

Windows 11硬盤空間占用微軟

2009-09-08 08:20:00

Windows 7節(jié)省硬盤空間

2015-08-10 10:07:59

Windows 10硬盤清理

2016-01-13 09:15:48

Java對象占空間

2019-01-10 08:47:11

Windows 10硬盤磁盤

2009-08-22 21:09:02

改變預(yù)分配硬盤空間

2025-02-10 00:20:00

2018-05-21 11:02:24

Docker硬盤空間

2011-09-19 16:03:01

雙系統(tǒng)vista

2010-07-01 14:35:57

Windows 7

2021-10-27 23:32:06

Windows 11Windows微軟

2009-12-08 18:27:14

Windows 7操作

2010-03-24 11:48:19

tubro Linux

2018-01-11 15:36:23

命令磁盤空間Docker

2009-09-08 08:21:46

Windows 7固態(tài)硬盤

2017-03-22 15:38:41

Windows 7Windows硬盤分區(qū)

2009-06-03 08:51:52

微軟Windows 7操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號