给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(bhyve的包装,可以通过pkg install vm-bhyve grub2-bhyve
作为端口/安装使用)和其基本的Ubuntu模板运行16.04.3 LTS(服务器)。从那里,您可以查看vm的目录(在配置过程中指定了vm_dir
的任何位置)并找到vm的日志。在该日志内,您将看到使用了哪些bhyve选项。看起来,大多数选项都包含在vm-bhyve的配置中;也许没有必要直接使用bhyve。
我发现在Ubuntu安装分区过程中,选择LVM选项将导致VM引导到grub控制台。但是,当我选择引导式非LVM选项时,它终于可以工作了。