我正在寻找一种解决方案/方法,让我能够从另一台计算机中选择一台计算机的启动选项。
为了更清楚地说明我的意思,请考虑以下示例:
用于测试的本地网络由 3 台计算机组成:
- 计算机‘控制’,运行带有显示器和键盘的 Ubuntu64 服务器。
- 计算机 A:Ubuntu LTS x64 和 Ubuntu LTS x32 双启动,无鼠标无键盘
- 计算机B:与A相同
- 计算机C:与A相同
用例
- 选择“控制”以将 A 和 B 启动到 Ubuntux64,将 C 启动到 UbuntuX32
- 计算机 A 将启动至 Ubuntu LTS X64
- 计算机 B 将启动至 Ubuntu LTS X64
- 计算机 C 将启动至 Ubuntu LTS X32
选择可以通过程序或自写脚本来完成,我不在乎。完整的操作系统安装在 A、B、C 上。如果必须从服务器下载网络启动系统才能工作,这是可以的,但这不是必需的。最好使用本地安装。
这可能吗?是否有支持此用例的解决方案/程序(最好是开源的)?
谢谢
PS:我已经找到了有关 PXE 的各种提示,但我不确定它是否支持我所寻找的内容,至少它不是它的典型应用。
编辑:在[https://askubuntu.com/users/68186/user68186]我希望找到一种方法来利用预启动网络连接(PXE 使用它)从中央服务器获取启动选项信息。也许可以采用以下方法:使用“命令行选项”加载指向默认 grub 启动地址的链接,或者只加载带有配置文件的 grub 映像,我可以在服务器上编辑配置文件等。
答案1
我认为这是不可能的。
要选择非默认启动操作,您需要在系统启动前建立网络连接!
一种解决方法是让所有三台计算机 A、B、C 都启动到默认系统,比如 Ubuntu 64 位。这可以通过局域网唤醒来实现。完全启动后,您可以通过 SSH 进入计算机 C 并使用:
`grub-reboot $1`
命令将计算机 C 重新启动到 32 位 Ubuntu。这$1
是 grub 中的菜单项编号,从0
第一个条目开始。
参考:
如何在 Ubuntu 16.04 中启用网络唤醒 (WOL)
也许还有其他方法
如果您的计算机 AB 和 C 都满足英特尔主动管理技术 (AMT) 的硬件要求,那么在系统启动时可能可以通过 LAN 访问 BIOS(因此可能是 GRUB)。
我对此一无所知,如何我看到的是适用于 Windows 的。以下是有关AMT 和 Linux. 无论如何,这样的解决方案不是 Ubuntu 独有的。
希望这可以帮助