通过给qemu一个linux根目录的路径来启动qemu

通过给qemu一个linux根目录的路径来启动qemu

晚上好,

我在 U 盘上安装了 ArchLinux,我想在 qemu 中启动它。不幸的是,我发现大多数示例都启动一个映像(iso..)。

这个棒肯定是可以启动的,就像我重新启动计算机一样,它显示了一个可以成功启动 ArchLinux 的 grub。

我尝试过诸如此类的事情

sudo qemu-system-x86_64 -usb -usbdevice 磁盘:/media/louis/FlyinBaboon/boot/initramfs-linux.img -boot menu=on

只是为了得到启动错误。

通过为 qemu 提供 linux 根目录的路径来启动 qemu 的正确方法是什么?/媒体/路易斯/飞狒狒对应于我的 USB 记忆棒的根目录)

答案1

你会遇到什么样的错误?

前任:

user@marconi ~ $ sudo qemu-system-x86_64 -usb -usbdevice disk:/mnt/usbdrive
qemu-system-x86_64: -usbdevice disk:/mnt/usbdrive: could not open disk image /mnt/usbdrive: Is a directory
qemu: could not add USB device 'disk:/mnt/usbdrive'

如果您看到类似的内容,则问题在于您提供了文件系统路径,但“qemu”需要对块设备的引用。

这是一个例子。我的系统上连接了一个 USB 驱动器。块设备是/dev/sdb,该设备安装在文件系统中的“/mnt/usbdrive”处。通过查看系统挂载表可以看出关系:

user@marconi ~ $ cat /proc/mounts |grep sdb
/dev/sdb /mnt/usbdrive vfat rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0

如果您为 qemu 提供块设备名称,而不是文件系统中的路径,它应该根据您的需要启动。对于我的示例,正​​确的调用是:

user@marconi ~ $ sudo qemu-system-x86_64 -usb -usbdevice disk:/dev/sdb

答案2

我的 USB 驱动器上有 Fedora-netinstall 的映像,我尝试了这两个,两者都适合我:

$ sudo qemu-system-x86_64 -cdrom /dev/sdb
$ sudo qemu-system-x86_64 -hda /dev/sdb

相关内容