GPT 標頭:結構、備份與 CRC32

GPT 標頭結構、備份與 CRC32

A GPT 標題 是一種描述磁碟 GUID 分割表(GUID Partition Table)的元資料結構。它用於識別磁碟、定位分割區條目陣列、定義可用的磁碟邊界,並儲存用於偵測元資料損毀的校驗和。GPT 會維護主標頭與備份標頭以確保冗餘。 了解其位元組佈局與 CRC32 欄位,有助於闡明分區資訊是如何進行驗證的,以及為何標頭受損並不一定代表底層檔案已遺失。.

目錄

什麼是 GPT 標頭?

GPT 標頭是 GUID 分割表(GPT)的一部分,而 GPT 則是 UEFI 規範所定義的磁碟分割方案。.

與較早的主開機記錄(MBR)方案不同,GPT 會保留兩份分割區元資料的副本:一份位於磁碟起始處附近,另一份則位於磁碟末尾附近。.

每個 GPT 標頭都包含用於定位和解讀其相關分區條目陣列所需的資訊,包括:

  • 一個用於識別 GPT 格式的標記。.
  • GPT 標頭的修訂版本與大小。.
  • 原始標頭的位置以及替代標頭的位置。.
  • 第一個和最後一個可用的邏輯區塊位址。.
  • 一個唯一的磁碟識別碼。.
  • 分區條目陣列的位置與尺寸。.
  • CRC32 校驗和,用於確保元資料的完整性。.

GPT 標頭並不會直接儲存檔案名稱、資料夾結構或檔案內容。這些資訊屬於分區內的檔案系統。.

有關分區方案的概述,請參閱 GPT(GUID 磁碟分割表). 官方定義載於 UEFI 規格,第 5.3 節.

GPT 標頭位於何處?

GPT 會將其主要與備份元資料分別存放於磁碟的兩端。.

對於傳統的 GPT 磁碟:

地點

目錄

LBA 0

保護性 MBR

LBA 1

主要 GPT 標頭

遵循 LBA

主要分割區條目陣列

可用 LBA 範圍

可用於隔間的空間

最後一個區塊之前的 LBA

備份分割區條目陣列

最後一個 LBA

備份 GPT 標頭

GPT-標題位置

保護性 MBR 可協助防止舊式僅支援 MBR 的工具將 GPT 磁碟視為未分配空間。.

這與 GPT 標頭本身不同。若要與傳統分割區元資料進行比較,請參閱 MBR 磁碟分割表.

邏輯扇區與位元組位址

GPT 使用邏輯區塊位址 (LBA),而非絕對位元組偏移量,來識別其結構。.

要將 LBA 轉換為位元組偏移量:

位元組偏移量 = LBA × 邏輯區塊大小

例如:

  • 在邏輯區塊大小為 512 位元組的磁碟上,主要標頭始於位元組偏移量 512 (0x200).
  • 在一個邏輯區塊大小為 4,096 位元的磁碟上,主標頭從位元偏移量 4096 (0x1000).

在邏輯區塊內,標頭通常佔用 92 位元組,儘管該格式允許標頭大小可達邏輯區塊大小為限。.

92 位元的標頭不應與 512 位元的磁區混淆。512 位元標頭區塊中其餘的位元組均為保留位元組,且必須為零。.

GPT 標頭結構:欄位、偏移量與大小

GPT 標頭結構定義於 UEFI 規範 2.10,表 5.5.

以下偏移量是相對於 GPT 標頭的起始位置,而非相對於磁碟的起始位置。.

現場

偏移量(十六進位)

尺寸

目的

簽名

0x00

8 位元組

識別 GPT 標頭

修訂

0x08

4 位元組

GPT 格式修訂

標題大小

0x0C

4 位元組

標頭長度(以位元組為單位)

標頭CRC32

0x10

4 位元組

標頭的校驗和

保留

0x14

4 位元組

必須為零

MyLBA

0x18

8 位元組

此標題的位置

替代 LBA

0x20

8 位元組

另一個頁首的位置

FirstUsableLBA

0x28

8 位元組

第一個可用的分割區區塊

最後可用 LBA

0x30

8 位元組

最後一個可用的分割區區塊

磁碟 GUID

0x38

16 位元組

唯一磁碟識別碼

PartitionEntryLBA

0x48

8 位元組

相關條目陣列的起始位置

分區條目數

0x50

4 位元組

參賽名額數

分區條目大小

0x54

4 位元組

每筆資料的大小

PartitionEntryArrayCRC32

0x58

4 位元組

條目陣列的校驗和

已定義的欄位佔用以下偏移量 0x00 透過 0x5B, ,總計 92 位元組。來自 0x5C 已預留至邏輯區塊末尾。.

磁碟元數據 / 十六進位檢視器
GPT 標頭 — Byte Explorer
模擬範例 · 無實時磁碟存取
512 位元組的邏輯區塊 · GPT 標頭:92 位元組
區塊十六進位檢視每行 16 位元組 · 點選一位元組
GPT 標頭欄位偏移量 · 尺寸
MyLBA 0x18–0x1F · 8 位元組

簽署與修訂

有效的 GPT 標頭以 ASCII 簽名開頭 EFI 零件.

這八個位元組分別是:

45 46 49 20 50 41 52 54

標準 GPT 修訂版 1.0 由以下小端字節表示:

00 00 01 00

這些代表數值 0x00010000. GPT 標頭的修訂版本與 UEFI 規格版本並不相同。.

常用的標頭大小為 92 位元組,編碼方式如下:

5C 00 00 00

磁碟 GUID 與位元組順序

「DiskGUID」欄位佔用 16 位元組,起始偏移量為 0x38.

它用來識別 GPT 磁碟。這與儲存於每個個別分割區條目中的唯一分割區 GUID 不同。.

在解讀原始十六進位資料時,GUID 還引入了一個重要細節:其前三個組件採用小端字節序,而最後八個字節則保留其顯示順序。.

例如,以下這個示例 GUID:

f0e1d2c3-b4a5-4c6d-8e9f-102030405060

儲存方式如下:

C3 D2 E1 F0 A5 B4 6D 4C 8E 9F 10 20 30 40 50 60

若直接從左至右讀取全部 16 個原始位元組,將會產生一個不正確的文字型 GUID。.

分割區條目陣列欄位

有三個欄位定義了分割區條目陣列:

  • PartitionEntryLBA 標示陣列的起始位置。.
  • 分區條目數 定義其條目數量。.
  • 分區條目大小 定義了每個條目的大小。.

陣列的位元組長度計算方式如下:

陣列大小 = 項目數 × 項目大小

對於一個包含 128 個元素、每個元素為 128 位元組的陣列:

128 × 128 = 16,384 位元組

若邏輯區塊大小為 512 位元組:

16,384 ÷ 512 = 32 個邏輯區塊

這是分割區條目陣列的保留空間,而非實際檔案資料所佔用的空間。.

當前的 UEFI 規格將條目大小定義為 128 × 2^n 位元組,其中 n 是一個非負整數。典型的 GPT 磁碟使用 128 位元組的條目。. 

Each slot in the partition entry array describes one partition through its type GUID, unique partition GUID, LBA boundaries, attributes, and name. For a field-by-field explanation of the GPT 分割區條目結構, including byte offsets and GUID encoding, see our GPT 分區條目:結構、陣列與 GUID 欄位 指南。.

主 GPT 標頭與備用 GPT 標頭:有哪些變化?

主 GPT 標頭與備用 GPT 標頭的欄位結構相同,但其所包含的位元組內容並不完全相同。.

它們的位置以及某些內部指標有所不同。.

請考慮一個具有以下特徵的示範性 GPT 磁碟:

  • 100,000 個邏輯區塊,已編號 0 透過 99,999.
  • 邏輯區塊大小為 512 位元組。.
  • 一個包含 128 個槽位、每個槽位為 128 位元組的條目陣列。.
  • 兩端各有一個由 32 個區塊組成的分割區條目陣列。.

版面配置如下:

結構

主要 GPT

備份 GPT

標頭 LBA

1

99,999

MyLBA

1

99,999

替代 LBA

99,999

1

PartitionEntryLBA

2

99,967

條目陣列範圍

2–33

99,967–99,998

FirstUsableLBA

34

34

最後可用 LBA

99,966

99,966

標題大小

92 位元組

92 位元組

這些位置直接取自磁碟大小以及兩個各含 32 個區塊的分區條目陣列。.

例如:

備份陣列起始位置 = 最後一個 LBA − 陣列區塊數

99,999 − 32 = 99,967

最後一個可用的區塊必須位於該備份陣列之前:

99,967 − 1 = 99,966

因此,這兩組標頭雖然描述的是同一個可用磁碟範圍,但其分割區條目陣列所指向的實體位置卻不同。.

此種安排可讓支援 GPT 的軟體在主副本受損時,檢查備份的元資料。.

然而,即使有兩份副本,也無法保證其中任何一份是有效的或最新的。.

範例解析:從十六進位位元組解碼 GPT 標頭

以下範例使用的是刻意建構的 GPT 元資料,而非從實體磁碟擷取的位元組。.

它描述的正是上文提到的那顆 100,000 區塊的磁碟。.

此範例中沒有任何已填入資料的分區。所有 128 個分區條目槽位均以零填充,因此可根據完全定義的輸入來計算兩個條目陣列的校驗和。.

步驟 1:識別頁首

在主要標頭的開頭,前 16 位元組的內容如下:

45 46 49 20 50 41 52 54 00 00 01 00 5C 00 00 00

依欄位拆分序列:

位元組範圍

十六進位位元組

解碼後的含義

0x00–0x07

45 46 49 20 50 41 52 54

EFI 零件

0x08–0x0B

00 00 01 00

修訂 0x00010000

0x0C–0x0F

5C 00 00 00

標頭大小:92 位元組

簽名、修訂內容及頁首大小均符合預期格式。.

這雖然建立了一個合理的標頭,但僅憑此並不能證明 GPT 是有效的。.

步驟 2:解碼位置欄位

主要標題包含:

現場

儲存的位元組

解碼後的數值

MyLBA

01 00 00 00 00 00 00 00

1

替代 LBA

9F 86 01 00 00 00 00 00

99,999

FirstUsableLBA

22 00 00 00 00 00 00 00

34

最後可用 LBA

7E 86 01 00 00 00 00 00

99,966

PartitionEntryLBA

02 00 00 00 00 00 00 00

2

這些數值採用小端字節序。.

舉例來說,這些位元組 9F 86 01 00 00 00 00 00 代表 0x000000000001869F, ,或十進制 99,999.

倒車頭轉向 MyLBA 和 替代 LBA 以及變更 PartitionEntryLBA 至 99,967.

步驟 3:比較標頭校驗和

針對這個具體的模擬範例,使用先前顯示的 DiskGUID 以及一個以零填充的 16,384 位元組分割區條目陣列,計算出的數值如下:

校驗碼

主要 GPT

備份 GPT

標頭CRC32

0x76EF8C67

0x98B5EBC6

PartitionEntryArrayCRC32

0xAB54D286

0xAB54D286

由於標頭中的位置欄位不同,因此標頭的校驗和也不同。.

分區條目陣列的校驗和相符,是因為這兩個陣列都包含完全以零填充的相同位元組。.

這些是經計算得出的範例數值,並非通用的 GPT 校驗和常數。若磁碟 GUID、分割區佈局或元資料有所變更,將產生不同的結果。.

GPT 標頭 CRC32 驗證的運作原理

GPT 使用兩個獨立的 CRC32 校驗和來偵測其分割區元資料的變更:

  • 標頭CRC32 驗證 GPT 標頭本身。.
  • PartitionEntryArrayCRC32 驗證相關的分區條目陣列。.

兩者皆採用標準的 CRC-32 演算法,但涵蓋的位元組範圍不同。.

HeaderCRC32:校驗和的計算方式

的 標頭CRC32 該欄位佔用四個位元組,其偏移量以標頭為基準 0x10.

根據該 UEFI 規格, 計算校驗和時,必須將此欄位暫時設為零。.

驗證流程分為五個步驟:

  1. 請閱讀標題。. 從磁碟映像中取得 GPT 標頭位元組,並判定 標題大小 偏移量處的欄位 0x0C.
  2. 記錄儲存的 CRC32。. 讀取偏移量處的四個位元組 0x10–0x13 作為一個小端序的 32 位元值。.
  3. 將校驗和欄位設為零。. 在臨時副本中,請將這四個位元組替換為 00 00 00 00.
  4. 計算 CRC32。. 針對精確的 標題大小 位元組。.
  5. 比較結果。. 若計算出的值與儲存的值相符,則該標頭即通過其 CRC32 完整性檢查。.

對於標準的 92 位元組 GPT 標頭,此計算涵蓋了各處的偏移量 0x00–0x5B, ,而非整個 512 位元組的邏輯磁區。.

一個標準的 CRC-32 計算器或 Python 的 zlib.crc32() 可以進行計算。該演算法使用反射多項式 0xEDB88320, 初始寄存器值為 0xFFFFFFFF, ,以及對 0xFFFFFFFF.

範例:驗證 GPT 標頭的 CRC32

請參考本文稍早提到的合成 GPT 標頭。.

項目

價值

標題大小

92 位元組

儲存的標頭 CRC32

0x76EF8C67

儲存的位元組

67 8C EF 76

計算過程中的 CRC 欄位

00 00 00 00

計算出的 CRC32

0x76EF8C67

驗證結果

比賽

計算出的校驗和與儲存的值相符,這表示此範例的標頭通過了 CRC32 校驗。.

即使僅有一個受檢字節發生變化,而未更新儲存的校驗和,計算結果通常也會有所不同。.

重要: 請務必在臨時副本或唯讀的工作資料上進行計算。請勿覆寫原始磁碟上的校驗和位元組。.

GPT 元資料 · 互動範例
驗證 GPT 標頭的 CRC32
92 位元組的合成標頭 · 512 位元組的邏輯磁區 · 無磁碟存取
標頭位元組相對偏移量 · 每行 16 位元組
OFFSET
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00
4546492050415254000001005C000000
10
678CEF76000000000100000000000000
20
9樓860100000000002200000000000000
30
7E86010000000000C3D2E1F0A5B46D4C
40
8E9樓1020304050600200000000000000
50
800000008000000086D254AB
儲存的校驗和 · 0x10–0x13可編輯位元組 · 0x18
儲存的標頭 CRC32 小端序:67 8C EF 76
0x76EF8C67
CRC 輸入 標頭位元組 0x00–0x5B
92 位元組
計算出的 CRC32 校驗和欄位設定為零
—
步驟 1 · 讀取儲存的數值
這四個標示出的位元組儲存 0x76EF8C67 以小端序排列。請選擇 零 以了解輸入資料是如何進行預處理的。.
原始樣本
CRC-32/IEEE · 反射多項式 0xEDB88320 · Init 0xFFFFFFFF · 最終 XOR 0xFFFFFFFF. 教學範例,並非實際擷取的磁碟資料。.

PartitionEntryArrayCRC32:驗證分割區條目

第二個校驗和,, PartitionEntryArrayCRC32, 儲存於以標頭為基準的偏移量處 0x58.

不像 標頭CRC32, 它涵蓋的是分割區條目陣列,而非標頭。.

其計算長度為:

分區條目數 × 分區條目大小

對於一個包含 128 個元素、每個元素為 128 位元組的陣列:

128 × 128 = 16,384 位元組

要驗證此校驗和,請對整個 16,384 位元組的陣列計算 CRC32,並將結果與 GPT 標頭中儲存的校驗和進行比對。.

在分區條目陣列中,無需將任何校驗和欄位設為零。.

由於主陣列與備用陣列位於不同位置,因此必須分別進行檢查。陣列最後一個條目之後的任何未使用填充空間,均不納入計算範圍。.

為何這兩種校驗和都很重要

這兩個校驗和分別回答了不同的問題:

  • 標頭CRC32: 標頭位元組是否與標頭中儲存的校驗和相符?
  • PartitionEntryArrayCRC32: 分區條目的位元組是否與儲存於標頭中的校驗和相符?

GPT 標頭可能通過其自身的 CRC32 檢查,但其分區條目陣列卻已損毀。.

同樣地,即使分區邊界在邏輯上不正確,或是元資料已過時,這兩項校驗和仍可能通過。.

CRC32 用於驗證元資料的完整性,而非磁碟狀態或檔案的可恢復性。. 必須進行額外的檢查,以確認分割區條目是否一致,以及底層檔案系統是否仍可存取。.

如何檢查 GPT 標頭是否有效

UEFI 規定,支援 GPT 的軟體必須檢查標頭簽名、標頭 CRC,, MyLBA, ,以及相關分區條目陣列的 CRC。對於主 GPT,還必須檢查備用標頭。.

實際檢查應包含以下額外的一致性檢查:

檢查

預期狀況

為何重要

簽名

EFI 零件

識別結構

標題大小

至少 92 位元組;不得大於一個邏輯區塊

定義校驗和範圍

標頭CRC32

與重新計算的 CRC32 值相符

偵測標頭位元組的變更

MyLBA

與實體標頭的位置相符

偵測位置錯誤的元資料

替代 LBA

指向另一個頁首

支援冗餘佈局驗證

PartitionEntryLBA

指向位於磁碟範圍內的陣列

防止陣列存取位址無效

PartitionEntryArrayCRC32

與實際陣列位元組相符

偵測入口陣列損毀

可用 LBA 範圍

按順序排列、在範圍內,且位於元數據區域之外

檢查版面配置的一致性

主/備份元資料

在必要時保持一致

偵測衝突的副本

通過這些檢查並不能驗證個別的檔案系統或檔案。. 還需檢查分區條目的邊界是否有效,以及是否存在重疊。.

的 UEFI GPT 驗證要求 為判定 GPT 元資料是否有效提供規範依據。.

當 GPT 標頭損毀時會發生什麼情況?

後果取決於哪些元資料仍可使用。.

主要標題損毀,備用標題有效

如果主要 GPT 無效,支援 GPT 的軟體必須檢查最後一個邏輯區塊的標頭,並驗證其相關的分區條目陣列。.

有效的備份可提供重建主副本所需的元資料,但須符合該平台的復原政策。.

此類修復操作會寫入分割區元資料,因此不應在存放重要且未受保護資料的磁碟上貿然進行。.

備用標頭已損毀,主標頭有效

主要分割區的佈局可能仍然可以讀取。.

然而,為了維持 GPT 的冗餘性,必須還原該備份。.

因此,即使磁碟表面上看似可存取,其備份元資料仍可能已受損。.

兩個標頭皆無效

如果兩個標頭均無效,則根據 UEFI 驗證規則,該磁碟沒有有效的 GPT 標頭。.

這並不一定表示每個分割區或檔案都已從物理層面被刪除。.

分割區元資料、檔案系統元資料以及檔案內容分別佔用磁碟上的不同區域。.

當涉及重要檔案時,請保留原始磁碟並加以區分 遺失的分割區資料復原 避免重新寫入分割表。.

標頭有效,但分割區資訊不正確

僅憑結構上有效的標頭,尚不足以證明其分區條目能正確描述當前磁碟的狀態。.

例如,當舊式分割軟體變更磁碟佈局後,過期的 GPT 元資料可能會殘留在磁碟末端。.

因此,必須將看似有效的備份與保護性 MBR、當前磁碟容量、分割區條目以及其他可用的證據一併進行評估。.

UEFI 特別警告,在磁碟重新格式化為傳統 MBR 之後,切勿依賴過時的 GPT 結構。.

如何安全地檢查 GPT 標頭

若要進行詳細分析,請使用磁碟映像檔或具備唯讀權限的十六進位檢視器。.

  1. 請確認是否為正確的實體磁碟,以及其報告的邏輯區塊大小。.
  2. 如果磁碟上存有重要資料,請在修改任何元資料之前,先建立適當的映像檔。對於不穩定或故障的磁碟,則需採取適當的資料擷取方法。.
  3. 在十六進位編輯器中開啟該影像,且勿啟用寫入功能。.
  4. 在 LBA 處定位主要標頭 1, 對應於位元組偏移量 邏輯區塊大小 × 1.
  5. 檢查偏移量處的簽名 0x00 並利用相對於標頭的偏移量來解讀其他欄位。.
  6. 根據映像檔或磁碟容量確定最後一個 LBA,然後檢查備份標頭。.
  7. 比較欄位值、標頭校驗和以及相關的分區條目陣列。.

Windows 磁碟管理與 PowerShell 的 Get-Disk 雖然能夠識別磁碟的分區樣式,但其一般的摘要視圖並未提供完整的位元組級 GPT 標頭驗證。.

請勿初始化、格式化或執行 DiskPart 清洗 僅僅是因為磁碟回報分區無效或遺失。同樣地,CHKDSK 是一項檔案系統修復工具,而非通用的 GPT 標頭重建方法。.

限制與重要邊界情況

有幾項條件會影響 GPT 標頭的解析。.

不同的邏輯區塊大小。. 一個 4Kn 磁碟使用 4,096 位元組的邏輯區塊。主標頭仍位於 LBA 1, ,但其絕對位元組偏移量與 512 位元組邏輯磁區磁碟上的不同。.

更大的 GPT 標頭。. 在允許的邏輯區塊大小範圍內,標頭的大小可能超過 92 位元組。CRC32 必須使用實際經過驗證的 標題大小, 並非假設的常數。.

調整磁碟大小或克隆磁碟。. 若磁碟容量已擴充,舊的備份標頭可能不再位於最後的 LBA 位置。在進行修正之前,必須根據當前的裝置大小評估 GPT 元資料。.

CRC32 並非加密式驗證。. 校驗和相符,並不能證明元資料是真實的,或未經蓄意篡改。.

實體媒體的問題。. 讀取錯誤、間歇性連線中斷或控制器故障都可能導致無法進行可靠的檢測。若對故障硬體反覆嘗試,可能會使復原工作更加困難。.

這些限制說明了為何 GPT 驗證需要進行多項相關檢查,而非僅靠單一簽名或校驗和比對。.

總結

的 GPT 標題 提供了解讀 GUID 分區表所需的位置、邊界、識別碼及完整性資訊。其結構由明確的位元組偏移量定義,而其主副本與備份副本則分別位於磁碟的兩端,提供冗餘的元資料。.

要進行正確的分析,光是定位還不夠 EFI 零件. 必須綜合評估標頭的 CRC32、分割區條目陣列的 CRC32、LBA 指標、可用邊界,以及主/備份的一致性。.

了解這些關聯性,便能辨識有效的 GPT 元資料、找出不一致之處,並區分分割表損毀與實際的檔案資料遺失。.

常見問題

什麼是 GPT 標頭簽名?

GPT 標頭簽名是由八個字元組成的 ASCII 字元序列 EFI 零件. 十六進位表示法為 45 46 49 20 50 41 52 54. 它會出現在主標頭和備用標頭的開頭。僅憑找到這段序列,並不能證明整個 GPT 是有效的。.

GPT 標頭有多少位元組?

常用的 GPT 標頭大小為 92 位元組。該 標題大小 該欄位定義其實際長度,該長度必須至少為 92 位元組,且不得大於邏輯區塊大小。邏輯區塊中其餘的位元組則被保留。.

主 GPT 標頭和備用 GPT 標頭儲存於何處?

主要 GPT 標頭儲存於 LBA 1. 備份標頭儲存於磁碟的最後一個邏輯區塊中。每個標頭的 MyLBA 能識別其自身位置,而 替代 LBA 識別出另一個標頭。.

為什麼主 GPT 標頭和備用 GPT 標頭的 CRC32 值不同?

他們的「位置」欄位有所不同,包括 MyLBA, 替代 LBA, ,而且通常 PartitionEntryLBA. 由於這些位元組被 HeaderCRC32 所涵蓋,因此即使兩個標頭都準確地描述了同一張磁碟,計算出的校驗和通常也會有所不同。.

當磁碟受損時,GPT 標頭能否通過 CRC32 驗證?

是的。標頭 CRC 僅保護標頭位元組,不會驗證檔案內容、實體磁區狀態,也不會檢查每個分割區邊界規則。分割區條目陣列有獨立的校驗和,而各檔案系統則需要進行各自的驗證。.

受損的 GPT 標頭能否從備份中恢復?

有可能。如果備份標頭及其相關的分區條目陣列是有效的,且與當前的磁碟佈局一致,它們便能提供用於重建主要 GPT 的元資料。任何重建操作都會修改磁碟元資料,因此應在執行資料保存與驗證之後進行。.

GPT 磁碟 GUID 與分割區 GUID 是同一回事嗎?

不。該 磁碟 GUID GPT 標頭中的此欄位用於識別磁碟。各個分割區條目均包含獨立的識別碼,包括分割區類型 GUID 以及唯一的分割區 GUID。這些值具有不同的作用,切勿混淆。.

Vasilii 是一位在該領域擁有約 10 年實務經驗的資料復原專家。在他的職業生涯中,他已成功解決數千個複雜的個案,包括刪除的檔案、格式化的硬碟機、遺失的磁碟分割和 RAW 檔案系統。他的專業知識涵蓋使用十六進位編輯器等專業工具的手動復原方法,以及使用復原軟體的進階自動解決方案。Vasilii 的使命是讓 IT 專業人士和一般使用者都能獲得可靠的資料復原知識,協助他們保護寶貴的數位資產。.