1 of 39

認識 VHDX

Shih-Li Lin

2 of 39

大綱

3 of 39

什麼是 vhdx ?

4 of 39

什麼是 vhdx ?

  • 一種虛擬硬碟格式
  • 以檔案模擬硬碟
  • 可像真實硬碟一樣建立分割區、儲存資料、安裝作業系統
  • 甚至可用於實體電腦開機,只有硬碟是虛擬的,其他硬體均為真實的

5 of 39

固定大小 vs 動態擴展

6 of 39

固定大小 vs 動態擴展

假設建立一個虛擬容量為 10G 的 vhdx,則 vhdx 檔案的實際大小為?

實際大小

初始大小

格式化後

放入 5G 檔案

固定大小

10G

10G

10G

動態擴展

4M

*約 36M

*約 5G

* 數據僅供參考

7 of 39

初始大小

8 of 39

格式化後

9 of 39

寫入約 5G

10 of 39

完整磁碟 vs 差分磁碟

11 of 39

完整磁碟 vs 差分磁碟

  • 完整磁碟:
    • 可單獨使用
    • 建立時需指定容量大小與型態
    • 可差分子代磁碟
  • 差分磁碟:
    • 需和祖先們一起使用
    • 建立時需指定父磁碟
    • 以父磁碟狀態為基準,紀錄異動資料
    • 初始大小為 4M,動態長大
    • 可差分子代磁碟
    • 可向上合併以保留變更(危險)
    • 可刪除以清除變更(危險)

12 of 39

磁碟掛接後實際看到什麼內容?

13 of 39

磁碟掛接後實際看到什麼內容?

  • 以繪圖軟體的圖層來類比:
    • 完整磁碟即為最底層的底圖
    • 差分磁碟即為後來添加的圖層,一開始是完全透明的(4MB)
    • 掛接後實際看到的磁碟內容是一層一層疊加起來的結果

14 of 39

磁碟掛接後實際看到什麼內容?

  • 只有完整磁碟時:
    • 即為完整磁碟內容

1.txt

2.txt

3.txt

實際看到:

1.txt

2.txt

3.txt

使用

15 of 39

磁碟掛接後實際看到什麼內容?

  • 有子代磁碟時:
    • 為完整磁碟至子代磁碟內容合併之結果

1.txt

2.txt

3.txt

實際看到:

1.txt

2.txt

3.txt

4.txt

使用

加 4.txt

16 of 39

磁碟掛接後實際看到什麼內容?

  • 有子代磁碟時:
    • 為完整磁碟至子代磁碟內容合併之結果

1.txt

2.txt

3.txt

實際看到:

2.txt

3.txt

加 4.txt

4.txt

刪 1.txt�加 5.txt

使用

5.txt

17 of 39

可利用差分磁碟建立分支

18 of 39

可利用差分磁碟建立分支

1.txt

2.txt

3.txt

實際看到:

2.txt

3.txt

加 4.txt

4.txt

加 5.txt

刪 1.txt

實際看到:

2.txt

3.txt

4.txt

5.txt

1.txt

19 of 39

重建差分磁碟以還原狀態

20 of 39

重建差分磁碟以還原狀態

1.txt

2.txt

3.txt

加 4.txt

刪 1.txt�加 5.txt

A

B

C

問題:

如何維持原有階層架構,將 C 還原至 B 的狀態?

21 of 39

重建差分磁碟以還原狀態

1.txt

2.txt

3.txt

加 4.txt

A

B

解答:

1、將現有的 C 刪除

C

問題:

如何維持原有階層架構,將 C 還原至 B 的狀態?

22 of 39

重建差分磁碟以還原狀態

1.txt

2.txt

3.txt

加 4.txt

A

B

C

解答:

1、將現有的 C 刪除

2、由 B 差分出新的 C

4M

問題:

如何維持原有階層架構,將 C 還原至 B 的狀態?

23 of 39

合併差分磁碟以保留狀態

24 of 39

合併差分磁碟以保留狀態

1.txt

2.txt

3.txt

加 4.txt

刪 1.txt�加 5.txt

A

B

C

問題:

如何維持原有階層架構,將 C 的狀態保留到 B?

25 of 39

合併差分磁碟以保留狀態

1.txt

2.txt

3.txt

加 4.txt

刪 1.txt�加 5.txt

A

B

C

問題:

如何維持原有階層架構,將 C 的狀態保留到 B?

解答:

1、將現有的 C 合併至 B(B、C 均會變更)

合併後佔用大小通常遠大於 4M

26 of 39

合併差分磁碟以保留狀態

1.txt

2.txt

3.txt

A

B

C

問題:

如何維持原有階層架構,將 C 的狀態保留到 B?

解答:

1、將現有的 C 合併至 B(B、C 均會變更)

2、刪除舊的 C

加 4.txt

刪 1.txt�加 5.txt

27 of 39

合併差分磁碟以保留狀態

1.txt

2.txt

3.txt

A

B

C

問題:

如何維持原有階層架構,將 C 的狀態保留到 B?

解答:

1、將現有的 C 合併至 B(B、C 均會變更)

2、刪除舊的 C

3、由合併後的 B 差分出新的 C

加 4.txt

刪 1.txt�加 5.txt

4M

28 of 39

最好要知道的特性

29 of 39

最好要知道的特性 1:

  • 動態擴展之磁碟變胖後就幾乎瘦不下來了

30 of 39

最好要知道的特性 2:

  • 使用子代磁碟時,祖先們為唯讀狀態,但可產生差分磁碟

使用中

唯讀

31 of 39

最好要知道的特性 3:

  • 磁碟內容一旦變更,即使只是掛接(非唯讀),所有子代磁碟立即壞掉

壞掉了

變更內容

32 of 39

試試看,是否能判斷?

33 of 39

試試看,是否能判斷?

A

B

C

D

E

F

G

H

使用

使用中?

唯讀?

壞了?

可刪除?

可差分?

34 of 39

試試看,是否能判斷?

A

B

C

D

E

F

G

H

使用

使用中? A B C

唯讀?

壞了?

可刪除?

可差分?

35 of 39

試試看,是否能判斷?

A

B

C

D

E

F

G

H

使用

使用中?

唯讀? A B

壞了?

可刪除?

可差分?

36 of 39

試試看,是否能判斷?

A

B

C

D

E

F

G

H

使用

使用中?

唯讀?

壞了? D E

可刪除?

可差分?

37 of 39

試試看,是否能判斷?

A

B

C

D

E

F

G

H

使用

使用中? A B C

唯讀?

壞了?

可刪除? D E F G H

可差分?

38 of 39

試試看,是否能判斷?

A

B

C

D

E

F

G

H

使用

使用中? A B C

唯讀? A B

壞了? D E

可刪除?

可差分? A B F G H

39 of 39

END