Windows 中大小與磁碟大小差異的解釋
您可以透過在檔案總管中開啟檔案屬性來查看檔案的實際大小。如果您注意到的話,檔案屬性會顯示相同檔案的兩種不同類型的大小,即Size和Size on disk。磁碟上的大小通常大於實際檔案大小。但在某些情況下,它可能等於或小於實際檔案大小。在本文中,我將討論Windows PC 上的「大小」和「磁碟大小」之間的差異。
大小與磁碟大小差異的解釋
在詳細討論「大小」和「磁碟大小」之間的差異之前,讓我們先看看這些術語之間的基本差異。在這裡,我還將向您展示一些計算,這些計算將給出“磁碟大小”的精確和近似結果。下面的螢幕截圖顯示了檔案的大小和「磁碟上的大小」。
Size表示檔案的實際大小。簡單來說,它是文件保存的資料的大小。大小可以根據檔案所具有的資料來增加或減少。例如,如果您建立一個空白文字文件,它將顯示 0 位元組的大小。但當您開始在其中寫入文字時,它的大小也會開始增加。
磁碟上的大小顯示將檔案儲存在硬碟上時所佔用的位元組數。根據分配單元大小,您將看到相同檔案在磁碟上的不同大小。通常,「磁碟上的大小」大於檔案的實際大小。要理解這一點,您需要理解計算。但在向您展示計算之前,有必要了解資料如何儲存在硬碟上。
資料是如何儲存在硬碟上的
二進位值簇大小NTFS、FAT 32 和 exFAT
當您儲存檔案時,它會儲存在簇中。根據檔案大小(檔案容納的位元組數),將其分佈在叢集中進行存儲,這決定了「磁碟上的大小」。例如,如果要在NTFS 檔案系統的硬碟上儲存大小為5 KB 的文件,簇大小(分配單元大小)為1024 位元組,則這5 KB 被分割並儲存在不同的簇組中,每個簇持有1024 位元組資料。最後一個簇上剩餘的空位元組數將被浪費。這就是為什麼“磁碟大小”通常大於實際檔案大小。
磁碟大小的計算
現在,讓我們看看磁碟大小的一些計算,以便您可以更好地理解這個主題。我對NTFS檔案系統上不同簇大小的不同大小的文字檔案做了一些計算。在這裡,我將向您展示相同的內容並嘗試解釋這些計算。
當分配單元大小為 4096 位元組時磁碟上大小的計算
我獲取了一個大小為 24223 位元組的文字文件,並將其複製到具有 NTFS 文件系統且分配單元大小為 4096 位元組的 USB 隨身碟。分配單元大小是 USB 隨身碟的簇大小。當我打開文字檔案的屬性時,我看到以下詳細資訊:
- 大小 – 24223 位元組
- 磁碟大小 – 24576 位元組
您可以在上面的螢幕截圖中看到相同的資訊。正如我在本文上面所解釋的,「磁碟大小」通常大於檔案的實際大小。這是因為檔案儲存過程中簇被浪費了。讓我們看看幕後的計算。
實際檔案大小為24223字節,選擇的簇大小為4096位元組。現在,Windows 將該檔案儲存在簇中。這意味著 24223 位元組以 4096 個簇的形式分佈在磁碟上。我說「4096 個簇的集合」是因為每個簇(分配單元)最多可以容納 4096 位元組的資料。
如果我將 24223 位元組除以 4096 字節,我將得到以下結果:
24223/4096 = 5.9138 bytes
5 x 4096 = 20480 bytes
我們的資料總共有 24223 位元組。其中,5組簇完全佔用了20480位元組。因此,我們資料的剩餘位元組是:
24223 - 20480 = 3743 bytes
Windows 將在最後一組簇(在本例中為第 6 個簇)中填入所有這 3743 個位元組。每個簇可以儲存4096位元組。因此,剩餘的空簇是:
4096 - 3743 = 353 bytes
現在,這些剩餘的或空的位元組被添加到我們文件的實際位元組中。這將為我們提供實際結果(“磁碟大小”)。
353 + 24223 = 24576 bytes
在上面的結果中,「Size on disk」顯示24576位元組(6組簇,每個簇最多可儲存4096位元組)被完全佔用。但實際上,6組簇中只有5.9138部分用於儲存數據,其餘的都浪費了。
當分配單元大小為 8192 位元組時磁碟上大小的計算
現在,我取得了另一個文件,並將 USB 隨身碟的分配單元大小從 4096 位元組更改為 8192 位元組。
上面的螢幕截圖顯示了該文件的以下詳細資訊:
- 大小 – 5202 位元組
- 磁碟大小 – 8192 位元組
在這裡,計算很容易。因為這裡的檔案大小小於分配單元大小,所以它完全適合僅分配大小為 8192 位元組的 1 組簇,其餘位元組將被浪費。因此,Windows 顯示 8192 位元組作為該檔案的磁碟大小。
當分配單元大小為 1024 位元組時磁碟上大小的計算
現在,讓我們看看如果將相同檔案的分配單元大小從 8192 位元組減少到 1024 位元組會發生什麼。我將 USB 隨身碟格式化為簇大小為 1024 位元組,並將相同的檔案複製到其中。
查看以下檔案屬性:
- 大小 – 5202 位元組
- 磁碟大小 – 6144 位元組
這裡,簇大小小於總檔案大小,檔案中的位元組數以 1024 位元組的簇集分佈在硬碟上。這裡,每個簇最多可以容納 1024 位元組。
如果我將 5202 位元組除以 1024 字節,我將得到以下結果:
5202/1024 = 5.08 bytes
這表示 5 組分配單元(每組 1024 位元組)已完全佔用,剩餘位元組將填入下一組。
5 sets of 1024 bytes = 5 x 1024 bytes = 5120 bytes
5120位元組被完整寫入磁碟。讓我們計算一下要寫入磁碟的剩餘位元組數。
5202 - 5120 bytes = 82 bytes
Windows 將在分配大小為 1024 位元組的最後 6 組簇中寫入 82 位元組。因此,簇的最後一組中的剩餘位元組將保持為空。
Remaining bytes, 1024 - 82 = 942 bytes
這些剩餘或空位元組將會加入我們文件的實際位元組中。這將為我們提供實際結果(“磁碟大小”)。
5202 + 942 = 6144 bytes
這就是「磁碟大小」的計算方式。我僅展示了一個文件的“磁碟大小”的計算。
為什麼在某些情況下“大小”和“磁碟上的大小”之間存在很大差異?
當您在硬碟上複製檔案時,Windows 不會同時複製所有檔案。它透過在分配單元中填充位元組來逐個複製檔案。寫入資料後,Windows 會計算空的或浪費的分配單元,並將它們新增至實際檔案大小以顯示磁碟上的大小。
這就是為什麼在某些情況下您可能會看到檔案的實際大小與「磁碟上的大小」之間存在很大差異的原因。
如何減少大小與磁碟大小的差異
磁碟空間越大意味著浪費越多。因此,如果要減少實際檔案大小與磁碟大小之間的差異,則需要減小分配單元大小。
您可以在兩種不同情況下看到相同檔案的實際大小與其在磁碟上佔用的大小之間的差異。在磁碟上的大小顯示 6144 位元組的影像中,分配單元大小為 1024 位元組。在第二張圖中,「磁碟大小」顯示 32768 字節,分配大小為 32 KB。因此,很明顯,較小的分配單元大小將使您的檔案大小與「磁碟上的大小」之間的差異最小。
若要減少分配單元大小或簇大小,請按照下面提供的步驟操作。在開始格式化儲存裝置或硬碟分割區之前,請將其資料複製到另一個儲存裝置。
- 右鍵單擊您的儲存裝置或硬碟分割區。
- 選擇格式。
- 點選分配單位大小下拉清單。
- 從可用選項清單中選擇分配大小。
- 按一下“開始”以格式化您的硬碟。
成功格式化儲存裝置或硬碟分割區後,您可以將資料複製回其中。
磁碟 0 上的大小是什麼意思?
檔案屬性中的磁碟大小有時會顯示所選檔案的大小為 0 位元組。當檔案不包含足夠的資料來填充簇時,通常會發生這種情況。當所有簇都為空時,「Size on disk」顯示 0 位元組。
磁碟大小有何用途?
磁碟大小用於儲存資料。您可以在「磁碟管理」應用程式中查看磁碟的大小。如果您談論的是“磁碟上的大小”,則它是用於在磁碟上以叢集或分配單元儲存資料的位元組數。
發佈留言