Могу ли я перенести VirtualBox Ubuntu Guest в * настоящий * Hardware Box?

13

Я хочу перенести Ubuntu с «устройства» VirtualBox Guest на настоящий (металлический и чиповый) компьютер?

Можно ли это сделать, и какие шаги предпринимаются?

Peter.O
источник

Ответы:

7

Я бы попробовал это с dd(не забудьте заменить имена устройств, как sdaна имя вашего устройства):

  1. Замените все uuids в вашем /etc/fstabна такие вещи, как /dev/sda1( sda= номер HD назначения!)
  2. update-grub2 && grub-install /dev/sda
  3. Сохраните ваш виртуальный жесткий диск внутри VBox в файл: dd if=/dev/sda /home/user/sda.img
  4. Скопируйте образ на диск (внешний жесткий диск, сетевой ресурс, DVD, ...)
  5. Восстановите образ на целевой диск: dd if=/media/drive/sda.img of=/dev/sda

Самой большой проблемой может быть загрузчик (но даже на этом форуме есть учебники по этому вопросу). Однажды я переустановил загрузчик, выполнив новую установку Ubuntu (предпочтительно ту же, что и ту, которую вы сделали), а затем ddстарый раздел поверх новой установки (в данном случае, только вы dd /dev/sda1, нет /dev/sda, которая также включает в себя загрузчик и все разделы)

sBlatt
источник
Я могу справиться с дд. Я использовал его раньше и знаю, что если не начало условного утверждения :) ... По какой-то причине uuids и grub сбивают меня с толку .. Они, вероятно, довольно просты, но опять же, возможно, я тоже ... Я Вероятно, я буду использовать MBR из новой (фиктивной) установки. Самым большим препятствием для меня является фактическое разделение разделов с виртуальной машины. Как я могу выполнить переход с раздела виртуальной машины на хост?
Peter.O 20.10.10
... немного больше (я пытался отредактировать это в своем предыдущем комментарии, но редактирование было запрещено!? .. еще одна небольшая загадка):. , , Общие папки VirtualBox, кажется, полагаются на Аддоны, которых нет при запуске Live-CD, потому что это требует перезагрузки.
Peter.O 20.10.10
Вы можете добавить в сетевую папку, я сделал это на прошлой неделе, и это было как 30 МБ / с. Если вы устанавливаете общую папку в вашей среде live-cd / windows / linux и активируете мостовую сеть для виртуальной машины, это должно работать.
sBlatt
Кстати: можно скопировать весь Linux-раздел с помощью cp (+ некоторые аргументы, чтобы сохранить permissoins! Очень важно! Я думаю, это был -p или --preserve = all). Я сделал это один раз, чтобы скопировать изображение после изменения размера раздела (поэтому я смонтировал файл dd-Image и сделал cp)
sBlatt
Извините, что так глуп по этому поводу, но я, должно быть, упускаю какую-то невероятно простую мысль ... Все, что я читаю, по-видимому, подразумевает, что NAT позволяет Гостю получать доступ к Хосту по умолчанию (соединение в другом направлении требует соединения). Хорошо У меня было три предположения (больше как тридцать!). Я успешно получил доступ к общим папкам VBox, только когда установлены гостевые дополнения. Я не могу установить эти аддоны в режиме LiveCD, поэтому я снова застрял. Как я могу получить доступ к файлу sysem хоста, подключенному через NAT, от гостя (без аддонов)? Полагаю, мне нужно что-то сделать на хосте, но я не знаю, что это?
Peter.O 20.10.10
1

Не пробовал это сам, но описание выглядит реалистичным достаточно , чтобы попробовать.

Серж Брославский
источник
Статья, которую вы упоминаете, находится на пути, по которому я хочу пойти. Если я проигнорирую его проблемы с Fedora LVM, это почти решит одну из моих проблем: Как получить раздел виртуальной машины в среду Host. Он упоминает инструмент VirualBox VBoxManage, который обеспечивает монтирование необработанного образа диска виртуальной машины на хост. Однако в этой статье есть проблема, поскольку она касается хоста Windows. Имя команды в порядке, но ни один из аргументов не распознается ... но я предполагаю, что то же самое доступно для Linux ... Кто-то знает синтаксис?
Peter.O 20.10.10
Попробуйте запустить «внутренние команды VBoxManage» - он выводит некоторую информацию об использовании. Может показаться достаточным.
Серж Брославский
1

1> сделать tar вашей ОС virtualBox

2> начать с живого дистрибутива

3> распакуйте вашу ОС virtualBox в целевой раздел / s (например, / dev / sda1)

4> сделать раздел загрузочным (fdisk может вам помочь): # fdisk / dev / sda Команда (m для справки): a (a = переключить загрузочный флаг) Номер раздела (1-4): 1 (1 = / dev / sda1) Команда (m для справки): q (q = выход)

5> установить grub в mbr (https://wiki.ubuntu.com/Grub2) # mount / dev / sda1 / mnt / # mount --bind / dev / mnt / dev # mount --bind / proc / mnt / proc # mount --bind / sys / mnt / sys # cd / mnt && chroot. # (chroot) update-grub # (chroot) grub-install / dev / sda (НЕ / dev / sda1!) # (chroot) grub-install --recheck / dev / sdX

6> Наслаждайтесь ...

Даниэле
источник
1
Для того, чтобы очернить мой VirtualBox OS звучит так легко ... но не для меня ... Так , например, Куда мне его смолить? Я предполагаю, что правильный способ заархивировать файловую систему - это не использовать ее ... поэтому я загрузил виртуальную машину через LiveCD ... Это дало мне доступ к диску виртуальной машины через LiveCD's / media ...., но как получить данные из виртуальной машины. Для общих папок VirtualBox требуются гостевые дополнения, для которых требуется перезагрузка, которая перезапускает Live CD в состояние без добавления дополнений ... Или я что-то упустил из общих папок VirtualBox /
Питер .O
Вы можете использовать tar (также rsync) непосредственно в системе, даже если она работает (это Linux ...):
daniele
Вы можете напрямую сменить систему, даже если она работает. Это Linux ;-). Сначала установите эти пакеты: sshfs ( fuse.sourceforge.net/sshfs.htm ) и смонтируйте настоящий каталог внутри virtualbox. Например, вы можете использовать внутри виртуальной коробки, как я уже сказал, pendrive (смонтированный, скажем, в / media / pendrive) следующим образом: # sshfs root@10.0.2.2: / media / pendrive / mnt После tar непосредственно из вашего Запуск виртуального ящика на pendrive (Linux может): # cd / # tar -cvpzf /mnt/backup.tgz --exclude = / proc / --exclude = / lost + found / --exclude = / mnt / --exclude = / sys / /
Даниэль
1

Что именно из установки вы хотите перенести? Если все, что вас волнует, это пользовательские данные и предпочтения, вы, вероятно, можете просто скопировать все из вашего домашнего каталога на виртуальной машине в файловую систему вне виртуальной машины (например, на ключевой диск), скопировать эти файлы в новую версию Ubuntu, а затем переустановите все программы, которые вы установили на ВМ. Зависит от того, насколько сильно вы настроили установку виртуальной машины, и от того, сколько проблем возникнет у других решений.

JPL
источник
Я использую Ubuntu (первый раз пользователь Linux) на реальном оборудовании. Я многому научился , но моя система собрала много беспорядка. Я подправил одну настройку и забыл, где ее установить и т. Д. Моя идея состоит в том, чтобы использовать (минимальный) опыт, который у меня есть, и создать систему параллельных ВМ без ошибок, а затем просто перенести ее на основное оборудование. , Я могу не торопиться и все еще экспериментировать на текущем. Это также хороший "обучающий" проект ... но я чувствую, что откусил немного больше, чем могу пережевывать :) ...
добираюсь
1

Мне нравится использовать rsync для резервного копирования моей системы. Это хорошо для домашнего каталога директории или ect, но может не подходить для полной миграции системы. Чтобы использовать rsync, вам нужно установить Ubuntu в обеих системах. Обновите их так, чтобы пакеты были одинаковыми и находились на одном уровне (это не обязательно, но облегчает задачу). Затем, чтобы скопировать домашний каталог с сервера server1 на server2, вы можете запустить на сервере server1 следующее:

$rsync -avz /home/username/ username@server2:/home/username/

Что мне нравится в этом, так это то, что rsync будет вычислять различия между каталогами и передавать изменения, а не все. Таким образом, вы можете сохранить свою резервную копию, запустив на сервере server2 (для резервного копирования на сервере server1):

$rsync -avz /home/username/ username@server1:/home/username/

НТН

спинлок
источник
Спасибо, я использовал rsync для резервного копирования разделов, не относящихся к ОС (т. Е. Данных, музыки и т. Д.). Мне тоже нравится, как работает rsync; очень эффективный. Моя главная «проблема» в том, что я не знаю, будет ли работать простая копия файла с виртуальной машины на эквивалентные разделы. Например. Как Ubuntu справится с разными ТС. Это автоматически обнаруживает и корректирует при загрузке? Windows, конечно, не будет! и я еще не уверен, как обращаться с точками монтирования: я не хочу rsync мой диск TeraByte через раздел ОС; и GRUB раскручивает меня. Это маленькие забавные вещи, о которых я пока не знаю достаточно ...
Peter.O 20.10.10