Удалить snapshot virtualbox по его UUID или имени
Хотелось бы тем же скриптом удалять snapshot недельной давности командой:
Для этого нужно узнать его UUID или имя. Для этого есть команда:
VBoxManage snapshot FreePBX15_test list –machinereadable
SnapshotName=«FreePBX15_test_05-13-202116:54:40» SnapshotUUID=«75c54407-03e0-4d4d-85dc-f4b23ff2153f» SnapshotDescription=«Snapshot taken on 05-13-202116:54:40» SnapshotName-1=«FreePBX15_test_05-13-202117:20:01» SnapshotUUID-1=«5ed0ab34-2339-49e2-be8a-84f7c0aa1221» SnapshotDescription-1=«Snapshot taken on 05-13-202117:20:01»
Подскажите, как вытащить искомые данные из вывода этой команды?
Как удалить ненужные снимки виртуальной машины?

Только сейчас понял что такое эти снимки, закончилось место на C)
Само ubuntu.vdi лежит на D, а снимки сохранялись на C.
Как удалить все кроме текущего состояния, или хотя бы переложить на D? И не угробить. Вроде можно в интерфейсе удалять и оно смержит, но страшновато
- Вопрос задан более трёх лет назад
- 2130 просмотров
Комментировать
Решения вопроса 1

Creative frontend developer
Кроме как смержить, вы никак не сможете избавиться от старых снимков не убив текущее состояние — там каждый следующий снимок зависит от предыдущих. Так что запасайтесь чаем (это обычно долгий процесс) и вперед!
Ответ написан более трёх лет назад

65536 @65536 Автор вопроса
По одному удалять? Если да, то в каком порядке?
И получится ли все забэкапить (vdi, снимки и конфиги) и поднять потом если пойдёт не так?

65536: Порядок может быть любой (virtualbox достаточно умный для этого), но если начинать с последних — все будет делаться немного быстрее. Бэкапить, разумеется, можно — главное при восстановлении, если оно вдруг понадобится, указать в настройках VM новую папку со снимками (Settings->General->Advanced->Snapshot Folder)
Как правильно удалять снэпшоты (snapshots) в VirtualBox для минимизации размера?
Поставил Windows XP на Oracle VirtualBox для экспериментов с автомобильным сканером. Система с нужным софтом занимает 1,5 Gb (дистрибутив Windows XP сильно урезанный и без всяких hybernate.sys и pagefile.sys)
В процессе экспериментов (касающихся ТОЛЬКО настроек софта, без доп. установки чего-либо) наплодил 7 снапшотов в двух ветках. Сейчас хочу удалить ненужные снимки, оставив один последний снимок в одной ветке.
Перед удалением сделал полный клон всей выключенной виртуальной машины на всякий случай.
В клоне удалил все снимки кроме нужного, на выходе размер — 10 Гигабайт. Что я сделал не так, и какой должен быть правильный порядок удаления снэпшотов, чтобы размер вернулся к первоначальному 1,5 Гб или сильно близко к этому?
- Вопрос задан более трёх лет назад
- 2987 просмотров
Комментировать
Решения вопроса 1

Здесь отвечаю на вопросы.
Как правильно удалять снэпшоты (snapshots) в VirtualBox для минимизации размера?
Снимки системы при удалении (слиянии) только увеличивают размер виртуального диска, если он изменяемый. Чтобы сжать виртуальный диск, а это зависти от его типа, можно выполнить команду:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "H:\-virtual-box-disc\tsk-7-64.vdi" --compact
Может не помочь.
Для виртуальных дисков советуют чистить незанятое пространство:
@Echo OFF Echo %COMPUTERNAME%: %DATE% %TIME% Clean free space > run.log sdelete.exe -C С: Echo %DATE% %TIME% Zero free space >> run.log sdelete.exe -Z С: Echo %DATE% %TIME% End>> run.log
Антон Ефремов @zamboga
Все ок, спасибо, сжал образ. Пара ремарок.
1. У вас ошибка в синтаксисе sdelete. Ключа -с не существует, есть ключ -s.
Нет никакой ошибки:
SDelete - Secure Delete v1.61 Copyright (C) 1999-2012 Mark Russinovich Sysinternals - www.sysinternals.com usage: C:\Program Files\SDelete\sdelete.exe [-p passes] [-s] [-q] . C:\Program Files\SDelete\sdelete.exe [-p passes] [-z|-c] [drive letter] . -a Remove Read-Only attribute -c Clean free space -p passes Specifies number of overwrite passes (default is 1) -q Don't print errors (Quiet) -s or -r Recurse subdirectories -z Zero free space (good for virtual disk optimization)
Проще всего ввести одну команду, чем батник писать: sdelete.exe c: -s -z
C:\Program Files\SDelete\sdelete.exe [-p passes] [-z|-c] [drive letter] .
Если обрабатывать диск целиком, то [-z|-c] означает или. А ваша команда не очистит место занятое удалёнными папками.
Can I delete snapshot but keep current state which is coming from that snapshot?

Can I delete a VirtualBox snapshot but keep the current state which is under the snapshot? The situation is depicted below: What I want to do is, delete the «it’s working» snapshot to save 10GB of disk space but I want to keep the current state. Can I just delete the snapshot or will it erase current state as well? If not, is there a way to keep the current state while I get rid of the 10GB of the snapshot?