Невозможно экспортировать физическую систему Linux в VirtualBox VM

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

Мне удалось создать файл правильного формата (.vdi) с помощью этих команд:

sudo dd if=/dev/sdb of=/media/HDD/disk.img
VBoxManage convertdd disk.img disk.vdi --format VDI

Я также смог достичь этого с помощью этой линии:

sudo dd if=DRIVE | VBoxManage convertfromraw stdin FILENAME.vdi BYTES

Однако, когда я открываю сгенерированный файл VDI как существующий жесткий диск в VirtualBox, при каждой попытке загрузки отображается одна и та же ошибка: no bootable medium found.

Я также попробовал другое решение с помощью инструмента CloneZilla, работающего на активном USB-ключе; Мне удалось создать образ моей системы и сохранить его на внешнем жестком диске.

Этот образ не распознается, когда я продолжаю восстановление на моей виртуальной машине. Устройство USB, содержащее изображение, не отображается в списке разделов.

Вот мой вывод / dev / sdb:

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sdb: 24.0 GB, 24015495168 bytes
255 heads, 63 sectors/track, 2919 cylinders, total 46905264 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7ef857ad

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1    46905263    23452631+  ee  GPT

И UUID здесь /boot/grub/grub.cfg совпадает с / etc / fstab в /dev/sdb1.

1 ответ

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

Итак, загрузите другую виртуальную машину Linux, смонтируйте новый диск vdi,

       mount /dev/sdb1 /mnt

и chroot в это:

   mount -o bind /proc /mnt/proc
   mount -o bind /sys  /mnt/sys
   mount -o bind /dev  /mnt/dev
   cd /mnt; chroot . 

Теперь вы можете установить Grub следующим образом

   grub-install /dev/sdb
   update-grub /dev/sdb

затем оставьте chroot окружение (с помощью `выхода 'или Ctrl + D, и

  umount /mnt/dev
  umount /mnt/proc
  umount /mnt/sys
  umount /mnt

Ваш новый vdi-диск теперь является загрузочным и может использоваться как диск новой виртуальной машины Linux.

Другие вопросы по тегам