iT邦幫忙

2026 iThome 鐵人賽

DAY 12
0
Security

那些留在電腦裡的證據:從零開始認識數位鑑識系列 第 12 篇

[DAY 12] 5 KB 的檔案,為什麼會佔掉 8 KB?從 Sector、Cluster 到 File Slack

  • 分享至 

  • xImage
  •  

前幾天一路都在分析 Memory,今天先把視角拉回硬碟。

因為之後要開始接觸 Deleted File、File Recovery,甚至 NTFS 裡的資料結構之前,有幾個很基本但很重要的概念一定要先搞懂:Sector、Cluster、File Slack。

我們平常看到的是一個個檔案,但對儲存裝置來說,底層其實只是很多區塊和 Bytes。

Sector:磁碟底層的儲存單位

Sector 可以理解成磁碟底層存取資料的基本區塊,是硬碟最小單位的儲存單位。

傳統磁碟常見:

  • 512 Bytes / Sector
  • 4096 Bytes / Sector,也就是 4K Sector
  • 512e:實體是 4K,但對系統呈現 512 Bytes

所以看到 Sector 時,不一定永遠都是 512 Bytes,還是要看實際儲存裝置的設定。

Cluster:File System 分配檔案的單位

作業系統不一定直接一個 Sector、一個 Sector 地分配檔案,而是會透過 File System 使用 Cluster 來配置空間,他是系統最小的儲存空間。

一個 Cluster 可以由多個 Sector 組成。

例如 1 Sector = 512 Bytes

如果 1 Cluster = 8 Sectors

那麼 1 Cluster = 512 × 8 = 4096 Bytes = 4 KB

所以可以先記成:

Bit → Byte → Sector → Cluster → File

5 KB 的檔案,為什麼會佔掉 8 KB?

假設今天的 Cluster Size 是 4 KB,現在有一個 5 KB 的檔案。

第一個 Cluster 可以放 4 KB,但剩下的 1 KB 不能只另外分配 1 KB,而是必須再使用一整個 4 KB Cluster。

所以:

5 KB 的檔案 → 需要 2 個 Cluster → 共配置 8 KB

項目 大小
File Size 5 KB
Cluster Size 4 KB
使用 Cluster 2
Allocated Space 8 KB
沒有被檔案使用 3 KB

這也是為什麼有時候 Windows 檔案內容裡的 Size 和 Size on disk 會不一樣。

多出來的 3 KB 去哪了?

剛才配置了 8 KB,但檔案實際只有 5 KB,所以最後一個 Cluster 還剩下 3 KB。

這段沒有被目前檔案使用的區域,就是 Slack Space。

Cluster 1
┌──────────────────────┐
│     File Data 4 KB   │
└──────────────────────┘

Cluster 2
┌──────────┬───────────┐
│ File Data│   Slack   │
│   1 KB   │   3 KB    │
└──────────┴───────────┘

Slack 對一般使用者來說可能只是沒有被利用的空間,但對 Digital Forensics 來說就不一定。

因為這些空間裡有可能還留著先前資料的片段。

也就是 現在這個檔案沒有使用,不代表裡面的 Byte 一定全部是空的。

Allocated 和 Unallocated

另外兩個之後會很常看到的名詞是 Allocated Space 和 Unallocated Space。

Allocated Space 是目前已經被 File System 分配使用的空間。

Unallocated Space 則是目前沒有分配給有效檔案,可以再次被使用的空間。

但要注意 Unallocated 不代表 Empty。

例如一個檔案被刪除後,File System 可能把原本使用的空間標記成可以重新使用,但底層資料不一定馬上全部消失。

這也是為什麼 Deleted File 有時候還有機會被 Recovery。

可以簡單整理:

名稱 意思
Allocated Space 已被 File System 分配使用
File Slack 已分配給檔案,但檔案沒有使用完的區域
Unallocated Space 目前沒有分配給有效檔案,可重新使用

Delete 不一定等於資料消失

平常按下 Delete 時,File System 很多時候並不是立刻把原本的資料全部改成 00。

比較像是這個檔案不再有效,原本使用的空間可以重新利用。

如果那塊空間還沒有被其他新資料覆寫,原本的內容就有可能還存在。

所以 Delete ≠ Data immediately disappears

這也是為什麼做 Digital Forensics 時,不只會看目前存在的檔案,也會關注 Unallocated Space 和 Slack Space。

不過這個概念主要比較容易套用在 HDD;SSD 還會受到 TRIM 和 Garbage Collection 影響,所以 Deleted File 是否還能恢復,會更複雜。

小總結

今天最重要的其實就是:

Sector
↓
多個 Sector 組成 Cluster
↓
File System 用 Cluster 分配檔案
↓
檔案沒用完最後一個 Cluster
↓
File Slack

而標題的答案就是:

5 KB 的檔案,在 4 KB Cluster 的環境下,需要兩個 Cluster,因此會配置 8 KB,而剩下沒有被檔案使用的 3 KB,就是 Slack Space。


上一篇
[DAY 11] 不用 Profile 了!用 Volatility 3 分析 Memory
下一篇
[DAY 13] NTFS 裡的檔案都記在哪?認識 $MFT
系列文
那些留在電腦裡的證據:從零開始認識數位鑑識 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言