VirtualBox 允许您在虚拟机中运行 Linux,并且您经常会发现虚拟磁盘的大小不断增长,即使您已经清除了其中的文件。我将向您展示如何将这些卷缩小到原来的大小、压缩它们并节省磁盘空间。
如果您已将 VirtualBox 与 Windows 来宾系统一起使用(在虚拟机术语中,“来宾系统”是在虚拟机中运行的操作系统) ,您可能已经习惯了 VirtualBox 磁盘卷在删除文件时会缩小,这样它们只会占用物理磁盘上包含文件所需的空间。
这是 VirtualBox 动态分配功能的预期目的,但它不适用于 Linux 客户机。当使用 Linux 来宾时,许多用户发现磁盘增长到其完整大小,然后随着文件从其中删除而永远不会缩小。
这是由于 Linux 管理其文件系统以及与其 VirtualBox 主机交互的方式造成的。当出于性能原因删除文件时,Linux 不会“清零”(用空数据覆盖)文件,因此 VirtualBox 无法判断虚拟磁盘上的哪些数据是活动数据以及哪些数据被删除。
您可以通过自己将数据归零并告诉 VirtualBox 压缩卷,使其恢复到实际大小来解决此问题。这是如何完成的。
要从 Linux 虚拟机的虚拟磁盘回收磁盘空间,您需要做的第一件事是确保启用动态分配。如果不是,您需要将磁盘转换为动态分配的磁盘。
接下来,备份您的虚拟磁盘。如果出现问题(例如命令输入错误,或者过程中途断电),您将面临丢失 Linux 虚拟机中所有数据的风险。
接下来,在 Linux 客户机上的终端中运行以下命令:
sudo dd if=/dev/zero of=/var/deleteme
此命令会将清零(空)数据写入文件 /var/deleteme,直到磁盘完全填满。这将覆盖您之前删除的所有文件,解决 Linux 不会自动覆盖已删除数据的问题。
请小心使用 dd 命令,因为它会在没有警告的情况下覆盖数据!运行命令和路径之前请仔细检查它们。
此过程可能需要一些时间,具体取决于卷的大小,因此请耐心等待,不要中断它。一旦完成,该进程将退出(可能会出现空间不足的错误)。一旦发生这种情况,您可以删除清零文件并关闭 Linux 来宾:
sudo rm -rf /var/deletemesudo shutdown now -h
现在虚拟磁盘上未使用的空间已清零,VirtualBox 将能够通过缩小主机上的空间来回收空间。最后一步是使用 vboxmanage 命令压缩虚拟磁盘映像。通过运行以下命令来执行此操作:
vboxmanage modifymedium disk /path/to/image.vdi -compact
您必须将 /path/to/image.vdi 更改为路径您要压缩的虚拟磁盘的名称。如果您使用的是 Windows,则需要使用 VBoxManage.exe,如下所示:
VBoxManage.exe modifymedium disk /path/to/image.vdi -compact
如果您的 Windows 系统上的命令行无法使用 VBoxManage.exe,请继续阅读有关如何启用它的说明。
这种压缩 VirtualBox Linux guest 虚拟机的方法利用 dd 命令将空文件写入磁盘,以便 VirtualBox 可以识别空空间。
dd(数据复制器)命令转换和复制文件,也可用于写入数据。传递给它的“if”选项提供输入文件(在本例中/dev/zero 提供零值数据或空数据的恒定流)。 “of”选项指定输出文件,并将此零数据流写入其中。这将持续到磁盘已满,因为 /dev/zero 永远不会停止提供空数据。
默认情况下,VBoxManage.exe 在 Windows 命令行上不可用。您可以通过更新 Windows 系统路径以包含 VirtualBox 安装目录来添加它,或者在使用时调用可执行文件的完整路径:
& "C:/Path/To/VBoxManage.exe" modifymedium disk /path/to/image.vdi -compact
“&”符号称为调用运算符,用于执行引用的命令。这允许您在可执行文件的路径中使用空格。
随着来宾的增长,您可以增加或减少其虚拟磁盘的大小。快照可让您获取虚拟机在某个时间点的状态并保存;如果您稍后想要回到当时的情况(例如在测试配置更改后),您可以简单地回滚,一切都会保持原样。
VirtualBox 是一款功能强大的虚拟化工具,专业开发人员可以使用它来构建和测试软件,家庭用户也可以使用它在现代计算机上运行旧软件和游戏,或者运行其他操作系统,而无需购买第二台计算机。您可以在 MacOS、Windows 和 Linux 主机上运行 Windows、Linux、ChromeOS、Android 和其他操作系统。
您的更改已保存
电子邮件已发送
电子邮件已发送
请验证您的电子邮件地址。
发送确认电子邮件您已达到帐户中关注主题的上限。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3