2

Я очень новичок в 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 (потому что я уже сделал несколько ГБ обновлений и не хочу их переделывать).

Я не смог ничего найти по этому поводу - большинство вопросов, которые я вижу, касаются преобразования .vdi в раздел на хосте, или разбиения .vdi на несколько небольших файлов (которые не являются независимыми), или преобразования раздела на хост для файла .vdi.

веселит.

2 ответа2

3

Я не знаю, как разделить файл, но вы можете попробовать создать новые виртуальные диски, а затем 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 (хотя он имеет размер 25 ГБ и содержит настройки двойной загрузки).
  • Загрузите эту новую машину в Arch и удалите разделы Ubuntu.
  • Измените размер .vdi, чтобы он содержал только разделы Arch.

Это новая машина только для арок.

Теперь я могу загрузить исходную (не клоновую) машину с двойной загрузкой и аналогичным образом удалить из нее Arch, чтобы в итоге я получил машину только с Ubuntu.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .