VirtualBox - 将分区的 VDI 拆分为单独的 VDI

VirtualBox - 将分区的 VDI 拆分为单独的 VDI

我对 VirtualBox 还很陌生。我设置了一个 Arch Linux VM 和一个 Ubuntu VM(Ubuntu 主机),它们都共享相同的 .vdi,如下所示(我脑海中浮现的是双启动的情况):

VDI file (25GB)
|- /dev/sda1: 5GB (Arch Linux)
|- /dev/sda2:  [Ubuntu]
    |- /dev/sda5 (swap, 1GB)
    |- /dev/sda6 Ubuntu /, 9GB
    |- /dev/sda7 Ubuntu /home, 10GB

我现在意识到我想要双启动类型的设置,我宁愿独立启动每台机器(我最初的想法是/home在 Ubunto 和 Arch 之间共享)。

所以,我的问题是:我可以将 /dev/sda1 和 /dev/sda2 拆分为各自的 .vdi 文件吗所以我可以将它们用作完全独立的机器?我宁愿不必重新安装 Arch(因为我花了很长时间才搞定!)或 Ubuntu(因为我已经做了几 GB 的更新,不想重复做)。

我找不到任何关于这方面的内容——我看到的大多数问题都是关于将 .vdi 转换为主机上的分区,或者将 .vdi 拆分成多个较小的文件(不是独立)或将主机上的分区转换为 .vdi 文件。

干杯。

答案1

我不知道如何分割文件,但你可以尝试创建新的虚拟磁盘,然后将rsync文件或dd块从旧分区移到新分区。像这样:

modprobe nbd max_part=16

qemu-nbd -c /dev/nbd0 /PATH/TO/YOUR/old.vdi
qemu-nbd -c /dev/nbd1 /PATH/TO/YOUR/new.vdi

dd if=/dev/nbd0p1 of=/dev/nbd1p1 bs=512

qemu-nbd -d /dev/nbd1
qemu-nbd -d /dev/nbd0

rmmod nbd

答案2

根据@AnsgarWiecher 对不知道如何拆分文件的评论,我做了以下操作:

在虚拟机中:

  • 选择虚拟机
  • 选择“克隆”和“完整克隆”来创建新的.vdi 文件(但它有 25GB,并且包含双启动设置)。
  • 将这台新机器启动到 Arch,然后删除 Ubuntu 分区。
  • 调整 .vdi 的大小以包含只是Arch 分区

这是新型拱门专用机器。

现在我可以启动到原始(非克隆)双启动机器,并以类似方式从中删除 Arch,这样我最终得到一台仅有 Ubuntu 的机器。

相关内容