Virtualbox:如何将当前状态(快照)与磁盘映像合并

tho*_*hor 6 virtualbox

我们有一个名为 Jira 的虚拟服务器在 VirtualBox 4.0 下运行(主机是 Debian Squeeze)。在某个时间点,VM 无法启动,因此我们不得不从 GRML 救援 ISO 启动。在此之前,我们已经创建了 VM 的快照。修复启动问题后,VM 继续使用该快照作为当前状态。这是 VBoxManage showvminfo jira 的输出:

Name:            jira
Guest OS:        Other/Unknown
UUID:            ef5260be-46d3-45cb-8c9d-9f9e322f9110
Config file:     /home/vbox/.VirtualBox/Machines/jira/jira.xml
Snapshot folder: /home/vbox/.VirtualBox/Machines/jira/Snapshots
Log folder:      /home/vbox/.VirtualBox/Machines/jira/Logs
Hardware UUID:   ef5260be-46d3-45cb-8c9d-9f9e322f9110
Memory size:     2048MB
Page Fusion:     off
VRAM size:       8MB
HPET:            off
Chipset:         piix3
Firmware:        BIOS
Number of CPUs:  1
Synthetic Cpu:   off
CPUID overrides: None
Boot menu mode:  message and menu
Boot Device (1): Floppy
Boot Device (2): DVD
Boot Device (3): HardDisk
Boot Device (4): Not Assigned
ACPI:            on
IOAPIC:          on
PAE:             on
Time offset:     0 ms
RTC:             local time
Hardw. virt.ext: on
Hardw. virt.ext exclusive: on
Nested Paging:   on
Large Pages:     off
VT-x VPID:       on
State:           running (since 2012-05-24T12:23:48.127000000)
Monitor count:   1
3D Acceleration: off
2D Video Acceleration: off
Teleporter Enabled: off
Teleporter Port: 0
Teleporter Address: 
Teleporter Password: 
Storage Controller Name (0):            jira.sata
Storage Controller Type (0):            IntelAhci
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  30
Storage Controller Port Count (0):      30
Storage Controller Bootable (0):        on
Storage Controller Name (1):            jira.ata
Storage Controller Type (1):            PIIX4
Storage Controller Instance Number (1): 0
Storage Controller Max Port Count (1):  2
Storage Controller Port Count (1):      2
Storage Controller Bootable (1):        on
jira.sata (0, 0): /home/vbox/.VirtualBox/Machines/jira/Snapshots/{e8bedcaa-278b-4b06-a825-1dddc9e4fdb3}.vdi (UUID: e8bedcaa-278b-4b06-a825-1dddc9e4fdb3)
NIC 1:           MAC: 080027ABB6DD, Attachment: Bridged Interface 'eth0.100', Cable connected: on, Trace: off (file: none), Type: Am79C973, Reported speed: 0 Mbps, Boot priority: 0
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled
Pointing Device: PS/2 Mouse
Keyboard Device: PS/2 Keyboard
UART 1:          disabled
UART 2:          disabled
Audio:           disabled
Clipboard Mode:  Bidirectional
Video mode:      720x400x0
VRDE:            enabled (Address 0.0.0.0, Ports 3389, MultiConn: off, ReuseSingleConn: off, Authentication type: null)
Video redirection: disabled
USB:             disabled

USB Device Filters:

<none>

Available remote USB devices:

<none>

Currently Attached USB Devices:

<none>

Shared folders:  <none>

VRDE Connection:    not active
Clients so far:     0

Guest:

OS type:                             Other
Additions run level:                 0
Configured memory balloon size:      0 MB

Snapshots:

   Name: beforeGRML (UUID: 70949bb5-985a-4ae6-ba28-3d0475434cf0) *
Run Code Online (Sandbox Code Playgroud)

如您所见,快照在 GRML 之前被命名。其实我怀疑这个快照是当前状态,磁盘映像是我们用GRML iso恢复机器之前的状态。

我的问题:

  • beforeGRML 快照实际上是当前状态是否正确?
  • 无论“当前状态”是什么,我都想将它与 VM 磁盘合并并且没有快照 - 如何做到这一点?

请注意,VM 托管在远程 Debian 服务器上,我使用 VBoxManage 命令行界面。(我已经尝试阅读文档,但仍然无法弄清楚所有这些“快照删除”和“快照恢复”会做什么。)

bas*_*lei 13

No beforeGRML不是当前状态。它是您制作快照的时间点的机器状态。

VirtualBox 的快照命令命名非常不直观,如果您想将您拥有的当前状态合并到delete快照。

从他们的手册(http://www.virtualbox.org/manual/ch08.html#idp15412176):

删除操作删除快照(由名称或 UUID 指定)。这可能需要一段时间才能完成,因为与快照关联的差异图像可能需要与其子差异图像合并。

恢复到快照的状态,请使用以下restore操作:

还原操作将通过将虚拟机的设置和当前状态重置为快照的设置和当前状态来还原给定的快照(由名称或 UUID 指定)。机器之前的当前状态将丢失。在此之后,给定的快照成为新的“当前”快照,以便后续快照插入到从中恢复的快照下。