wim*_*wim 307 virtualbox windows-xp hard-drive
我的 WinXP 虚拟机空间不足,我在创建它时只给了 10 GB 空间。有没有一种简单的方法可以将其增加到 20 GB?我在 VirtualBox 设置中看不到任何明显的选项。
下面的建议给出了这个错误
wim@wim-ubuntu:/media/data/winxp_vm$ VBoxManage modifyhd wim.vdi --resize 20000
VBoxManage: error: Cannot register the hard disk '/media/data/winxp_vm/wim.vdi' {46284957-2c09-4e70-8a49-bfbe0f7f681d} because a hard disk '/home/wim/VirtualBox VMs/winxp_vm/wim.vdi' with UUID {46284957-2c09-4e70-8a49-bfbe0f7f681d} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, AccessMode_ReadWrite, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 210 of file VBoxManageDisk.cpp
Run Code Online (Sandbox Code Playgroud)
在调用 VBoxManage 命令之前从 VirtualBox 中删除 .vdi,然后将其重新添加,是成功的。但是现在我无法启动虚拟机,出现这个令人担忧的屏幕:
顺便说一句,它说 FATAL: Could not read from the boot medium! System halted.
在 VBoxManage 命令之后,必须将 vdi 重新附加到 VM。此外,需要从 WITHIN 窗口调整分区大小,因为您将拥有以下空白空间:
我可以使用名为EASEUS Partition Master 9.1.0 Home Edition的免费软件轻松调整分区大小。
Tom*_*man 363
打开终端并导航到包含 VirtualBox 磁盘映像的文件夹,然后使用以下命令:
VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB
Run Code Online (Sandbox Code Playgroud)
用您的图像名称和所需大小替换YOUR_HARD_DISK
和SIZE_IN_MB
。sudo
在某些机器上可能需要,否则您可能会遇到错误。这个答案和更完整的解释在 webupd8 上。感谢安德鲁在那里发布了这个答案。
调整大小后,需要对额外的虚拟硬盘空间进行分区和格式化,以供来宾使用。这可以通过 gparted 从实时 ISO 引导来宾来完成。我们还可以使用 gparted 调整现有分区的大小。为此,我们可能需要禁用/swap
并创建一个新的交换分区。
如果在您的系统中找不到 VBoxManage,只需将路径设置为:
set PATH=%PATH%;"C:\Program Files\Oracle\VirtualBox"
Run Code Online (Sandbox Code Playgroud)
它应该解决路径问题。在设置之前,请确保此路径中存在“VBoxManage”。
len*_*ooh 76
从 VirtualBox 6 开始,我们可以使用 GUI 来调整 VM 的虚拟磁盘的大小。
要访问它,请单击File
->Virtual Media Manager ...
选择您的磁盘,然后单击Properties
。现在只需移动底部的滑块或写下所需的大小值,完成后单击“应用”。
启动虚拟机后,Windows 将无法识别新空间。
在 Windows 中,打开Computer Management
(在开始菜单中搜索),在左侧菜单中选择Storage
-> Disk Management
(在 Windows 10 中,您可以create and format hard disk partitions
直接从开始菜单中找到它)。选择您的分区(可能是 C:),右键单击它,然后选择Extend Volume ...
。现在只需单击向导即可完成。
请注意,如果您的 VM 中有快照,则在您的 VM 上,Windows 可能不会检测到额外空间。要解决此问题,建议您删除快照或(最简单的方法)克隆它并在新快照中执行调整大小。
Ric*_*lli 29
以下对我有用:
VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB
Run Code Online (Sandbox Code Playgroud)
但是,我理解里程会如何变化:-) 至于调整分区大小,在 Windows 7 中,我可以通过右键单击底部面板中的 C: 驱动器并选择扩展卷来调整您显示的屏幕大小。
小智 18
Wim,我认为您需要先从 Vbox 注销它。文件,媒体管理器,单击您的硬盘,然后取消注册。然后再试一次。
sto*_*vik 10
我在移动磁盘时遇到了同样的问题,并用符号链接替换了原始磁盘。这之后工作正常,但是您遇到了“modifyhd”命令的问题,因为这显然在使用它时规范了 vdi 文件的路径。这使您看起来像是在尝试添加具有相同 UUID 但在不同路径上的新磁盘 - 或类似的东西。
有两个问题:
必须从使用它的 VM 中删除该磁盘,然后还要“从 VirtualBox 硬盘列表中”删除该磁盘。这已通过 'closemedium' 命令修复,该命令将其从该列表中删除。
要调整大小的磁盘是“固定磁盘”而不是“动态”,并且只能调整动态磁盘的大小。这是用“克隆”命令修复的(克隆是动态的),然后调整生成的磁盘的大小。
这是我关于它是如何完成的日志。请注意,我在任何时候都不会以 root 身份运行,除非我之后调整分区和文件系统的大小。
从 VM 中删除与磁盘的关联。
问题仍然存在:
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
VBoxManage: error: Cannot register the hard disk '/datadisk/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' {6cd99209-e4db-4178-a6c2-53f9581b1fad} because a hard disk '/home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' with UUID {6cd99209-e4db-4178-a6c2-53f9581b1fad} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp
Run Code Online (Sandbox Code Playgroud)
啊,磁盘仍然“在系统中”:
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID: ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format: VDI
Location: /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State: locked write
Type: normal
Usage: TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)
UUID: 6cd99209-e4db-4178-a6c2-53f9581b1fad
Parent UUID: base
Format: VDI
Location: /home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi
State: created
Type: normal
Run Code Online (Sandbox Code Playgroud)
从 VirtualBox 磁盘列表中移除/删除磁盘(“closemedium”):
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fad
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID: ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format: VDI
Location: /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State: locked write
Type: normal
Usage: TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)
Run Code Online (Sandbox Code Playgroud)
再次尝试调整大小:
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!
Run Code Online (Sandbox Code Playgroud)
该死,“固定尺寸”不起作用!'clonehd' 来救援,因为这会留下一个“动态分配”的克隆磁盘:
virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage clonehd TestInception\ 64\ bit.vdi TestInception\ 64\ bit-cloned.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 8e237500-173b-401a-9e63-9e64da110da9
Run Code Online (Sandbox Code Playgroud)
现在做调整(瞬间):
virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd --resize 8192 TestInception\ 64\ bit-cloned.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Run Code Online (Sandbox Code Playgroud)
然后附加到一些 VM,以调整大小。这是作为 root 完成的。假设您只有一个分区并且可能有交换区。
# fdisk /dev/sdb # <- The extra disk, just attached to be resized
// The procedure looks like this:
// m - print help
// p - print table
// d ... - delete partition (delete both if you have root and swap)
// n - new partition (create root/first partition starting on exact same sector as before, typically 2048, but ends on last, or last minus swap)
// ... n.. (.. then add the swap partition. Calculate how many sectors using original table)
// t - change type of partition (swap partition, if any, to 82 - not 83 which is "normal Linux").
// w - write partition table (write out, with the resized partition)
# e2fsck -f /dev/sdb1
e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 99918/122160 files (0.3% non-contiguous), 471032/487936 blocks
# resize2fs /dev/sdb1
resize2fs 1.42.5 (29-Jul-2012)
Resizing the filesystem on /dev/sdb1 to 1965824 (4k) blocks.
The filesystem on /dev/sdb1 is now 1965824 blocks long.
Run Code Online (Sandbox Code Playgroud)
如果您在 Windows 主机上并尝试增加 Ubuntu 的 VDI 大小,那么以下信息可以帮助您:
获取 vdi 的完整路径,对我来说,它是“D:\VirtualBoxImages\Ubuntu\Ubuntu.vdi”。
运行“标记为已回答”帖子中提到的命令:
"C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd D:\VirtualBoxImages\Ubuntu\Ubuntu.vdi --resize 40000"
Run Code Online (Sandbox Code Playgroud)
上面,“C:\Program Files\Oracle\VirtualBox”是我的Windows Virtual Box安装文件夹的位置,上面命令中的40000是40GB。
完成上述步骤后,重启Ubuntu VM。
转到“磁盘”
调整现有分区的大小以使其为 40 GB:
然后您可以从“存储”中确认上述操作是否有效:
小智 5
这对安装在 Ubuntu 16.04 主机和 Windows 10 客户机上的 Virtualbox 5.2.6 有效:打开 Virtualbox Manager,单击 Global Tools(右上角)并选择 Virtual Media Manager。单击硬盘选项卡并选择您的来宾操作系统。在框的底部单击“属性”选项卡。在底部您可以看到虚拟磁盘的大小,您可以使用滑块根据自己的喜好增加大小。(使用此方法只能增加大小,不能减小大小)。单击应用。启动您的 Windows 客户机操作系统,打开计算机管理,右键单击 C: 驱动器,然后选择扩展卷以使用未分配的部分扩展文件系统。
这就是我所要做的,非常适合我。
归档时间: |
|
查看次数: |
636866 次 |
最近记录: |