Hey everyone, thanks for this great forum. I'm a new member but haven't been able to find a solution to my question.
I also have a concern that I'll address after the question.
I'm using the latest release of VirtualBox on Windows 7 Professional Edition x64. So far, I love it. Plan to do a lot of virtualization with it, but I have a big question concerning snapshots.
The first question I have is regarding base snapshots. So, for instance, if I create a brand new VM and take a snapshot of the "Current state," it will generate a "base" snapshot and a child node of "Current state (changed)." My question is, how can I create another "base" snapshot. That is to say, how can I create a snapshot of the VM that will not be a child of the latest snapshot? In that way there would be 2 snapshots with no child nodes. Is this possible, and if so how do you accomplish that task? If it's not possible, are there any plans to allow this feature?
My second concern is regarding deleting snapshots. I've experienced an issue that when deleting a parent snapshot node, the children (after merging) are missing some content. The best way to explain it would be the following. To start, I created a brand new VM and installed Windows XP HE x86. I processed all the security and system updates, then created a snapshot. I now have a base snapshot "virgin install." If I create a snapshot after making some modifications to the "base snapshot," I'll now have 1.0 "virgin install" -> 1.1 "modified" (child 1). If I delete the "base snapshot" (1.0), and I restore "modified" (1.1), all of the previously processed security & windows updates will need to be re-downloaded and re-installed. That's concerning, as I was under the impression that snapshot 1.1 would have all of 1.0 as well as the modifications done after, thus creating 1.1.
My last question is if I do delete the "base" snapshot which in the above example would be "virgin install," what will exist on the VM? Will it have the same content as "virgin install" and just have no snapshots, or will that completely remove the data on the VM?
Thanks for taking the time to read through all that.
Appreciate your time and help!
How to Create Multiple Base Snapshots + Retroactive Effects
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: How to Create Multiple Base Snapshots + Retroactive Effe
(1) Instead of using the current state, you revert to the previous snapshot and continue working. That creates a new branch with a new current state.
(2) No, that isn't how snapshots work. Snapshots are frozen once taken, all changes are written to the current state. If you restore an earlier state then of course you lose the data from the current state.
I feel bound to warn you that most experienced users avoid snapshots: storing your data in mutually heavily interdependant file fragments is not the most obviously robust storage structure one could think of. They take more disk space too, and that space is more difficult to manage... so I'm always at a loss to understand why newbies are so attracted to them, particularly now that the GUI supports cloning.
(2) No, that isn't how snapshots work. Snapshots are frozen once taken, all changes are written to the current state. If you restore an earlier state then of course you lose the data from the current state.
I feel bound to warn you that most experienced users avoid snapshots: storing your data in mutually heavily interdependant file fragments is not the most obviously robust storage structure one could think of. They take more disk space too, and that space is more difficult to manage... so I'm always at a loss to understand why newbies are so attracted to them, particularly now that the GUI supports cloning.
-
njcarlos
- Posts: 10
- Joined: 9. Jan 2012, 04:20
- Primary OS: MS Windows 7
- VBox Version: OSE other
- Guest OSses: Mostly XP
Re: How to Create Multiple Base Snapshots + Retroactive Effe
Hi mpack, thanks for addressing my post.
With respect to your first point, I probably didn't communicate my question properly. I guess the best way to put it is that when I have 0 snapshots, and I make a snapshot, it creates a "base" snapshot. However, I was wondering if it's possible to create multiple base snapshots. The idea then would be 2 or more snapshots that are not tied to each other (no parent-child node relationship among them).
So it'd look something like this... Is it possible to create base 2.0.0 & 3.0.0?
base snapshot (1.0.0)
|
|---------> child snapshot (1.1.0)
| |
| |---------> child snapshot (1.1.1)
base snapshot (2.0.0)
|---------> child snapshot (2.1.0)
base snapshot (3.0.0)
Regarding your 2nd point, it does clear things up a bit. So basically what you're saying is that if I have the following snapshot structure:
base snapshot (1.0.0)
|
|---------> child snapshot (1.1.0)
| |
| |---------> child snapshot (1.1.1)
|---------> child snapshot (1.2.0)
If I delete "base snapshot," all of the children will lose the content that was in the base snapshot? I guess my confusion comes from thinking that each child snapshot is a self contained "image" of the VM, so deleting previous nodes wouldn't affect them. I'm probably wrong on that as you seem to be suggesting, but figured I'd clarify just to be certain.
And I guess my last question was overlooked by mistake. In the diagram above, if "base snapshot (1.0.0)" was all that existed, what would happen if I deleted it? Would it revert to the content of the VM that existed prior to the snapshot, or will the VM essentially be deleted?
With respect to your first point, I probably didn't communicate my question properly. I guess the best way to put it is that when I have 0 snapshots, and I make a snapshot, it creates a "base" snapshot. However, I was wondering if it's possible to create multiple base snapshots. The idea then would be 2 or more snapshots that are not tied to each other (no parent-child node relationship among them).
So it'd look something like this... Is it possible to create base 2.0.0 & 3.0.0?
base snapshot (1.0.0)
|
|---------> child snapshot (1.1.0)
| |
| |---------> child snapshot (1.1.1)
base snapshot (2.0.0)
|---------> child snapshot (2.1.0)
base snapshot (3.0.0)
Regarding your 2nd point, it does clear things up a bit. So basically what you're saying is that if I have the following snapshot structure:
base snapshot (1.0.0)
|
|---------> child snapshot (1.1.0)
| |
| |---------> child snapshot (1.1.1)
|---------> child snapshot (1.2.0)
If I delete "base snapshot," all of the children will lose the content that was in the base snapshot? I guess my confusion comes from thinking that each child snapshot is a self contained "image" of the VM, so deleting previous nodes wouldn't affect them. I'm probably wrong on that as you seem to be suggesting, but figured I'd clarify just to be certain.
And I guess my last question was overlooked by mistake. In the diagram above, if "base snapshot (1.0.0)" was all that existed, what would happen if I deleted it? Would it revert to the content of the VM that existed prior to the snapshot, or will the VM essentially be deleted?
-
Technologov
- Volunteer
- Posts: 3342
- Joined: 10. May 2007, 16:59
- Location: Israel
Re: How to Create Multiple Base Snapshots + Retroactive Effe
Branched snapshots work this way:
base snapshot (1.0.0)
|
|---------> child snapshot (1.1.0)
| |
| |---------> child snapshot (1.1.1)
|---------> child snapshot (1.2.0)
| |
| |---------> child snapshot (1.2.1)
You *always* have one base snapshot, but you can branch your tree however you want.
Just click on "base" snapshot, and "revert" to it.
Moreover, each snapshot can become a new VM in it's own right:
1. Full Clone VM (not dependent on parent at all, takes many minutes to create)
-or-
2. Linked Clone VM (it is basically another snapshot, but can be run concurrently with the parent, takes one second to create)
-Technologov
base snapshot (1.0.0)
|
|---------> child snapshot (1.1.0)
| |
| |---------> child snapshot (1.1.1)
|---------> child snapshot (1.2.0)
| |
| |---------> child snapshot (1.2.1)
You *always* have one base snapshot, but you can branch your tree however you want.
Just click on "base" snapshot, and "revert" to it.
Moreover, each snapshot can become a new VM in it's own right:
1. Full Clone VM (not dependent on parent at all, takes many minutes to create)
-or-
2. Linked Clone VM (it is basically another snapshot, but can be run concurrently with the parent, takes one second to create)
-Technologov
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: How to Create Multiple Base Snapshots + Retroactive Effe
In response to your question about what happens if you delete a snapshot: the answer is, nothing happens. That "marker" is deleted from your history and hence you lose the ability to revert/restore to that point. There is no effect on the VM, and in particular there is no data lost. However for technical reasons VirtualBox does not allow you to delete a snapshot which has multiple branches depending on it.
Regarding your Q2: no, that still isn't right. In the original scenario posed you restored a snapshot prior to deleting it. Restoring to an earlier state is what loses you the data from a later state ("restore" to a marker implies discarding all changes since that marker). The subsequent deletion step did not lose any additional data.
Regarding your Q2: no, that still isn't right. In the original scenario posed you restored a snapshot prior to deleting it. Restoring to an earlier state is what loses you the data from a later state ("restore" to a marker implies discarding all changes since that marker). The subsequent deletion step did not lose any additional data.