Laf*_*tte 4 virtualbox virtual-machine ubuntu
继续调整 virtualbox 卷大小失败, 我使用以下命令来增加我的虚拟机 (Ubuntu) 中的可用空间:
VBoxManage.exe clonehd "c:\users\a_b\VirtualBox VMs\MyBox_default_1510839571239_2193\Box1.vmdk" "C:\Users\a_b\VirtualBox VMs\MyBox_default_1510839571239_2193\clone.vdi" --format vdi
VBoxManage.exe modifyhd "c:\users\a_b\VirtualBox VMs\MyBox_default_1510839571239_2193\clone.vdi" --resize 102400
VBoxManage.exe clonehd "c:\users\a_b\VirtualBox VMs\MyBox_default_1510839571239_2193\clone.vdi" "C:\Users\a_b\VirtualBox VMs\MyBox_default_1510839571239_2193\Box2.vmdk" --format vmdk
Run Code Online (Sandbox Code Playgroud)
过程中没有输出错误。但是,clone.vdi 和 Box2.vmdk 文件的大小都没有增加到 100GB(这应该是我发现问题的第一个线索)。
我将 Box1.vmdk 替换为 Box2.vmdk 作为 VM 使用 VirtualBox GUI 访问的存储。
当我通过 Vagrant 激活并进入 VM 时,我使用以下命令检查了它的大小
df
Run Code Online (Sandbox Code Playgroud)
并看到 VM 可用的空间没有增加。
实际上,两个 VM 可用的大小(“调整大小”之前和之后)是相似的:
框 1:
/dev/mapper/vagrant--vg-root 39625324 13644568 23944840 37% /
Run Code Online (Sandbox Code Playgroud)
框2:
/dev/mapper/vagrant--vg-root 39625324 13644564 23944844 37% /
Run Code Online (Sandbox Code Playgroud)
我应该如何继续实际调整 VM 的大小?如果由于分区需要调整大小导致空间不可用,我应该如何调整它?
使用
sudo resize2fs /dev/mapper/vagrant--vg-root
Run Code Online (Sandbox Code Playgroud)
正如https://askubuntu.com/questions/390769/how-do-i-resize-partitions-using-command-line-without-using-a-gui-on-a-server 中所建议的
仅产量
resize2fs 1.42.13 (17-May-2015)
The filesystem is already 498688 (1k) blocks long. Nothing to do!
Run Code Online (Sandbox Code Playgroud)
和
sudo resize2fs /dev/sda1
Run Code Online (Sandbox Code Playgroud)
产量
resize2fs 1.42.13 (17-May-2015)
The filesystem is already 498688 (1k) blocks long. Nothing to do!
Run Code Online (Sandbox Code Playgroud)
大小没有变化(从使用中可以看出df
)
您的思路中有一些误解,可能是由多层抽象引起的。
默认情况下,虚拟磁盘是稀疏的,即。磁盘文件实际上不会占用虚拟磁盘上未占用的空间。这就是为什么增加虚拟磁盘根本不会影响文件大小的原因——它只是改变了一个指示磁盘大小的数字。
磁盘内容的第一层抽象是分区表。调整 HD 大小的命令并不关心它。它将磁盘视为一系列字节,甚至不知道分区表是什么。
调整磁盘大小后,您必须找到一个了解分区表并调整适当分区大小的工具。
resize2fs
不调整分区大小。还有一层抽象 - 驻留在分区上的文件系统 (FS)。对于所有合理的应用程序,它的大小应该与分区的大小相匹配,但它也可以更小。但是,会浪费额外的空间,因为您无法在 FS 之外存储文件。
什么resize2fs
所做的就是调整文件系统的大小。在没有任何额外参数的情况下运行时,它会调整 FS 大小以使用它所在的整个设备。
resize2fs
也不知道什么是分区。正如我所说,它在设备上运行,即。已知长度的字节序列。分区是一个设备,但硬盘也是。resize2fs
不在乎。它仅适用于文件系统,不适用于分区。
你做了 #1 并尝试了 #3,但忘记了 #2,所以 #3 没有做任何事情。#2 可以使用fdisk
(对于 MBR 分区方案)或 `gdisk(对于 GPT 分区方案)来完成。如果您可以使用具有图形界面的工具,我强烈建议使用 GParted,它适用于两种分区方案,并且可以同时执行 #2 和 #3。
归档时间: |
|
查看次数: |
5861 次 |
最近记录: |