QEMU,没有可启动设备,适用于Linux的Windows子系统

时间:2016-08-30 16:28:41

标签: qemu windows-subsystem-for-linux ipxe

我正在学习如何使用Documentation

构建基本的操作系统内核

我已经创建了.iso文件,而我正处于运行qemu-system-x86_64 -cdrom os.iso的位置 当我按下回车键时,QEMU运行一个带有以下输出的窗口:

Booting from Floppy...
Boot failed: could not read the boot disk

Booting from DVD/CD...
Boot failed: Could not read from CDROM (code 0004)
Booting from ROM...
iPXE (PCI 00:03.0) starting execution...ok
iPXE initializing devices...ok

iPXE 1.0.0+git-20131111.c3d1e78-2ubuntu1.1 -- Open Source Network Boot Firmware
-- http://ipxe.org
Features: HTTP HTTPS iSCSI DNS TFTP AoE bzImage ELF MBOOT PXE Menu

net0: 52:54:00:12:34:56 using 82549em on PCI00:03.0 (open)
  [Link:up, TX:0 TXE:0 RX:0 RXE:01]
Configuring (net0 52:54:00:12:34:56)...ok
net0: 10.0.2.15/255.255.255.0 gw 10.0.2.2
Nothing to boot: No such file for directory (http://ipxe.org/2d03e13b)
No more network devices

No bootable device.

我访问了输出中列出的网站(https://intermezzos.github.io),其中一个提示是Use the iPXE command line to perform DHCP manually,但是当我按CTRL + B访问cli时,我就是不能这样做。

接下来我在哪里查看无法启动.iso的问题? 如何让QEMU可以访问键盘输入?

更新
我不知道怎么做,但我现在能够使用CTRL + B来访问iPXE命令行。

这似乎是一个开始诊断我无法启动.iso的问题的好地方。

我在找什么?

更新2
感谢Peter Maydell在下面的建议,我测试了一个已知良好的iso图片(http://ipxe.org/2d03e13b),正在运行qemu-system-x86_64 -cdrom alpine-3.4.3-x86_64.iso,它正如我预期的那样完美启动。

我已经从https://alpinelinux.org/重写了我的文件以创建一个新的iso图像,这次是从存储库中复制并粘贴代码,以防我之前输入错别字。

仍然无法启动。接下来的线索......

2 个答案:

答案 0 :(得分:5)

要做的第一件事是检查此命令行和ISO映像是否适用于普通的Linux主机系统。这将告诉您问题是(a)Windows子系统Linux无法正确实现QEMU所依赖的内容,或者(b)您的ISO映像实际上不是可引导CDROM。

您也可以尝试引导已知良好的ISO映像,例如Linux发行版的映像。

(这里的一般原则是尝试进行诊断测试,将“可能存在的问题”的空间分成较小的部分,并确定问题的哪一方。)

答案 1 :(得分:1)

解决问题的简单方法。与使用EFI启动的系统有关。

source

我需要apt-get install grub-pc-bin,然后重建图片。