我在唯一的硬盘上同时安装了gentoo和Windows 7。我想通过qemu从gentoo内部启动Windows安装。引导菜单运行正常,但是选择后不久Windows就会出现蓝屏。
我将如何运作?
(我假设Windows缺少qemu仿真硬件正常工作所需的驱动程序。)
我在唯一的硬盘上同时安装了gentoo和Windows 7。我想通过qemu从gentoo内部启动Windows安装。引导菜单运行正常,但是选择后不久Windows就会出现蓝屏。
我将如何运作?
(我假设Windows缺少qemu仿真硬件正常工作所需的驱动程序。)
Answers:
可以通过以下方式引导本地的物理Windows7分区:
这不会更改物理驱动器上的任何内容(实际上它是只读的)。
请小心使用与安装的Windows体系结构(32位和64位)匹配的正确安装介质。以下命令采用64位体系结构。
这假定您的硬盘驱动器是/dev/sda
并且已经以root用户身份执行:
chmod g-w /dev/sda
chgrp $USER /dev/sda
由于udev通常会重新创建所有设备文件,因此此更改(可能)将在下次重新启动时丢失。
再次假设您的硬盘驱动器为/dev/sda
。网络已禁用:
qemu-system-x86_64 -snapshot -m 3G -enable-kvm -usbdevice tablet \
-drive file=/dev/sda,if=virtio \
-drive file=<win7-installation-media> \
-drive file=<virtio-driver-media>,media=cdrom -boot d \
-net none
现在从CD / DVD引导以启动Win7恢复,加载Virtio驱动程序并在recovery命令提示符下运行以下命令。确保使用正确的字母替换驱动器字母:
dism /image:g:\ /add-driver /driver:e:\viostor\w7\amd64
驱动器G:
是包含Win7安装的驱动器。驱动器E:
代表带有Virtio驱动程序的CDROM驱动器。
该dism
命令是从此超级用户答案复制而来的。
请查看屏幕截图以获取详细信息:
(很抱歉,屏幕截图已准备好,但是我需要10名信誉才能发布它们:)
根据我在这篇文章中看到的内容,您不能使用qemu来启动Windows的现有安装。
给出的主要参数是,当安装Windows时,产品密钥与计算机的主板相关联。现在,当您尝试使用qemu运行Windows时,Windows会将qemu仿真器视为另一个主板,因此会出现问题。
请参阅该帖子以获取更多详细信息。
我设法在archlinux上做到了这一点,主要是通过改编其他(更聪明的)人在博客中提供的示例。
最低版本:
安装部门
sudo pacman -S qemu # qemu itself
sudo pacman -S ovmf # intel EFI driver
cp /usr/share/ovmf/x64/OVMF_CODE.fd bios.bin # copy OVMF_CODE.fd to bios.bin somewhere. It MUST be renamed.
开始qemu
qemu-system-x86_64 \
-enable-kvm `# enable KVM optimiations` \
-L . `# dir with bios.bin` \
--bios bios.bin `# bios.bin itself` \
-m 8G `# provide reasonable amount of ram` \
-cpu host `# match the CPU type exactly` \
-drive file=/dev/sda,format=raw,media=disk `# load raw HDD`
性能优化
还向我推荐了以下标志,并且我一直在成功使用它们。
# emulate exact host cpu,
# enable hyper-v enlightenments
-enable-kvm
-cpu host,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time
-machine type=pc,accel=kvm
# use all available CPU cores
-smp $(nproc)
检视器
我用香料作为查看器:
-daemonize `# don't start monitor, we connect using RDP` \
-vga qxl \
-spice port=5930,disable-ticketing \
-device virtio-serial \
-device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
-chardev spicevmc,id=spicechannel0,name=vdagent \
接着显示以下内容
spicy -h 127.0.0.1 -p 5930 & disown spicy; # spice-gtk
Windows Bootloader警告
最后,如果您使用多个磁盘,请当心Windows Bootloader。我现在有一个Windows安装程序,除非还存在另一个非OS驱动器,否则将无法启动。
参考文献
我希望我的资料保存在这里-我至少记得以下内容对您有帮助:
https://wiki.qemu.org/Main_Page https://qemu.weilnetz.de/doc/qemu-doc.html https://wiki.archlinux.org/index.php/QEMU https://wiki.gentoo .org / wiki / QEMU https://www.suse.com/documentation/sles11/book_kvm/data/part_2_book_book_kvm.html
祝好运!
这是我用于物理Windows 10驱动器的内容。请注意,在许多情况下,如果不使用“ -cpu host”标志,Windows将无法启动。
只需将/ dev / nvme0n1替换为驱动器即可。/ dev / sda或/ dev / sdb
qemu-system-x86_64-启用-kvm -cpu主机-smp 8 -m 8192-驱动器格式=原始,文件= / dev / nvme0n1
来源:http://realtechtalk.com/QEMUKVM_wont_boot_Windows_2016_or_2019_server_on_an_Intel_Core_i3_-2221-articles
qemu
使用正确的架构运行。另外,如果等待HDD控制器为AHCI,则Windows将无法启动,反之亦然。