我有一個安裝了Windows 7 32位元的虛擬機,主機是Windows 7 64位。我選擇了可動態調整大小的 VDI 磁碟映像。在磁碟映像上安裝 Windows 後,大小約為 5GB。
由於我不打算經常使用虛擬機,因此我有興趣壓縮磁碟映像以節省一些我自己的磁碟空間。但我對虛擬機器非常陌生,我不知道什麼是最好的選擇。
- 不要壓縮。它可能會嚴重降低效能,或者VDI可能已經是壓縮格式,而我自己的壓縮是浪費時間。
- 透過檔案屬性在主機 Windows 中壓縮 .vdi 檔案。
- 在虛擬機器內,請轉到其硬碟屬性並選擇壓縮磁碟機。
您認為哪個選項最好?
謝謝。
答案1
選擇選項 1 - 你絕對應該不是壓縮VDI。
選項 2 - 開啟、關閉和使用壓縮的 5GB 磁碟映像會明顯變慢。它甚至可能會非常緩慢,甚至令人痛苦。這將與動態調整大小的磁碟結合。
選項 3 - 這實際上不會減少虛擬磁碟的大小,它只會減少虛擬磁碟的大小數據在該磁碟上,但也會減慢速度。一般來說,全盤壓縮僅適用於包含小型到中型的捲數據文件,或不經常存取的文件。
答案2
虛擬機器內的 NTFS 壓縮(我有這方面的經驗)是一個非常糟糕的主意。
它導致 CPU 升高很多,並且 VDI 減少檔案大小的增益並不大,只有 1/1.13,我所見過的最多僅增益 20%(談論在所有系統分區上啟用壓縮的來賓 NTFS) 。
為了縮小 vdi 搜尋名為「CloneVDI」的工具,我使用版本 2.51(不記得我在哪裡下載的。它從現有文件創建另一個 VDI 文件,並可以選擇「壓縮」它(又稱收縮)。
使用這樣的工具,來賓分區內所有未使用的空間都不會佔用創建的VDI 上的空間,確保不更改UUID,然後將舊的移動到臨時資料夾,將新的移動/重命名到原來的位置,嘗試啟動如果一切順利(工具手冊告訴它可能會失敗,但我從未見過它掉落)刪除舊的。
範例:在全新的 Windows 7 上安裝所有更新(使用 WSUS + OnLine)後,VDI 超過 15GiB;經過「cleanmgr」和其他調整後,分割區顯示使用了 9.5GiB,但 VDI 仍然是 15GiB;使用 CloneVDI 後,檔案縮小至 9.5GiB。
哦!是的,啟動 NTFS 壓縮,使用 CloneVDI 後的 VDI 變成 8.4GiB,是的,只少了 1GiB,但啟動時間增加了 10 倍。
我主要將CloneVDI 與不可變的VDI 一起使用,當我需要將VDI“複製”到另一個地方的另一台PC(將其放在64GiB USB 3.1 棒上)時......因為我現在想要/需要(出於軟體測試目的)所有XP、7、8、8.1 和10(家用版和專業版)(32 位元和64 位元),它會產生5*2*2=20 個VDI 文件,最糟糕的是我還需要它們作為「乾淨」的最近安裝狀態,只是為了持續Service Pack 和所有更新...該數字乘以3,因此60 個VDI 檔案...64GiB 不夠...我需要300GiB USB HDD,所以我在3.1 USB 中攜帶500GiB Sata III 2.5 HDD C 型外殼,我仍然使用 CloneVDI 來縮小它們。
如果你幸運的話,電腦上有 USB 3.1 連接埠和速度不錯的 2.5 吋 Sata III HDD(1TiB 或 500GiB)就足夠了,3.1 Type C 外殼非常便宜(在速賣通上不到 20 歐元)並且工作完美,可以放入口袋等...我討厭USB B 型連接器(microUSB),往往會失去穩定性(當您不太需要時它會自行拔出),因為我使用C 型連接器,所以我沒有遇到這個問題( miniUSB連接器也很好,但不讓你得到3.1速度,也沒有3.0速度,只有2.0速度。
注意:有些人錯誤地將USB 3.1 稱為USB 3.0...確保USB 3.1 Gen 2(用於真正快速的HDD 速度),是的,Gen 2 僅適用於C 型連接器,如果外殼連接器不是C型,則最高速度將不會真的在那裡。
USB 3.0和所謂的USB 3.1(Gen 1)只有5Gib/s(千兆位元),而USB 3.1 Gen2(僅使用Type C連接器)可以以10Gib/s工作,在Windows主機中遠遠超過1GB每秒( 1GiB/s),因此複製10GiB 的VDI 檔案只需要不到10 秒。
警告:USB 3.1 Gen 2 消耗大量電量,因此請注意(大多數情況下是在記憶棒上)熱量...SanDisk 64 GiB USB 3.1 Gen 2 的溫度過高,可能會讓您感覺就像將您的設備放在USB 3.1 Gen 2 上一樣。
如果您能花 50 歐元,購買 USB 3.1 Gen 2 Type C + 3-1 電纜 USB C 至 USB A + 500GiB Sata III 2.5"...您會發現自己不再想要「壓縮」(記住使用在進行重要的來賓變更後,使用CloneVDI 工具,您會發現使用這樣的Shrink / Compact 就足夠了。
附註:最佳實務...使用CloneVDI 時,使用兩個不同的高速磁碟(從一個磁碟讀取並以管道方式並行寫入另一個)...內部HDD 和此類3.1 Gen2 Type C 外部HDD ....之後複製從一個回到另一個。與在同一個磁碟上進行讀取和寫入然後將其複製到另一個磁碟(更少的磁頭移動)相比,這樣做確實花費更少的時間...除非您非常幸運地擁有SSD 磁碟. ..如果是這樣將另一個 SSD 放在外部外殼上。
我手上確實有一個 1GiB 儲存(連接到 PCI Express 3.0 x16 控制器)(作為測試)能夠達到 35GiB/s 的持續寫入速度,是的,每秒 35GB...您可以完全填滿儲存1/ 35=0.029 秒(比大多數現代PC 記憶體更快);顯然,這是一個用液態氮冷凍的“概念驗證”,等等。這個想法是,這將使PC的正常記憶體「概念」失效......並且PC將像舊的PDA一樣啟動(即時),因為不需要電源來保存記憶體......不知道何有時以及是否會提高市場(價格) ?
到那時,最便宜的方法是USB 3.1 Gen 2 Type C 外殼上的Sata III 2.5 1TiB(或1.5TiB)...如果沒有USB 3.1 端口,請購買便宜的PCI Express USB 3.1 Gen 2 Type C 卡和USB用於 10GiB/s 傳輸的電纜 CC。
如果無法承受這樣的「速度」而需要留在USB 2.0上;我最好的建議有兩個:如果您不介意訪客速度大幅降低,請啟用 NTFS 訪客壓縮,並在重要更改後使用 CloneVDI 來縮小 VDI 大小。
請注意:CloneVDI 不需要您事先對來賓執行任何操作(例如將可用空間歸零等),它將完成完整的工作,將查看哪些扇區真正未使用,並將它們視為有零,因此它們不會繼續生成VDI。
使用非常「慢」的 HDD (30MiB/s) 在 15GiB 的 VDI 檔案上通過 CloneVDI 並獲得 9GiB(在同一分割區上)需要 25 分鐘多一點...同時從一個 USB 3.1 Gen 2 Type C 執行此操作封閉到另一台只花了不到30 秒的時間;這就是為什麼我如此多地談論 USB 3.1 Gen 2 Type C (10Gib/s)...等待半分鐘而不是近半小時。
我總是將所有VDI 放在兩個USB 3.1 Gen 2 Type C 機箱中(每個機箱500GiB 2.5 英寸HDD),因此我擁有一個備份和真正“快速”的來賓I/O 性能...不佔用內部作業系統HDD 空間。
我會談論這樣的HDD(我的HDD非常昂貴,我只用它們進行簡短的測試),它們可以以接近6Gib/s的持續寫入速度(Sata III是瓶頸),它們不是SDD,但具有多臂,所以一次可以寫入多個盤,NCQ 優化,1GiB 的內部緩存(不是只有 8MiB 或 16MiB 的緩存)...價格...每個接近 1 美元...我不太喜歡SSD 及其低“擦除」週期數...更適合密集(虛擬機器VDI)使用。
我永遠不會將虛擬機器放在 SSD 上,兩三年後 SSD 就會損壞(「擦除」次數達到最大值)。我傾向於使用兩個非常便宜的 500GiB 快速 Sata III 2.5",每個都有自己的 USB 3.1 Gen 2 Type C 外殼,因此我的寫入速度接近 200MiB/s;這使得 CloneVDI 15GiB 縮小到 9Gib花費近3分鐘。
希望我對您有所幫助...有時使用兩個小型硬碟(500GiB) 比使用USB 記憶棒或大硬碟(1.5TiB) 更好,為所有VDI 提供足夠的容量並且速度更快...如果與克隆VDI 結合使用(閱讀形成一個,寫信給另一個)這是理想的。
我的主要想法:改變思維方式......如果問題是“空間”,好吧,做一些工作(對客人沒有速度影響)又名,克隆VDI到緊湊/收縮,並獲得兩個接近快速的外部便攜式硬碟適合放在口袋裡,因此您還可以保存 VDI 最後的兩個已知狀態;當然,僅將此類外部HDD 用於VDI,這樣您就可以確保將來有足夠的空間...並且在內部HDD 上還有VDI 的另一個副本(如果不止一台PC),這樣您就可以獲得……速度,從一台PC 傳輸到另一台PC 的等待時間短,以及4 個備份副本(如果只有兩台PC,兩個內部,兩個外部)以及外部HDD 上的額外2 個「舊狀態”備份副本。
就我而言,60 個VDI 永遠不會使用超過300GiB(我使用的內部來賓最大HDD 大小是20GiB),實際上它只需要大約200GiB,其中我可以不保留舊狀態,因為我將它們全部用作不可變的,所以我還有近 280GiB 需要成長(在 500GiB HDD 上),想像一下如果我使用 1TiB 或 1.5TiB(多麼浪費空間),只是為了未來的 Windows 版本。
我在Windows 來賓中看到,VDI 檔案通常不會大於10GiB(請記住,我使用預設安裝安裝它們,並且只有Windows,沒有應用程式等),並且如果我將所有Windows 更新(在cleanmgr 等和CloneVDI通過之後) )它增長到 13GiB 或 15GiB(增長上限為 20GiB,因為我為系統分區定義了 20GiB)。
這樣我就可以在所有作業系統、最近安裝的作業系統、作業系統+更新、32位元/64位元作業系統、Windows版本XP、7、8、8.1和10...上測試應用程式安裝程序,並查看哪些可以工作,哪些可以失敗由於我將它們配置為不可變,因此在關閉電源後,VirtualBox 所做的第一件事就是完成更改,這樣我就可以測試另一個應用程式安裝程式等。
VirtualBOX 有一個隱藏功能,您可以告訴不可變的 HDD 在虛擬機啟動時不要丟失更改,同時仍然不可變...因此您還可以測試需要關閉電腦電源的應用程式安裝程式。
答案3
只需檢查 Pismo File Mount,這是一個以高比率和低 CPU 使用率進行「即時」壓縮的出色工具。
我將所有 .vdi 檔案都放在 .pfo 檔案中(啟用壓縮),它將全新安裝的 Windows(如果使用 UpDates)壓縮到 50% 以下,因此您可以獲得超過 50% 的 od 空間。
此類 .pfo 檔案安裝在「C:\Volumes\bla_bla_bla.pfo」上,因此只需編輯 .vbox 檔案路徑以在那裡進行列印即可。
我說的是 Windows 主機,在 Linux 主機上我還沒有使用 Pismo 檔案掛載。
.pfo 檔案會以讀寫模式為資料夾安裝,您可以放入任何您想要的內容(檔案和資料夾)。
警告:我不知道如何縮小 .pfo 文件
我主要用它做什麼? 。
希望能幫助你!