McE*_*roe 20 windows qemu multi-boot
我在我唯一的硬盘上安装了 gentoo 和 Windows 7。我想通过 qemu 从 gentoo 中开始我的 Windows 安装。启动菜单工作正常,但在我选择它后不久我的 Windows 蓝屏。
我将如何使它工作?
(我假设 Windows 缺少 qemu 模拟硬件工作所需的驱动程序。)
doa*_*oak 13
可以通过以下方式启动本机物理Windows 7分区:
这不会更改物理驱动器上的任何内容(实际上它是只读的)。如果您想保留这些内容,请-snapshot从 QEMU 调用中删除或commit all在 QEMU 控制台中使用。
顺便说一下,这也适用于Windows 10。
请注意使用与安装的 Windows 架构(32 位与 64 位)匹配的正确安装介质。以下命令假定为 64 位架构。
这假设您的硬盘驱动器已经/dev/sda并且已经以 root 身份执行:
chmod g-w /dev/sda
chgrp $USER /dev/sda
Run Code Online (Sandbox Code Playgroud)
此更改将(可能)在下次重新启动时丢失,因为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
Run Code Online (Sandbox Code Playgroud)
现在从 CD/DVD 启动以启动Windows 7恢复,加载 Virtio 驱动程序并在恢复命令提示符下运行以下命令。确保用正确的驱动器号替换驱动器号:
dism /image:g:\ /add-driver /driver:e:\viostor\w7\amd64
Run Code Online (Sandbox Code Playgroud)
驱动器G:是包含Windows 7安装的驱动器。DriveE:代表带有 Virtio 驱动程序的 CDROM 驱动器。为了显示此命令变体的一些帮助,请使用dism /image:g:\ /?.
该dism命令是从这个超级用户答案复制而来的。
【抱歉,截图已经准备好了,但由于10声望门槛我无法发布。不幸的是,我无法在此期间找到它们:(]
小智 5
我设法在 archlinux 上做到了这一点,主要是通过改编其他(更聪明的)人在博客中提供的示例。
最小版本:
安装 deps
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.
Run Code Online (Sandbox Code Playgroud)
启动 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`
Run Code Online (Sandbox Code Playgroud)
性能优化
还向我推荐了以下标志,我一直在成功使用它们。
# 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)
Run Code Online (Sandbox Code Playgroud)
查看器
我用香料作为观众:
-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 \
Run Code Online (Sandbox Code Playgroud)
后跟以下显示查看器
spicy -h 127.0.0.1 -p 5930 & disown spicy; # spice-gtk
Run Code Online (Sandbox Code Playgroud)
Windows 引导加载程序警告
最后,如果您使用多个磁盘,请注意 Windows 引导加载程序。我现在有一个 Windows 安装,除非还存在第二个非操作系统驱动器,否则它不会启动。
参考
我希望我把我的消息来源保留在这里 - 我记得至少以下内容非常有帮助:
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
祝你好运!
| 归档时间: |
|
| 查看次数: |
36938 次 |
| 最近记录: |