FreeBSD 虚拟化专家的问题。我发现一些教程解释了如何在 bhyve(FreeBSD 的虚拟化引擎)中安装 Ubuntu,但在格式化虚拟磁盘后它失败了。有人在 Ubuntu 16.04 LTS 上成功了吗?这是我的启动脚本:
#!/bin/sh
LOADER=/usr/sbin/bhyveload
BHYVECTL=/usr/sbin/bhyvectl
FBSDRUN=/usr/sbin/bhyve
DEFAULT_MEMSIZE=2048M
DEFAULT_CPUS=2
DEFAULT_TAPDEV=tap5
DEFAULT_CONSOLE=/dev/nmdm5A
DPY="w=1024,h=768"
UEFI=/usr/local/share/uefi-firmware/BHYVE_UEFI.fd
DEVICESMAP="/home/bhyve/ubuweb/devices.map"
DEFAULT_VIRTIO_DISK="/home/bhyve/ubuweb/ubuweb.img"
DEFAULT_ISOFILE="/home/bhyve/ISO/ubuntu-16.04-server-amd64.iso"
case $1 in
install)
bhyvectl --vm=ubuntu --destroy
grub-bhyve -r cd0 -m ${DEVICESMAP} -M 2048 ubuntu
bhyve -c ${DEFAULT_CPUS} -m ${DEFAULT_MEMSIZE} -H -P -A \
-l com1,${DEFAULT_CONSOLE} \
-s 0:0,hostbridge \
-s 1:0,lpc \
-s 2:0,virtio-net,${DEFAULT_TAPDEV} \
-s 3,ahci-cd,${DEFAULT_ISOFILE} \
-s 4,virtio-blk,${DEFAULT_VIRTIO_DISK} \
-s 5,fbuf,tcp=0.0.0.0:5900,$DPY \
ubuntu
;;
*)
bhyvectl --vm=ubuntu --destroy
grub-bhyve -r hd0,msdos1 -m ${DEVICESMAP} -M ${DEFAULT_MEMSIZE} \
-d /grub ubuntu -n -c /dev/null
bhyve -c ${DEFAULT_CPUS} -m ${DEFAULT_MEMSIZE} -H -P -A \
-l com1,${DEFAULT_CONSOLE} \
-s 0:0,hostbridge \
-s 1:0,lpc \
-s 2:0,virtio-net,${DEFAULT_TAPDEV} \
-s 3,ahci-cd,${DEFAULT_ISOFILE} \
-s 4,virtio-blk,${DEFAULT_VIRTIO_DISK} \
-s 5,fbuf,tcp=0.0.0.0:5900,${DPY} \
ubuntu
;;
esac
安装程序顺利启动,因此我预计此脚本不会出现重大问题。我使用类似的脚本启动并运行了 OpenSuse,没有任何问题。如果相关,CPU 是 AMD FX(tm)-6300。提前致谢。
最佳答案
我刚刚使用 vm-bhyve 运行了 16.04.3 LTS(服务器) (bhyve 之上的包装器,可作为端口/安装使用 pkg install vm-bhyve grub2-bhyve
)及其基本的 Ubuntu 模板。从那里,您可以查看 vm 的目录(无论您在配置期间指定 vm_dir
的位置)并找到 vm 的日志。在该日志中,您将看到使用了哪些 bhyve 选项。不过,看起来大多数选项都包含在 vm-bhyve 的配置中;也许没有必要直接使用 bhyve。
我发现在 Ubuntu 安装分区过程中,选择 LVM 选项会导致 VM 启动到 grub 控制台。但当我选择引导式非 LVM 选项时,它终于奏效了。
关于Ubuntu 无法在 FreeBSD/Bhyve 中安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44104015/