-fw_cfg [name=],file= add named fw_cfg entry with contents from file -fw_cfg [name=],string= add named fw_cfg entry with contents from string 在 QEMU 中,-fw_cfg 选项用于配置虚拟机的固件配置(firmware configuration),这通常用于向虚拟机的 BIOS 或 UEFI 固件传递特定的配置数据。以下是 -fw_cfg 选项的两种使用方式的详细解释:
-fw_cfg [name=],file= [name=] 是一个可选的参数,用于指定固件配置项的名称。如果不提供,则 QEMU 会自动生成一个名称。file= 指定包含配置数据的文件的路径。/path/to/config.data 加载配置数据,并将其作为一个名为 config 的固件配置项传递给虚拟机:qemu-system-x86_64 ... -fw_cfg name=config,file=/path/to/config.data ... -fw_cfg [name=],string= [name=] 同样是用于指定固件配置项名称的可选参数。string= 是要传递给固件的字符串值。example 作为名为 example_str 的固件配置项传递给虚拟机:qemu-system-x86_64 ... -fw_cfg name=example_str,string="example" ... 这些固件配置项可以被虚拟机内的操作系统或固件在启动时读取,以执行特定的配置任务,例如网络配置、启动参数传递等。在某些情况下,这对于自定义虚拟机的启动行为非常有用。
-serial dev redirect the serial port to char device 'dev' 在 QEMU 中,-serial 选项用于配置虚拟机的串行端口。串行端口可以用于虚拟机和宿主机之间的通信,也可以用于重定向虚拟机的控制台输出。-serial dev 中的 dev 可以是以下几种不同的值或设备:
null:禁用串行端口。stdio:将虚拟机的串行端口输出重定向到 QEMU 的标准输入输出,通常用于在控制台窗口中查看虚拟机的输出。file::将虚拟机的串行端口输出重定向到一个文件。pipe::将虚拟机的串行端口输出重定向到一个命名管道。socket:将虚拟机的串行端口输出重定向到一个套接字。chardev:id:将虚拟机的串行端口连接到一个字符设备,其中 id 是使用 -chardev 选项创建的字符设备的标识符。-serial 选项的例子:# 将虚拟机的串行端口输出重定向到标准输入输出 qemu-system-x86_64 -serial stdio ... # 将虚拟机的串行端口输出重定向到一个文件 qemu-system-x86_64 -serial file:/path/to/serial.log ... # 将虚拟机的串行端口输出重定向到一个命名管道 qemu-system-x86_64 -serial pipe:myserialpipe ... # 将虚拟机的串行端口连接到一个套接字 qemu-system-x86_64 -serial socket ... # 将虚拟机的串行端口连接到一个字符设备 qemu-system-x86_64 -chardev pipe,id=charpipe -serial chardev:charpipe ... -parallel dev redirect the parallel port to char device 'dev' 在 QEMU 中,-parallel 选项用于配置虚拟机的并行端口。并行端口通常用于打印机和其他并行设备,但在虚拟化环境中,它也可以用于重定向输出,类似于串行端口。
与 -serial 选项类似,-parallel 选项的 dev 参数可以是以下几种不同的值或设备:
null:禁用并行端口。file::将虚拟机的并行端口输出重定向到一个文件。pipe::将虚拟机的并行端口输出重定向到一个命名管道。socket:将虚拟机的并行端口输出重定向到一个套接字。chardev:id:将虚拟机的并行端口连接到一个字符设备,其中 id 是使用 -chardev 选项创建的字符设备的标识符。-parallel 选项的例子:# 将虚拟机的并行端口输出重定向到标准输入输出 qemu-system-x86_64 -parallel stdio ... # 将虚拟机的并行端口输出重定向到一个文件 qemu-system-x86_64 -parallel file:/path/to/parallel.log ... # 将虚拟机的并行端口输出重定向到一个命名管道 qemu-system-x86_64 -parallel pipe:myparallelpipe ... # 将虚拟机的并行端口连接到一个套接字 qemu-system-x86_64 -parallel socket ... # 将虚拟机的并行端口连接到一个字符设备 qemu-system-x86_64 -chardev pipe,id=charpipe -parallel chardev:charpipe ... 请注意,虽然 -parallel 选项在技术上仍然可用,但在现代虚拟化环境中,并行端口的使用已经不如串行端口那么普遍。因此,在某些情况下,你可能不会经常看到这个选项的使用。
-monitor dev redirect the monitor to char device 'dev' 在 QEMU 中,-monitor 选项用于指定监视器(monitor)的设备