在 VirtualBox 中扩展/调整 Fedora Guest-OS 根驱动器的大小

Klu*_*mbe 5 fedora partition lvm virtualbox

我希望你能帮我解决这个问题:
我的 VirtualBox Guest-OS (Fedora 19) 告诉我,没有足够的可用磁盘空间,所以我首先使用 Windows 命令行增加了 .vdi 文件:

VBoxManage.exe modifyhd "path" --resize 20480
Run Code Online (Sandbox Code Playgroud)

之后 VirtualBox 正确显示了更大的虚拟硬盘。

然后我用 Fedora(以及后来的 Ubuntu 进行测试)-LiveCD 启动了 VirtualMachine,并首先将 LVM 大小设置为 20GB

pvresize /dev/sda2 --setphysicalvolumesize 20G
Run Code Online (Sandbox Code Playgroud)

效果很好,但后来我尝试使用以下方法调整根分区的大小:

lvresize -l+100%FREE -r /dev/fedora/root
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

Extending logical volume root to 16,71 GiB  
device-mapper: resume ioctl on  failed: invalid argument  
Unable to resume fedora-root (253:1)  
Problem reactivating root
Run Code Online (Sandbox Code Playgroud)

之后就无法使用root了。我也尝试用交换分区来做它(找出它是否只是根),但它也不起作用。我试过 lvextend 并没有奏效。在此之后驱动器被暂停,我无法使用重新激活它

lvchange -a y
Run Code Online (Sandbox Code Playgroud)

那里同样的错误。

也许有人可以帮我解决这个问题?我确实有那台机器的备份,所以我总是可以从头开始:-)

Sam*_*man 2

我也有很多类似的烦恼。一些东西:

  • 在机器关闭时调整 VDI 大小
  • fdisk在调整与 LVM 相关的任何内容的大小之前调整分区大小
  • 如果您也有的话,您可能已经将您设置/dev/sda2为超出磁盘末尾/dev/sda1(您使用了完整的 20G /dev/sda2,但它可能不会从 0 开始)

我发现这个页面是最完整的。还有一些可能会觉得方便的答案

我猜您需要缩小/dev/sda2整个pvresizeVDI 的范围/dev/sda,或者稍微增加 VDI。然后您可以使用fdisk,然后像上面一样继续进行 LVM 操作。