태그 보관물: virtio

kvm windows 10 storage driver IDE to virtio change

windows 10을 설치 한 후 virtio driver를 인스톨 해봤다.

이는 이미 IDE driver를 사용하여 설치를 한것이며, 오늘 할것은 IDE -> virtiostorage driver를 옮기는 것이다.

그냥 하면 BSOD에서 INACCESSIBLE_BOOT_DEVICE 요런 message가 뜨면서 안되더라.

그래서 찾아보니까 http://superuser.com/questions/1057959/windows-10-in-kvm-change-boot-disk-to-virtio 여기에 딱 맞는 case가 있어서 따라해봤다.

The steps to follow in general are :

  1. Install the VirtIO drivers in the VM

  2. Set the system disk of the VM to use VirtIO

  3. If the VM does not boot, execute Startup Repair or even Repair Install

The procedure in detail is :

  1. Return the boot disk to IDE.

  2. Make sure the windows VM is shutdown.

  3. Download the VirtIO drivers ISO from here.

  4. Mount it on the CD drive for the VM.

  5. Add a storage device which is of the VirtIO type. The size allocation doesn’t matter since you are using it to install the drivers.

  6. Start the Windows VM. It will try to install the drivers. If it doesn’t, open the Device Manager and you should see the SCSI device listed with the exclamation point icon beside it. You can choose to update the driver and point to mounted ISO’s appropriate directory. Once installed, don’t reboot but shutdown the machine.

  7. In the virt-manager settings for Windows, change the storage type from IDE to VirtIO.

  8. You can remove the storage device you had created earlier. It is not longer needed.

  9. Start Windows, it should boot up and install the SCSI drivers. You will need to reboot after it does.

  10. If the VM does not boot but the drivers are installed, you might try to do :

    1. Startup Repair that can fix certain system problems that might prevent Windows from starting.

    2. The last solution: Repair Install while booting from the Windows 10 ISO. This will keep all applications and user settings, just refreshing Windows and boot. Use a recent Windows 10 ISO.

위의 답변에나온 action을 순서대로 따라해 주면된다.

1. 먼저 IDE 방식으로 boot disktype으로 바꾼 후 정상부팅 되게 한다.

2. 당연히 vmshutdown 상태여야 하고,

3. virtio driver를 다운로드 받는데… https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/ 이 주소에서 가장 최근것을 받으면 된다.

4. vmcdrommount해주고… 아직 켜진마라.

5. storage device를 하나 더 추가로 넣어주는데 이번엔 virtio type으로 만들자. size는 상관없다.

6. windows vm을 시작한다. 이제 mountcdrom에 있는 driver를 설치를 할건데 이때부터가 좀 중요함.

win + R’ key를 눌러서 command 입력창이 뜨면 ‘devmgmt.msc를 입력하자. 그럼 장치관리자가 뜰텐데 여기에 ‘삼각형 느낌표’가 떠있는 장치들이 몇개 보일것이다. 각각 인식되지 못하는 device들인데, 하나씩 드라이버를 설치 해주자. 이게 뭔 device 인지 확인 하려면 bash terminal에서 ‘virsh edit win10vm’ (win10vm은 가상머신 이름) 이렇게 입력해주면 해당 vm에 대한 xml format의 정보를 볼 수가 있는데, 여기에 저 장치들이 어떤것인지 나와있다. 장치관리자에서 느낌표가 뜬 장치를 더블클릭해보면 ‘위치’ 라는 곳이 보이는데 여기에 이 device가 어디에 붙어 있는지가 나와있다. ‘PCI 슬롯 9이렇게 되어 있다. 이제 virsh edit로 연 vm 정보에서 검색을 해보자. slot 9로 검색을 해보면 해당 device가 뭔지 나와있다. 나같은 경우 virtio-serialmembaloon을 설치해줬다. 설치하는 방법은 해당 느낌표뜬 장치에서 ‘드라이버 업데이트’ 를 눌르고 ‘컴퓨터에서 드라이버 소프트웨어 찾아보기’ 를 선택 한 후 ‘찾아보기’ 에서 cd mount된 곳의 해당 driverwindows version에 맞게 설치 해주면 된다.

7. 이제 다시 shutdown을 해주고, 아까 붙인 virtio storage는 떼버리자 이제 쓸모가 없음. 이제 IDE로 되어 있는 boot devicedisk bus virtio로 고친 후 재부팅을 해주자.

나는 10번까진 하지않았고 위에처럼만 해도 잘 되더라.

아참 혹시라도 display driverqxl로 되어 있을지 모르니 windows 8 이상은 cd mount한 곳에서 qxldod도 설치 해주자.

아… 근데 설치를 해도.. 느리더라… 조금 빨라진것도 같지만