Лучший способ удалить все снимки сразу

Лучший способ удалить все снимки сразу

У меня есть виртуальная машина VirtualBox (с 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

Я не знаю, лучший ли это способ, но это самый быстрый способ, и только если вы хотите удалить все снимки и оставить текущее состояние.

Перейдите в раздел «Снимки», щелкните правой кнопкой мыши по текущему состоянию, выберите «Клонировать», установите все флажки и установите флажок «Включить все сетевые адаптеры...».

введите описание изображения здесь

На следующем экране выберите «Полное клонирование».

На следующем экране выберите «Текущее состояние машины» и нажмите «Клонировать».

Теперь у вас точно такая же машина без снимков. Нужно удалить старую машину

Минусы: - нужно либо переименовать старую VM перед клонированием, либо новую VM после клонирования. Поскольку вы сохраняете все 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, которые необходимо удалить.

Если вы попробуете это сделать, не забудьте использовать двойные кавычки для имен снимков и имени виртуальной машины.

Связанный контент