Невозможно экспортировать физическую систему 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.