客人空间给客人

客人空间给客人

这个问题源于“在虚拟机上回答“擦除磁盘并安装 Ubuntu”安全吗?”。

来自主人的来宾空间:

如果磁盘空间大于未使用的磁盘空间,可能不是在开始时,而是在稍后,当使用量增长到例如 50 GB 中的 40 GB 并且主驱动器仅剩下 40 GB 空间时,会发生什么情况?换句话说,VM 是否会覆盖数据,或者它会报告这种情况?我不认为 VM 会覆盖主机的数据,我只是想确定一下。

来自来宾的主机空间:

反过来,如果主机磁盘要使用保证给客户机的空间,会不会以某种方式损坏客户机,这有可能吗?主机会不会只是告诉你由于该虚拟机,主机空间有限?

客人空间给客人:

这只是 Oracle VirtualBox 或任何类似的 VM 软件的一个例子,使用“精简配置”在 Windows 10 主机上安装 Linux Mint 客户机。安装程序在选择“擦除”选项后直接告诉我:

“如果您继续,下面列出的更改将写入磁盘。否则,您将能够手动进行进一步的更改。以下设备的分区表已更改:SCSI3 (0,0,0)(sda) 以下分区将被格式化:SCSI3 (0,0,0)(sda) 的分区 #1 为 ext4。”

我选择了“继续”,没有发生任何不好的事情。可能是因为我已经安装了另一个虚拟机,所以弹出了这条消息。似乎虚拟机可以从另一个虚拟机中占用空间,这可能吗?


这个问题不仅限于 Oracle VirtualBox 的使用;这个问题是关于 VMS 的一般问题,当然不排除有关 VirtualBox 的答案。

答案1

客人空间给客人

在 Linux Mint 上使用 VirtualBox,安装程序在选择“擦除”选项后直接告诉我:

如果继续,下面列出的更改将写入磁盘。否则,您将能够手动进行进一步的更改。以下设备的分区表已更改:SCSI3 (0,0,0)(sda) 以下分区将被格式化:SCSI3 (0,0,0)(sda) 的分区 #1 为 ext4。

我选择了“继续”,没有发生任何不好的事情。可能是因为我已经安装了另一个虚拟机,所以弹出了这条消息。我认为虚拟机永远不会覆盖主机的数据。不过,似乎虚拟机可以从另一个虚拟机中占用空间?

虚拟机是完全独立的。它们(广义上)与物理计算机没有区别,除非你以某种方式将它们连接起来,否则它们彼此之间是互不相识的 - 就像物理计算机一样。

该消息不是由另一个虚拟机的存在引起的。这是一个“健全性检查”类型的对话框。它要求您仔细检查安装程序自动做出的选择是否符合您的意图。

我已通过实验确认,将 Ubuntu 18.04 和 20.04 安装到空的、未分区的驱动器时会出现此消息。

来自来宾的主机空间

虽然从内部看,虚拟机就像一台普通计算机,但从外部(即主机的角度)看,它只是一堆文件。通常,您将有一个描述虚拟机硬件配置的文件和一个用于连接到虚拟机的每个虚拟磁盘的文件。因此,在大多数情况下,虚拟机由两个文件组成:一个用于配置,一个用于磁盘。

磁盘文件可以预分配或动态分配。预分配磁盘从一开始就占用与其容量相等的空间。它可以略微提高性能,但会占用主机未使用的磁盘区域磁盘空间。如果没有足够的磁盘空间,则在创建虚拟机但尚未运行时,该过程将失败。

动态分配的虚拟磁盘文件会随着客户机尝试写入其之前未使用的区域而增长。这方面的技术术语是稀疏文件。当客户机尝试写入其虚拟磁盘时,主机确实会耗尽磁盘空间。不会覆盖任何内容,因为这只是程序尝试创建太大而无法放入磁盘的文件的典型情况(该程序是您的 VM 软件 - 虚拟机管理程序)。它是连接到正在运行的 VM 的虚拟磁盘这一事实无关紧要,因为从主机的角度来看,它是一个与其他文件没有区别的文件。操作系统的文件系统驱动程序将简单地拒绝写入该文件。虚拟机管理程序如何处理此问题取决于其实现。

房主提供房客空间

再次强调,对于主机来说,虚拟磁盘只是一个文件,它和其他文件一样遵守相同的规则。任何允许写入此文件的进程都可以对其进行任何修改,除非此文件目前被另一个进程锁定为独占写入。

答案2

“永远”是一个非常长的时间,如果有人知道如何从虚拟机访问其他客户机或主机(我知道如何操作),那么当然是可能的。

但是,擦除空间甚至整台机器不会覆盖其范围之外的其他系统。

Windows 和 Linux 客户机有时会删除未使用的空间,但没有任何问题。

我压缩虚拟磁盘(Windows 和 Linux)来恢复已删除的 VM 空间,没有任何问题。

您想要执行的操作(扩展虚拟磁盘或删除虚拟磁盘内的空间)不会损害主机系统或其他客户机。

只要确保你没有用尽实际磁盘空间即可。否则可能会给任何系统带来问题。

轶事记录:我第一次建立虚拟机(Windows 98,我现在仍在 Windows NT4 Workstation 主机上的 VMware Workstation 版本 1 上),Windows 98 安装程序说“我将格式化您的硬盘”

我确实在说“好”之前停顿了一下,所以你的问题非常合理,而且表达得很好。

答案3

虚拟机 (VM) 是否可以覆盖主机磁盘,

虚拟机主机存在安全漏洞,导致客户机脱离其虚拟机,历史和经验告诉我们,这种情况会再次发生。

一旦客户机脱离虚拟机,它就可以执行主机可以执行的任何操作。

或者主机来宾磁盘,

宿主始终拥有完全的控制权,它可以做任何它想做的事情。

或者一个来宾另一个来宾磁盘?

一旦客户机设法摆脱虚拟机,它就可以执行主机可以执行的任何操作,因此这种情况减少到#2。

显然,一个简单的配置错误(将同一个虚拟磁盘以可写模式连接到多个客户虚拟机,或者将主机的物理磁盘以直通模式连接到客户虚拟机)也会破坏所有保护,而无需某种深奥的安全漏洞。

答案4

简短的回答是不能,虚拟机无法覆盖主机系统。虚拟机看到的是硬盘,而主机看到的只是文件。虚拟机及其文件受主机控制。如果允许虚拟机驱动器无限制增长,并且虚拟机驱动器变得太大,那么最终主机会抱怨其驱动器已满,但它不会开始覆盖主机。您可以在主机和虚拟机之间共享文件夹或驱动器,然后从技术上讲它可以覆盖某些内容,但您必须有意设置。所以继续格式化虚拟机的虚拟驱动器。如果您需要绝对安全,一个技巧是先备份主机,这始终是一个好习惯,因为您永远不知道驱动器何时会崩溃并永远丢失。

相关内容