我可以将VirtualBox Ubuntu Guest迁移到* real *硬件盒吗?


13

我想将Ubuntu从VirtualBox Guest“设备”转移到真实的(金属和芯片)计算机吗?

能做到吗,涉及哪些步骤?

Answers:


7

我会尝试使用dd(不要忘了sda用您的设备名称替换设备名称):

  1. 用(=目标高清编号!)之/etc/fstab类的东西替换掉您所有的uuid 。/dev/sda1sda
  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(最好与您所安装的Ubuntu)重新安装了引导加载程序,然后dd重新安装了旧分区(在这种情况下,您只有dd /dev/sda1,而不是)/dev/sda,该分区还包括引导加载程序和所有分区)


我可以处理dd。我以前用过它,并且知道如果不是条件语句的开始:) ...由于某种原因,uuid和grub使我感到困惑。它们可能很简单,但后来我可能也是.. '可能会从全新(虚拟)安装中使用MBR。对我而言,最大的障碍是实际上从VM中添加分区。.如何从VM分区中添加到主机?
Peter.O 2010年

...还有一点(我试图将其编辑为以前的评论,但不允许编辑!! ..另一个小谜团):。。。VirtualBox的共享文件夹似乎依赖于Live CD运行中不存在的插件,因为它需要重新启动。
Peter.O 2010年

您可以dd到网络文件夹,我上周做了这个,大约30MB / s。如果您在live-cd环境/ windows / linux中设置了共享文件夹并为VM激活了桥接网络,则应该可以使用。
sBlatt 2010年

顺便说一句:可以用cp复制整个Linux分区(+一些参数以保留permissoins!非常重要!我认为它是-p或--preserve = all)。我这样做一次是为了在调整分区大小之后将映像复制回去(因此我安装了dd-Image文件并执行了cp)
sBlatt 2010年

对此感到很抱歉,但是我必须错过一些难以置信的简单问题……我读到的所有内容似乎都暗示NAT 默认允许来宾访问主机(另一方向的连接需要桥接)。我有三个猜测(大概三十个!)。在安装了Guest Addons后,我才成功访问VBox的共享文件夹。我无法在LiveCD运行中安装这些插件,因此我再次陷入困境。如何从Guest(无附加组件)访问NAT连接的主机的文件sysem?我想我需要在主机上做一些事情,但是我不知道这是什么吗?
Peter.O 2010年

1

没有尝试过这个自己,但描述似乎是足够现实的尝试。


您提到的文章与我想去的地方相似。如果我不理会他的Fedora LVM问题,它几乎可以解决我的问题之一:如何将VM分区放入主机环境。他提到了VirualBox工具VBoxManage,它可以在主机上安装原始VM磁盘映像。但是,本文有一个问题,因为它与Windows主机有关。该命令的名称是好的,但没有args来确认......但我相信同样可用于Linux ......没有人知道的语法?
Peter.O 2010年

尝试运行“ VBoxManage internalcommands”-它会打印出一些用法信息。可能似乎足够。
Serge Broslavsky

1

1>执行您的virtualBox操作系统的tar

2>从现场发行开始

3>在目标分区中解压缩您的virtualBox OS(例如,/ 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的操作系统听起来那么容易......但不适合我......例如,我要把它焦油到哪里?我认为对文件系统进行tar压缩的适当方法是不使用它...因此我通过LiveCD引导了VM。这使我可以通过LiveCD的/ media访问VM的驱动器。如何从VM中获取数据。VirtualBox的共享文件夹需要GuestAddons,这需要重新启动,这会将Live CD重新启动到无附件状态...或者我错过了一些有关VirtualBox的共享文件夹/的问题
Peter .O 2010年

即使系统正在运行,也可以直接对其进行tar(rsync)(这是Linux ...):
daniele 2010年

即使系统正在运行,您也可以直接对其进行压缩。这是Linux ;-)。首先安装以下软件包:sshfs(fuse.sourceforge.net/sshfs.htm)并在virtualbox中安装一个真实目录。例如,您可以按照以下方式在virtualbox内部使用pendrive(在/ media / pendrive中挂载):#sshfs root@10.0.2.2:/ media / pendrive / mnt直接从您的tar之后将virtualbox运行到pendrive(Linux可以):#cd /#tar -cvpzf /mnt/backup.tgz --exclude = / proc / --exclude = / lost + found / --exclude = / mnt / --exclude = / sys / /
daniele 2010年

1

您要从安装中确切迁移什么?如果您只关心用户数据和首选项,则可以将所有内容从VM的主目录复制到VM外部的文件系统(例如,密钥驱动器),然后将这些文件复制到全新的Ubuntu安装中,然后重新安装您在VM上安装的所有程序。取决于您对VM安装进行了自定义的数量,以及此处其他解决方案带来的麻烦。


我在真正的硬件上使用Ubuntu(首次使用Linux的用户)。我已经学到了很多东西,但是我的系统却杂乱无章。我已经调整了一个设置,忘记了设置的位置,依此类推。我的想法是利用我现在所拥有的(最小)经验,构建一个没有错误的并行VM系统,然后将其改组到主要硬件上。我可以花一些时间在它上面,并继续尝试一下。这也是一个很好的“学习”项目...但是我感觉自己咬得比我所能嚼的还多:) ...慢慢到达那里...
Peter.O 2010年

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备份我的非OS分区(即,数据,例如音乐等)。我也很喜欢rsync的工作方式;非常有效。我的主要“问题”是我不知道从VM到等效分区的简单文件复制是否可以正常工作。例如。Ubuntu将如何处理不同的硬件。它会自动检测并在启动时进行调整吗?Windows当然不会!而且我还不确定如何处理挂载点:我不想将TeraByte驱动器跨OS分区同步;和GRUB驱散了我。这些都是小有趣的事情我不太够了解尚未..
Peter.O
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.