![如何在虚拟机中启动 chrome os(不是 chromium),并且不需要 chromebook?](https://linux22.com/image/1528166/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%AD%E5%90%AF%E5%8A%A8%20chrome%20os%EF%BC%88%E4%B8%8D%E6%98%AF%20chromium%EF%BC%89%EF%BC%8C%E5%B9%B6%E4%B8%94%E4%B8%8D%E9%9C%80%E8%A6%81%20chromebook%EF%BC%9F.png)
我尝试下载官方 OEM 恢复映像https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_9000.91.0_sentry_recovery_stable-channel_mp.bin.zip但通过 uefi 启动的内核映像只能启动循环重启的恢复过程(请记住,chromebooks 使用 coreboot 而不是 bios 以特殊的校验格式直接加载内核映像,而 grub 和 lilo 不支持这种格式)。虚拟机可以访问 skylake cpu,因此我怀疑其中涉及任何非法指令。
也许不在任何文件系统上的经过校验的内核映像可以启动 chrome os 而不是恢复,但它们的格式需要 coreboot。由于大量错误,我无法为 qemu 编译 coreboot,也没有找到预构建的 bios 映像。
另一种选择是通过更新服务器下载 oem 更新,因为我可以从恢复映像中获取 auths 密钥,但尽管阅读了源代码,我还是无法看到合适的 curl 命令是什么样的。
我不在乎虚拟机引擎,可能是 qemu 或 HyperV。目标是让 chrome os 无需购买任何硬件即可运行。
答案1
我怀疑你能做到。/r/chrultrabook能够通过传统启动功能/插槽启动并保留 Chrome OS,或者通过修改 uefi 启动存根或替换整个固件来安装其他操作系统,从而破坏 Chrome OS。按您的意图启动 Chrome OS(通过尽可能满足依赖性)会很棒,但到目前为止只取得了很小的进展,这涉及对映像/引导加载程序*进行修改,从而破坏了启动链和接收更新的可能性。这就是我现在能告诉你的全部内容。
你可以在 subreddit 上提问(我认为是 ReddestDream)或者reverseengineering.stackexchange.com如果您真的想亲自动手并拥有固件经验。我会非常感激,但到目前为止,我认为答案是无法做到的。