gpt4 book ai didi

virtual-machine - 从 shell 将 VM(在 vbox 上运行)重启到特定(已编译)内核

转载 作者:行者123 更新时间:2023-12-01 06:08:47 25 4
gpt4 key购买 nike

我正在运行 ubuntu 14.04 with vbox 。在这台机器上,我编译并运行了内核 3.14,当 ubuntu 在 vbox 上加载时,我从 grub 菜单中选择了它。主机也运行在 ubuntu 14.04 上。

我想问 - 有没有办法通过 shell 上的命令将 guest ubuntu 加载到特定内核?

我可以使用以下命令通过命令行在 vbox 上开始运行虚拟机:

VBoxManage startvm ubuservloc --type headless

但这并不是我所需要的。

最佳答案

我不知道有什么方法可以直接从主机与 guest 的 GRUB 通信,但是有几种间接的方法可以去:

  1. 从主机挂载 /boot 文件系统,并在其中放置一个文件,供 guest 的 grub.cfg 读取。
  2. VBoxManage controlvm keyboardputscancode 键入分配给 GRUB 中正确内核的热键(在启动 VM 后不久)
  3. 配置 GRUB 以监听(虚拟)串行端口并通过写入该文件来选择内核

如果可以接受第二次重启(首先启动到默认内核,然后重新启动到所需的内核),还有几种方法(您可以使用 guest 的 grub-set-default 命令来选择您想要的内核并重新启动)。一些我能想到的:

  1. VBoxManage guestcontrol run 在 guest 中从主机调用 shell 脚本(在加载 guest 添加后)
  2. VBoxManage guestproperty 从主机设置属性,VBoxControl guestproperty 从初始化脚本读取它并从那里决定
  3. 只需 SSH 进入 guest 并从那里重新启动 :D

显然,如果您总是想启动该内核,为什么不将其设置为默认值呢?如果您总是想交替启动两个不同的内核,您还可以直接从 grub.cfg 将下次启动的默认值设置为另一个内核。

关于virtual-machine - 从 shell 将 VM(在 vbox 上运行)重启到特定(已编译)内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34711586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com