立即丟棄所有快照的最佳方法

立即丟棄所有快照的最佳方法

我有一個 VirtualBox VM(Windows Server 2012 作為主機和來賓)。我在配置一些困難的東西時創建了幾個快照:

Before installing OS
 \____ Before installing software A
        \____ Before installing software B
               \____ Before installing software C
                      \____ Testing this
                             \____ Testing that
                                    \____ Current state

現在一切正常,我需要磁碟空間,所以我想丟棄所有快照。我的研究表明,除了一張一張地刪除快照之外,沒有其他方法可以刪除快照,儘管速度慢得令人痛苦。我無法複製或匯出虛擬機,因為它已經使用了 75% 的主機磁碟。

我應該從上到下開始刪除還是反之亦然?什麼會導致更快的合併?或者說這其實不重要?

答案1

我不知道這是否是最好的方法,但這是最快的方法,而且只有當您想放棄所有快照並保留當前狀態時。

轉到快照,右鍵單擊當前狀態,單擊克隆,然後選擇所有複選框並設定“包括所有網路適配器...”

在此輸入影像描述

在下一個畫面上選擇“完整克隆”

在下一個畫面上選擇“目前機器狀態”並點擊克隆

現在您擁有完全相同的機器,沒有任何快照。需要刪除舊機器

缺點: - 需要在複製之前重新命名舊虛擬機器或在複製之後重新命名新虛擬機器。由於您要保留所有 UUID,因此所有內容都應該工作相同,包括命令列自動化。 - 需要額外的空間來臨時製作雙倍尺寸

優點: - 快速自動合併所有快照,因此無需浪費時間逐一刪除

答案2

根據經驗,我建議只有一種正確的刪除快照的方法:從最新的快照向後移動,一次刪除一個。
始終按順序 - 切勿刪除“中間”快照。或者更糟的是,最舊/頂級快照。您可能認為 VB 會介入並阻止您犯下這個巨大的錯誤,但它很高興地允許這樣做。它應該只是翻轉一個橫幅,上面寫著“哈哈,你會後悔的!”之後。
如果您從未搞砸過刪除除最新快照之外的任何內容並按順序向後移動,那麼您應該能夠刪除所有內容,包括最舊的/頂級的。
如果你把它搞砸了,並刪除了中間的快照,那麼你很可能會搞砸,以至於刪除了所有東西。通常,當您嘗試刪除時會出現錯誤,並且留下任何剩餘的快照,並且無法刪除它們。您需要在任何起點(安裝或匯入)重新載入虛擬機器。
請務必注意,每個刪除過程可能需要相當長的時間,每個快照大約需要 10 分鐘或更長時間,具體取決於系統大小。

答案3

使用 VirtualBox 7.0 版,我在中間刪除快照時沒有遇到任何問題。

中間需要刪除大約 15 個快照,我使用了以下腳本來完成此操作。

@echo off
:: Rename the following two lines to the correct VM name and executable path.
set VM_NAME="Win10ProWrk64TorrentTest"
set VBoxManageCMD="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"

for /F "tokens=* delims=" %%a in (SnapshotsList.txt) DO  (
    Echo Deletting snapshot %%a from VM %VM_NAME%
    %VBoxManageCMD% snapshot %VM_NAME% delete %%a
    Echo *********************************************
)

我將此腳本與一個名為 的檔案一起使用SnapshotsList.txt,該檔案儲存了我要刪除的快照的名稱。

例子:

"qBitTorrent Installed"
"Increased Resolution"
"Updated VM software"
"After downloading MiniTool Tourent and before MiniTool install"
"Post Minitool Install and other torrent downloads"
"EaseUS Data Recovery Wizard Installed"
"EaseUS Partition Master installed"
"Removed bad DiskGenius installs"
"Removed Failed AOMEI_PartAssist"
"MiniTool Partition Wizard Installed"
"Wondershare Reparit installed"
"qTorrent option changes"
"Before removing Recoverit"

SnapshotsList.txt使用以下命令可以輕鬆建立該檔案:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" snapshot "MyVmNameHere" list --machinereadable >SnapshotsList.txt

編輯檔案以僅包含要刪除的 SnapshotName。

如果您嘗試這樣做,請記住對快照名稱和虛擬機器名稱使用雙引號。

相關內容