我正在尝试将 Windows 7 64 位安装为 kvm 客户机。我读到这里我应该在安装过程中安装 virtio scsi 驱动程序。
我使用virt-install
命令行启动安装
virt-install --connect qemu:///system \
--name win7vnc --ram 2048 --vcpus=2 --cpuset=auto \
--disk path=win7.img,bus=virtio
--network=network=default,model=virtio,mac=RANDOM
--graphics vnc,port=5900
--disk device=cdrom,path=../../isos/virtio-win-0.1-81.iso
--disk device=cdrom,path=../../isos/win7_sp1_ult_64bit/Windows\ 7\ SP1\ Ultimate\ \(64\ Bit\).iso
--os-type=windows --os-variant=win7 --boot cdrom,hd
安装开始正常,正如预期的那样,Windows 没有检测到硬盘。所以我加载了驱动程序,磁盘确实被检测到了。问题是它只有 99MB 的容量,而我用命令将磁盘创建为 100GB
qemu-img create -f qcow2 win7.img 100G
可能出了什么问题,容量不正确?
编辑:问题的图片
答案1
最后,我设置磁盘设置,就好像我将在virt-install
运行命令时创建一个新磁盘一样,即使我已经提前准备好了磁盘映像。所以我运行:
virt-install --connect qemu:///system \
--name win7vnc --ram 2048 --vcpus=2 --cpuset=auto \
--disk path=win7.img,bus=virtio,size=100,format=qcow2 \
--network=network=default,model=virtio,mac=RANDOM \
--graphics vnc,port=5900
--disk device=cdrom,path=../../isos/virtio-win-0.1-81.iso \
--disk device=cdrom,path=../../isos/win7_sp1_ult_64bit/Windows\ 7\ SP1\ Ultimate\ \(64\ Bit\).iso \
--os-type=windows --os-variant=win7 --boot cdrom,hd
答案2
我编写了一个小型 shell 脚本来自动在 KVM 中安装 Windows 7,该脚本适用于作为主机系统的 Ubuntu Linux 12.04:
http://torsten-traenkner.de/linux/create_virtual_machine_with_windows_7.sh.tgz
附赠一段小视频:
https://www.youtube.com/watch?v=xwHmdAWkbx4
该脚本会创建一个稀疏文件作为原始磁盘映像。这样做的好处是虚拟磁盘不会一次性使用完整的实际磁盘空间,并且您可以轻松挂载原始映像。如果该脚本不适用于您的 Linux 发行版,您可以查看脚本内部以了解其工作原理。
dd if=/dev/zero of="$DISK_IMAGE_NAME" bs=1 count=0 seek="$virtualMachineSizeInGB"G > /dev/null 2>&1
答案3
我在这里写下了我的经历:
http://www.returnbooleantrue.com/2015/04/making-your-windows-kvm-guest-boxes-fly.html
您当然可以在完成 Windows 安装后添加 VirtIO。