Можно ли «виртуализировать» существующий ПК?


30

Я использую Ubuntu Desktop 12.04, и мне было интересно, можно ли каким-то образом взять всю мою файловую систему (все под ней /) и создать из нее ISO. Затем, возможно, используйте этот ISO в качестве файловой системы виртуальной машины VBox (очевидно, это должна быть Ubuntu и, вероятно, 12.04).

По сути, я потратил много времени на настройку своего компьютера для разработки, но мне нужно иметь возможность работать на нем с любого компьютера, на котором я бываю. Виртуальные машины кажутся идеальным решением. Заранее спасибо!



7
Другая возможность (которую рекомендуют мои профессиональные друзья) - организовать все эти конфигурационные файлы таким образом, чтобы вы могли запустить git-репозиторий, запустить .sh и получить практически любую машину, готовую к работе.
Майки

Ответы:


12

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

Тем не менее, есть ли причина, по которой вы не можете просто открыть VNC или SSH доступ к существующему устройству разработчика и получить к нему удаленный доступ? Если возможно, это может быть более простой вариант - по крайней мере, это избавит вас от некоторых страданий каждый раз, когда вы захотите использовать устройство dev с новой машины.

Надеюсь это поможет!


Спасибо @Aaron Miller (+1) - какой инструмент резервного копирования вы можете порекомендовать, и как он работает? Сохраняет ли он весь мой компьютер в какой-то файл, который затем можно использовать для перезаписи всей файловой системы на ВМ? Еще раз спасибо!
pnongrata

1
Рад помочь! Что касается инструмента резервного копирования - man tarэто то, что я бы порекомендовал здесь; возможно, это не самый приятный интерфейс, но если вы просто запустите tar / on box для разработчиков (избегая / proc, / sys, / dev и / root с помощью опции --exclude) и распакуете результат на вашем ВМ, вы, вероятно, будете о том, что вам нужно. (Я бы, однако, усердно подумал о том, можно ли просто перенести материал для разработки, не касаясь остального - например, скопировать / home / username и сделать остальное с помощью apt, например. Всегда лучше сделать Наименьшее количество работы необходимо, я говорю.)
Аарон Миллер

2
Хотя это предложение очень информативное и полезное, оно должно быть комментарием, а не ответом. Это не отвечает на вопрос.
dotancohen

27

Вы можете записать свой HD в изображение, а ddзатем преобразовать изображение в VMDK или что-то еще.

apt-get install qemu (устанавливает QEMU в Debian / Ubuntu)

qemu-img convert imagefile.dd -O vmdk vmdkname.vmdk

взяты из: здесь


Не знаю точно, сработает ли это, но +1, и я собираюсь попробовать.
Майки

1
Вы также можете использовать изображение в VirtualBox. Ubuntu обычно устанавливает драйверы для различного оборудования (в отличие от Windows), что делает его более переносимым, так что это обычно будет работать.
Механическая улитка

2
Это будет не просто работать. Файл / etc / fstab - это файл, который ваша система читает, чтобы узнать, куда и где монтируются диски. Диски хранятся в UUID, и когда вы создаете новый диск, это будет не так. Вам нужно будет отредактировать этот файл в новой системе, чтобы это исправить. Также сетевые карты будут переименованы (что произойдет в любом случае.)
korylprince

Также, чтобы создать образ, вы должны запустить live cd с не смонтированным диском. Сохраните изображение на другом диске.
Нихил

10

Я делал это ранее на компьютере с Windows XP, но, думаю, вы можете сделать это и в Ubuntu. Но он использует vmware, а не virtualbox...

Установите vmware-converter(бесплатный продукт) в вашу коробку Ubuntu. Затем преобразуйте физическую систему в виртуальную систему после настройки параметров конфигурации.

После этого у вас есть виртуализированное изображение, с которым можно «поиграть» vmplayer.


1
VirtualBox сможет использовать VMDK, созданные таким образом.
bfhd

Не очень хорошо работает, вам нужен сервер vmware в сети, в который он экспортирует образ. Мне не повезло с этим.
Нихил

5

Другим вариантом может быть клонирование вашей ОС в образ диска VirtualBox:

vboxmanage createhd --filename foo.vdi --size 10240

modprobe nbd max_part=16
qemu-nbd -c /dev/nbd0 foo.vdi

# create a partition (will automatically produce a new device /dev/nbd0p1)
sfdisk -D /dev/nbd0 <<EOF
,,L,
EOF

mkfs -t ext2 /dev/nbd0p1
mount -o loop /dev/nbd0p1 /mnt

# clone your OS
rsync -aH --exclude mnt --exclude dev --exclude proc --exclude sys / /mnt/

# install the boot loader on the virtual disk
mount --bind /dev /mnt/dev
chroot /mnt grub-install /dev/sda

umount /mnt
qemu-nbd -d /dev/nbd0

rmmod nbd

4

Так что есть один из двух способов сделать это. Чтобы сделать ISO напрямую, вы должны использовать Remastersys. Это инструмент, который позволит вам создать ISO текущей системы. Затем вы можете загрузиться с ISO и получить это enviornemtn как LiveCD. Хорошее руководство можно найти здесь .

Если вы хотите создать VHD (виртуальный жесткий диск) из физического диска, единственным известным мне инструментом будет disk2VHD . Это инструмент только для Windows. Тем не менее, вы также можете использовать инструмент Linux dd. Существует хороший учебник для этого нашел здесь .


4

Скопировано из ( http://karim-ouda.blogspot.com/2011/11/how-to-create-virtualbox-image-from.html )

sudo dd if=DRIVE | VBoxManage convertfromraw stdin FILENAME BYTES

Реальный пример

sudo dd if=/dev/sda | VBoxManage convertfromraw stdin MyLinuxImage.vdi 120034123776

Заметки:

  1. Чтобы получить количество байтов в разделе, вы можете использовать следующую команду sudo fdisk -l /dev/sda

  2. Вам нужно использовать / dev / xxx, а не / dev / xxx1 или xxx2, чтобы изображение содержало записи MBR


0

Для начала вы можете создать образ диска с помощью утилиты partimage в интерфейсе командной строки. После этого я думаю, что вы сможете загрузить только что созданный ISO с VMware.

Использование Partimage Если вы используете Ubuntu 12.04 или даже 11.04, Partimage должен быть доступен в программном центре Ubuntu. Этот метод установки позволит вам легко искать и устанавливать выбранное программное обеспечение.

Шаг 1. Откройте Центр программного обеспечения Ubuntu и найдите строку поиска в верхнем правом углу окна. Введите «partimage» в строке поиска и нажмите клавишу ввода. Первым отобразится пакет программного обеспечения partimage. Из этого поиска также возвращаются partclone (утилита для клонирования и восстановления раздела), partimage-server (используйте partimage в сети) и partimage-doc (пользовательская документация образа раздела). Вы можете нажать «Установить» и позволить программному центру установить пакет для вас.

Шаг 2. Откройте Терминал и введите следующую команду «sudo partimage», затем введите свой пароль и нажмите Enter.

Шаг 3. После ввода пароля приложение Partimage должно отобразиться в окне терминала.

Шаг 4. Понимание доступных опций.

* Partition to save/restore -  A list of all available partitions on all drives able to be backed up from or restored to. You may only choose to operate on one partition at a time. 
* Image file to create/use - If creating a new image file enter the path and file name where the created back up will be written. If using an image file to restore a partition or drive enter the path to the mounted drive where the file is located. 
Action to be done: 
    (*) Save partition into a new image file - Choosing this option will tell Partition Image to create a backup .img file from the partition selected in "Partition to save/restore", and write the file to the path entered in "Image file to create/use."
    (  ) Restore partition from an image file - This option will write the image file from the path entered under "Image file to create/use", and write it to the partition and/or drive selected under "Partition to save/restore."
    (   ) Restore an MBR from the image file - This will restore the MBR to the drive selected under "Partition to save/restore" to the image file contained in the path under "Image file to create/use."
[  ] Connect to server - This option will allow you to connect to a remote server to read or write an image file.

Шаг 5. Этот экран довольно понятен. Сначала вы захотите выбрать желаемый уровень сжатия, если он есть. Вы также можете изменить способ разделения изображения в процессе записи. Режим по умолчанию - создание файлов 2 ГБ. Последний вариант дает Part Image инструкции о том, что делать, если он успешно завершает работу. Выберите, какой вариант наиболее подходит для вашей ситуации.

http://www.ubuntulinuxguide.com


Вы пробовали свое решение?
user66001
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.