(mods/admins/etc:这可能属于也可能不属于 Stack Overflow,如果把它放在这里是个错误,请告诉我。)
我是那种总是担心磁盘空间不足的人,所以当我的硬盘(Windows 机箱)已满 50% 时,我决定是时候扩展了。我愚蠢地选择使用第二块硬盘和主板附带的 Intel Matrix 假 RAID 来实现这一点。第二块硬盘更大,因此没有使用满空间。对此不满意,我购买了另一块与第二块相同型号的硬盘,并试图在不破坏 RAID 0 和丢失所有内容的情况下将其转移到第二块硬盘上。
我发现一个程序宣称它能够将整个硬盘或其中的一个分区备份为四种格式之一,其中就包括 .vmdk。我告诉它备份假 RAID 所说的可用分区,.vmdk 成功在 VirtualBox 中启动。几个月来我一直在重复这样做,直到最近我才真正想到要找出虚拟机认为的硬盘是什么。似乎当我告诉程序备份使用的分区(即实际硬盘)时,程序会强制自己备份整个硬盘,即整个 RAID 阵列。
这本来应该很好,但整个 RAID 阵列的总容量比第三块硬盘的容量大 0.2 TiB 多一点。由于其中大部分都未使用,我试图将其切断,然后我可以将其迁移到第三块硬盘,然后重新进行 RAID。
我正在使用 Ubuntu Live CD 对备份驱动器进行操作。我已将备份从 .vmdk 转换为 .vdi(两个磁盘在 VirtualBox 中均可正常启动),我已将其转换为原始文件并尝试将其 dd 到新驱动器(报告空间不足,磁盘拒绝启动)。
VBoxManage 对减小尺寸没有帮助,而且我发现有些地方说这是不可能的。似乎我能减小的唯一尺寸是主机看到的尺寸,这是有问题的,因为整个问题在于削减驱动器的逻辑尺寸。
我究竟怎样才能让逻辑驱动器适合 1 TB?
答案1
我在 VirtualBox 论坛上发起了一个主题,其中我被要求创建一个所需的较小尺寸的新虚拟驱动器并克隆到该驱动器上:
vboxmanage clonehd /path/to/old /path/to/new --existing
这次成功了,我的虚拟驱动器在 VirtualBox 下正常启动。物理驱动器上的情况则不同,我遇到了 winload.exe 错误,但虚拟驱动器现在可以安装在物理驱动器上。