如何缩小virtualbox虚拟机并释放磁盘空间

默认情况下,VirtualBox会创建动态磁盘,这些磁盘会随着您添加数据的时间而增长。但是,如果稍后从虚拟机中删除数据,您会注意到磁盘不会自动收缩。但您可以使用隐藏命令手动收缩动态磁盘。...

如何缩小virtualbox虚拟机并释放磁盘空间

默认情况下,VirtualBox会创建动态磁盘,这些磁盘会随着您添加数据的时间而增长。但是,如果稍后从虚拟机中删除数据,您会注意到磁盘不会自动收缩。但您可以使用隐藏命令手动收缩动态磁盘。

相关:初学者极客:如何创建和使用虚拟机

请记住,这只会缩小磁盘,如果它的大小增长,你已经删除了数据。所以,如果你只是创建了一个动态磁盘,这不会缩小它。但是,如果您创建了一个动态磁盘,将10gb的数据下载到其中,然后删除了10gb的数据,那么您应该能够将磁盘缩小10gb左右。

第一步:确保使用的是动态磁盘

此过程仅适用于动态磁盘,动态磁盘的大小可能会增大或减小。动态磁盘可能会达到某个最大大小(例如50 GB),但它们实际上只有在包含那么多数据时才会增长到该最大大小。固定大小的磁盘将始终是其最大大小。

相关:如何在VirtualBox中在固定磁盘和动态磁盘之间转换

如果您有一个要缩小的固定大小的磁盘,可以先将其转换为动态磁盘,然后按照以下说明操作。例如,如果您的固定磁盘大小为50GB,且其上只有20 GB的数据,并且将其转换为动态磁盘,则应能够将其缩小,以仅占用20 GB的空间。

要在VirtualBox中检查磁盘是动态的还是固定大小的,请右键单击使用该磁盘的虚拟机并选择“设置”。单击“存储”选项卡并选择磁盘。您将看到“详细信息”旁边显示的是什么类型的磁盘。例如,在下面的屏幕截图中,“动态分配的存储”表示这是一个动态磁盘。

如何缩小virtualbox虚拟机并释放磁盘空间

第二步:将零写入虚拟机中的磁盘

在继续之前,请确保删除虚拟机内磁盘上不再需要的任何数据以释放空间。删除不需要的文件,卸载不再使用的程序,清空回收站。然后,您需要用零覆盖该空白。

对于windows来宾操作系统

如果在虚拟机中安装了Windows,现在应该启动虚拟机并对其磁盘进行碎片整理。在虚拟机中,在“开始”菜单中搜索“碎片整理”,然后启动“磁盘碎片整理程序”或“碎片整理和优化驱动器”工具。选择要压缩的磁盘,然后单击“磁盘碎片整理”。

如何缩小virtualbox虚拟机并释放磁盘空间

碎片整理过程完成后,需要将零写入虚拟机内的空白空间。删除文件时,删除的数据仍存储在磁盘上,因此VirtualBox无法自动收缩驱动器。但是,当您在已删除的文件上写入零时,VirtualBox将看到大量的零空间,换句话说,它可以压缩磁盘。

为此,请从Microsoft下载SDelete实用程序。提取删除.exe将文件保存到计算机上的文件夹中。

如何缩小virtualbox虚拟机并释放磁盘空间

打开命令提示窗口。为此,请打开“开始”菜单,搜索“命令提示符”,然后启动快捷方式。

如何缩小virtualbox虚拟机并释放磁盘空间

更改到包含删除.exe键入cd,按空格键,输入目录路径,然后按Enter键。如果路径包含空格字符,请确保用引号将其括起来。应该是这样的:

cd "C:\path\to\folder"

例如,如果提取删除.exe文件到用户帐户的下载文件夹,Windows用户名为Bob,您将运行以下命令:

cd "C:\Users\bob\Downloads"

要快速填充目录路径,只需在命令提示符窗口中键入cd,按空格键,然后从文件管理器的地址栏拖放文件夹图标。

如何缩小virtualbox虚拟机并释放磁盘空间

运行以下命令:

sdelete.exe c: -z

这将向驱动器C:上的所有可用磁盘空间写入零。如果要缩小虚拟机中位于不同驱动器号的辅助驱动器,请键入其驱动器号,而不是c:。这就是工具的设计目的。正如微软网站上的SDelete页面所指出的那样,-z选项“有利于虚拟磁盘优化”。

在继续之前,将要求您同意该工具的许可协议。只需点击“同意”。

如何缩小virtualbox虚拟机并释放磁盘空间

等待进程完成。完成后,使用“开始”菜单中的“关机”选项关闭虚拟机。您现在可以压缩它了。

如何缩小virtualbox虚拟机并释放磁盘空间

对于linux来宾操作系统

如果在虚拟机中安装了Linux—Linux来宾操作系统而不是Windows来宾操作系统,换句话说,您可以跳过碎片整理过程,并使用内置命令将驱动器上的可用空间归零。这里我们将使用Ubuntu作为示例,但在其他Linux发行版上的过程将类似。

为此,首先需要在虚拟机中安装zerofree实用程序。它应该在Linux发行版的软件存储库中可用。例如,您可以通过在虚拟机内的终端运行以下命令将其安装到Ubuntu上:

sudo apt install zerofree

如何缩小virtualbox虚拟机并释放磁盘空间

当您引导到标准Linux环境时,您不能在/partition上使用zerofree。相反,您需要引导到一种特殊的恢复模式,在这种模式下您的普通根分区不会被挂载。在Ubuntu上,重新启动虚拟机,并在启动时反复按“Esc”键以访问Grub菜单。当Grub菜单出现时,选择“*advancedpopti*** for Ubuntu”并按回车键。

如何缩小virtualbox虚拟机并释放磁盘空间

选择与最新的Linux内核相关联的“(recovery mode)”选项,即列表顶部具有最高版本号的选项,然后按Enter键。

如何缩小virtualbox虚拟机并释放磁盘空间

在恢复菜单中选择“root”以引导到root shell提示符。

如何缩小virtualbox虚拟机并释放磁盘空间

当屏幕上出现“Press Enter for maintenance”时,按“Enter”。您将得到一个终端提示。

如何缩小virtualbox虚拟机并释放磁盘空间

在命令行中,通过运行以下命令确定要归零的虚拟磁盘:

df

在下面的输出中,我们可以看到/dev/sda1是我们这里唯一的实际磁盘设备。我们知道,因为它是最左边列中唯一一个/dev/的磁盘。

假设您的虚拟机是使用默认设置创建的,它将只有/dev/sda1,这是第一个硬盘驱动器上的第一个分区。如果对多个磁盘或多个分区进行了不同的设置,则可能需要将另一个分区或多个分区归零。

如何缩小virtualbox虚拟机并释放磁盘空间

现在您可以将磁盘归零了。运行以下命令,将/dev/sda1替换为要向其写入零的分区的设备名。大多数人只会将/dev/sda1设备设置为零。

zerofree -v /dev/sda1

如何缩小virtualbox虚拟机并释放磁盘空间

归零进程完成后,运行以下命令关闭虚拟机:

halt

如何缩小virtualbox虚拟机并释放磁盘空间

当您在屏幕上看到“系统暂停”消息时,系统已暂停,您现在可以关闭虚拟机。关闭虚拟机窗口并选择“关闭虚拟机电源”。

如何缩小virtualbox虚拟机并释放磁盘空间

第三步:查找vboxmanage命令

其余的过程将在虚拟机之外的主机操作系统上执行。例如,如果您的PC上运行Windows10,而虚拟机上运行Windows7,那么您将在Windows10上执行其余的过程。

VirtualBox的图形界面中没有显示此选项。相反,你必须使用VBoxManage.exe命令。

找到此命令以继续。在Windows上,您可以在VirtualBox程序目录中找到它,默认情况下是C:\program Files\Oracle\VirtualBox。如果您已将VirtualBox安装到另一个目录,请查看该目录。

如何缩小virtualbox虚拟机并释放磁盘空间

打开命令提示窗口。为此,请打开“开始”菜单,键入cmd并按Enter键。

如何缩小virtualbox虚拟机并释放磁盘空间

在命令提示符中键入cd,然后输入VBoxManage命令所在文件夹的路径。你需要用引号括起来。

您可以通过在命令提示窗口中键入cd,然后将文件夹图标从文件管理器的地址栏拖放到命令提示符中来快速完成这一操作。

如何缩小virtualbox虚拟机并释放磁盘空间

如果使用的是默认路径,则应如下所示:

cd "C:\Program Files\Oracle\VirtualBox"

如何缩小virtualbox虚拟机并释放磁盘空间

注意:这些说明假设您在Windows上使用VirtualBox。如果您在macOS或Linux上使用VirtualBox,您只需打开一个终端窗口并正常运行vboxmanage命令,就像其他任何命令一样。

如何缩小virtualbox虚拟机并释放磁盘空间

第四步:找到要压缩的磁盘的路径

在命令提示符窗口中运行以下命令以查看计算机上所有虚拟硬盘的列表:

VBoxManage.exe list hdds

如何缩小virtualbox虚拟机并释放磁盘空间

查看列表并确定要压缩的虚拟磁盘的文件路径。假设我们要修改与名为“Windows7”的虚拟机关联的虚拟磁盘。正如我们在下面的输出中所看到的,到我们系统上的虚拟磁盘的路径是C:\Users\chris\VirtualBox VMs\windows7\windows7.vdi。

如何缩小virtualbox虚拟机并释放磁盘空间

第五步:压缩磁盘

要压缩磁盘,您需要使用VBoxManage.exe用正确的命令。只需运行以下命令,将磁盘VDI文件的路径替换为使用上述命令找到的系统上磁盘的路径。如果文件路径中的任何地方都包含空格,请确保将文件路径用引号括起来。

应该是这样的:

VBoxManage.exe modifymedium disk "C:\path\to\disk.vdi" --compact

例如,在我们的示例中,由于文件的路径是C:\Users\chris\VirtualBox VMs\Windows 7\Windows 7.vdi,因此我们将运行以下命令:

VBoxManage.exe modifymedium disk "C:\Users\chris\VirtualBox VMs\Windows 7\Windows 7.vdi" --compact

如何缩小virtualbox虚拟机并释放磁盘空间

VirtualBox将压缩磁盘,如果您愿意,您可以在之后立即启动虚拟机。您最终节省了多少空间取决于要恢复的空间大小。

还要考虑删除快照

相关:如何在VirtualBox中使用快照来节省时间

VirtualBox允许您为每个虚拟机创建快照。它们包含创建快照时虚拟机的完整映像,允许您将其还原到以前的状态。这些会占用很多空间。

要释放更多空间,请删除不使用的快照。要查看为虚拟机保存的快照,请在VirtualBox主窗口中选择它,然后单击工具栏上详细信息右侧的“快照”按钮。如果不再需要快照,请在列表中右键单击它,然后选择“删除快照”以释放空间。

如何缩小virtualbox虚拟机并释放磁盘空间

  • 发表于 2021-04-07 14:42
  • 阅读 ( 240 )
  • 分类:互联网

你可能感兴趣的文章

如何使用virtualbox:用户指南

... 有了VirtualBox这样的虚拟机,您可以虚拟地安装多个操作系统,而无需购买任**硬件。 ...

  • 发布于 2021-03-12 18:26
  • 阅读 ( 394 )

如何在macos上运行android应用程序

... 在本指南中,我们将介绍最佳解决方案——VirtualBox——以及一些您可能希望探索的其他方法。 ...

  • 发布于 2021-03-15 05:14
  • 阅读 ( 442 )

如何在virtualbox虚拟机上安装windows 7

... 一种选择是在VirtualBox虚拟机中安装Windows7。将Windows7安装为虚拟机可以提高安全性。你是这样做的。 ...

  • 发布于 2021-03-20 07:33
  • 阅读 ( 378 )

如何在virtualbox上安装ubuntu

...何尝试Ubuntu呢?答案是一个虚拟机-你可以用免费的Oracle VirtualBox在几秒钟内创建一个。 ...

  • 发布于 2021-03-30 02:31
  • 阅读 ( 257 )

如何在Windows10上的virtualbox中安装macos high sierra

...是很有用的。不幸的是,你不应该这么做,所以让macOS在VirtualBox中运行,至少可以说,是很棘手的。 Update: The instructi*** here apply to older versi*** of macOS. If you want to install a newer version of macOS in VirtualBox, check out this script on GitHub. It pr...

  • 发布于 2021-04-07 03:56
  • 阅读 ( 187 )

如何在虚拟机中安装Windows95

...机 相关:初学者极客:如何创建和使用虚拟机 我们将在VirtualBox中完成这项工作,它是完全免费的,可以在Windows、macOS和Linux上使用。您可以在其他虚拟机程序(如VMware)中执行此操作,但配置虚拟机软件的过程会有点不同。 安...

  • 发布于 2021-04-07 04:47
  • 阅读 ( 209 )

如何缩小vmware虚拟机并释放磁盘空间

...放空间。 首先,确保您没有使用预分配的磁盘 相关:如何在VMware中的预分配磁盘和可扩展磁盘之间转换 此过程仅适用于可增长或“稀疏”磁盘。预先分配的磁盘总是它们的最大大小。如果您有一张要压缩的预分配磁盘,则需...

  • 发布于 2021-04-07 13:01
  • 阅读 ( 409 )

如何在virtualbox中安装android

...你的整个电脑来完成任务,最好的选择是在虚拟机上使用VirtualBox运行它。它实际上很容易设置,几分钟内就能为您提供完整的Android体验。让我们做这件事。 相关:如何在你的电脑上运行Android 您需要做以下几件事才能开始: ...

  • 发布于 2021-04-07 14:27
  • 阅读 ( 182 )

如何并行释放磁盘空间

...,缩小虚拟硬盘,使其在Mac上使用更少的空间。 相关:如何在Mac上无缝运行Windows程序 Parallels包含一个有用的向导,它将引导您完成此任务。要打开它,请启动Parallels,选择要释放空间的虚拟机,然后单击“文件”>“释...

  • 发布于 2021-04-07 22:37
  • 阅读 ( 192 )

如何使用hyper-v创建和运行虚拟机

...,其中包含可用于控制虚拟机的选项。如果您曾经使用过VirtualBox或vmwareplayer,它应该看起来很熟悉。通过正常的安装过程在虚拟机中安装来宾操作系统。 安装完操作系统后,单击“操作”>“**Integration Services安装盘”。打开Wi...

  • 发布于 2021-04-11 06:52
  • 阅读 ( 294 )
ugv65324
ugv65324

0 篇文章

相关推荐