Я хотел бы сохранить свою систему 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 ответ1

0

Самый простой способ установить (или переустановить, или восстановить) 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 (с помощью `exit 'или Ctrl + D, и

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

Ваш новый диск VDI теперь загрузочный, и может быть использован в качестве диска нового Linux VM.

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