如何将虚拟机中的每日更改保存到实时 USB

如何将虚拟机中的每日更改保存到实时 USB

我已成功在我的 64gb USB 闪存驱动器中安装、启动和使用 Ubuntu。

我计划将我的 USB 密钥的副本转换为虚拟映像,然后使用 virtualbox 启动它。(这也没问题!)

我的问题是: 有没有办法让我将虚拟机中的每日更改保存到已安装 Ubuntu(与 liveCD 不同)的 USB 闪存盘中,以便我可以使用它来启动并继续我在 Virtualbox 上离开的地方?

注意:我在具有 4 个分区的 64gb 闪存盘上安装了 Ubuntu 14.04。一个 8gb fat32,第二个是 /home,第三个是 Linux Swap,最后 5.3gb 只是一个空分区。

答案1

如果我理解正确的话,您要做的就是将闪存驱动器用作 Virtualbox 中的“硬盘”。这样,您的所有更改都将反映在闪存驱动器上。

为了做到这一点,您需要创建一个指向物理设备的虚拟硬盘,然后将虚拟硬盘与 Virtualbox 一起使用。

使用以下命令,将 /dev/sda 替换为您的闪存驱动器设备 sudo VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda

https://superuser.com/questions/495025/use-physical-harddisk-in-virtual-box更多细节。

如果您尝试在 Virtualbox 和闪存驱动器上运行两个单独的系统,然后来回“同步”更改,则可以使用 rsync 来同步文件(如果两个系统同时运行)。但您无法同步所有文件,因为除非两个系统完全相同,否则这肯定会导致问题,因此您必须满足于诸如您的主目录之类的东西。由于您在单独的分区上有 /home,您还可以使用我上面的说明来创建指向该单个分区的虚拟硬盘驱动器,并使用 Virtualbox 安装它。

答案2

经过一些测试并实际使用后,这是我满意的 rsync 命令:

rsync -aAXv –exclude={“/dev/*”,”/proc/*”,”/sys/*”,”/tmp/*”,”/run/*”,”/mnt/*”,”/media/*”,”/lost+found”, “/boot/*”} /media/sda1/* /media/sdb1/ –delete -u --dry-run

如果我满意,我会删除--dry-run 来做出改变。

相关内容