windows 7 作为 kvm 客户机安装,使用 virtio 驱动程序 - 检测到的 virtio scsi 磁盘显示错误容量

windows 7 作为 kvm 客户机安装,使用 virtio 驱动程序 - 检测到的 virtio scsi 磁盘显示错误容量

我正在尝试将 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。

相关内容