我需要从现有freebsd 8.2 pre-release i386
机器中创建一个虚拟机(VirtualBox)。
我需要复制完全相同的环境,但无法从头开始重建,因为 FreeBsd 8.2 PreRelease 已停产。
我从来没有这样做过,而且我还没有找到好的线索。
经典的工作流程是什么?
答案1
您可以使用 netcat 来完成此操作(ssh 也可以;但我假设旧机器和新机器都位于同一个“安全”LAN 上)。
简要地:
- 使用您的磁盘空间等构建您的虚拟机。
- 引导至 FreeBSD 安装 DVD(可能与哪个版本无关)。
- 使用安装后选项对驱动器进行分区和格式化(它们不一定必须具有相同的大小,只要它们足够大以容纳您的数据即可)。别忘了交换。
- 添加引导块(我还没有为 EFI 执行此操作,但您的 VM 可能仍然支持 MBR,我已经成功完成了几次)
- 启动“Fixit shell”
将新文件系统挂载到某处
Fixit# mkdir /mnt/root Fixit# mount /dev/da0s1a /mnt/root
获取一个网络地址(
ifconfig
,或者dhclient
根据您的喜好 - 您过去必须/var/db
先创建dhclient
才能工作;但我认为这不再是必要的?)在你的新机器上启动一个 netcat 监听器:
Fixit# cd /mnt/root Fixit# nc -l 80 | tar -xvf -
在旧机器上,
cd
root 并开始将文件输出tar
到新机器。# cd / # tar -cvf - . | nc 10.20.0.102 80
对每个文件系统重复此操作
/etc/fstab
例如,如果您的旧硬件具有 IDE 驱动器而新硬件是 SCSI,则您可能必须在新计算机上进行编辑。
您可以选择:
- 为命令添加压缩
tar
(-z
或-j
根据您的喜好) - 使用
dd
而不是tar
.我从未尝试过,但它应该有效。如果您使用,dd
您可能不必对新磁盘进行分区或格式化;但它们的尺寸必须相同或更大。