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

545
Dalkio

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

0
В каком дистрибутиве работает система Linux? Journeyman Geek 8 лет назад 0
Просто Ubuntu 14.04 LTS Dalkio 8 лет назад 0
Вы уверены, что оригинальная система загружается из / dev / sdb? Можете ли вы описать полную загрузочную цепочку, из-за которой система Linux работает? golimar 8 лет назад 0
Да, я уверен: / dev / sdb представляет мой SDD-диск объемом 24 ГБ, содержащий всю мою систему linux, / dev / sda фактически используется как двойная загрузка для системы Windows. Dalkio 8 лет назад 0
То есть загрузка системы начинается в sda? Если так, как он загружает систему Linux в SDB? golimar 8 лет назад 0
Можете ли вы опубликовать вывод `fdisk -l / dev / sdb`? MariusMatutiae 8 лет назад 0
Я добавил свой вывод / dev / sdb Dalkio 8 лет назад 0
Просьба посмотреть мой обновленный ответ. MariusMatutiae 8 лет назад 0

1 ответ на вопрос

0
MariusMatutiae

The easiest thing to install (or re-install, or repair) GRUB2 on your image is to use another VM running Linux. The alternative, the answer by toh, is rather complicated. If you boot a Linux VM, having plugged into it also your new disk image (besides the VM's own disk), it will be treated not as a file but as a real disk, bypassing the need for the device mapper (see link above).

So, boot another Linux VM, mount your new vdi disk,

 mount /dev/sdb1 /mnt 

and chroot into it:

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

Now you can install grub as follows

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

then leave the chroot environment (by means of `exit' or Ctrl+D, and

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

Your new vdi disk is now bootable, and can be used as the disk of a new Linux VM.

Похожие вопросы