我正在使用vbox运行 ubuntu 14.04 。在这台机器上,我编译并运行了内核3.14,当我在vbox上加载ubuntu时,我从grub菜单中选择了内核。 主机也在ubuntu 14.04上运行。
我想问一下 - 有没有办法用shell上的命令将guest ubuntu加载到特定的内核中?
我可以使用以下命令开始在vbox trough命令行上运行vm:
VBoxManage startvm ubuservloc --type headless
但它并不完全是我所需要的。
答案 0 :(得分:0)
我不知道有什么方法可以直接从主机到客户的GRUB进行通信,但是有几种间接方式可以去:
/boot
文件系统并将文件放在客户的grub.cfg
读取的文件中。VBoxManage controlvm keyboardputscancode
键入一个热键,该热键分配给GRUB中的正确内核(启动VM后不久)如果第二次重新启动是可接受的(首先启动到默认内核然后重新启动到所需的内核),还有几种方法(您可以使用来自guest虚拟机的grub-set-default
命令来选择所需的内核并重新启动)。我可以在这里想到一些:
VBoxManage guestcontrol run
从guest虚拟机中的主机调用shell脚本(加载guest虚拟机添加后)VBoxManage guestproperty
从主机设置属性,VBoxControl guestproperty
从init脚本中读取它并从那里决定显然,如果你总是想要启动那个内核,为什么不把它作为默认值呢?如果您想要交替启动两个不同的内核,您还可以将下次启动的默认值设置为grub.cfg中的另一个direclty。