jueves, 8 de noviembre de 2007

Instalación de Windows XP en KVM

Primero se debe comprobar que se pueda usar kvm, de no ser así se puede usar qemu con kqemu que también se trata de una solución libre. Para comprobarlo el comando de a continuación debe responder si dispones de las extensiones de virtualización:
grep '^flags.*(svm|kvm)' /proc/cpuinfo

Con extensiones de virtualización en la CPU: (Recomendado)
Programas necesarios:
kvm, qemu
Módulos necesarios: kvm, (kvm-intel|kvm-amd)

Sin extensiones de virtualización en la CPU:
Programas necesarios:
qemu
Módulos necesarios: kqemu
En ese caso debería funcionar reemplazando los comandos "kvm" por "qemu" pero no ha sido probado.

  1. Crear disco virtual:
    qemu-img create -f qcow vdisk.img 10G
    Para conseguir mejor resultados de disco en windows es mejor usar qcow2 envez de qcow.

  2. Empezar la instalación:
    kvm -hda vdisk.img -cdrom windowsxp.iso -boot d -m 256 -no-acpi -localtime
    ACPI en virtualización va muy lento así que lo desactivamos, eso tiene la pega de que no se reinicia correctamente durante la instalación (en mi caso lo he reiniciando matando a kvm).
    Después de la instalación de agrega a mano un hardware de sistema llamado algo parecido a "APM/Legacy NT" para que se apague y reinicie correctamente mediante el uso de APM y sin usar ACPI.


  3. Empezar a usar Windows:
    • Básico
      export QEMU_AUDIO_DRV=sdl
      kvm -hda vdisk.img -m 256 -no-acpi -localtime -soundhw es1370

      No tiene problemas.

    • Seamless
      export QEMU_AUDIO_DRV=sdl
      kvm -hda vdisk.img -m 256 -no-acpi -localtime -soundhw es1370 \
      -redir tcp:3389::3389 -nographic -monitor null -serial null

      1. Ejecutar en modo básico (mirar el apartado anterior).
      2. Se debe descomprimir el SeamlessRDP en la carpeta c:\seamlessrdp\
      3. A preferencias de sistema se activa el acceso remoto.
      4. A cuentas debe estar activado la pantalla de bienvenida y cambio rapido de usuarios.
      5. Se le pone password al usuario Administrador.
      6. Apagar el Windows y ya se puede iniciar en modo seamless que kvm ya no necesitara las X.
      7. Desde Linux ya se puede entrar con rdesktop.

      rdesktop -E -r sound:remote -r disk:home=$HOME -k es -u administrador -p - \
      -A -s "c:\seamlessrdp\seamlessrdpshell.exe taskmgr"

      Aquí se usa RDP en vez de SMB para los archivos pero se recomienda usar elprograma Samba.
Más información:
man qemu
Se aplican los parámetros de qemu en kvm.

Apagar desde RDP:
Ejecutar o crear acceso directo a
shutdown -s -f

Comprimir la imagen de disco:
  1. Defragmentar en Windows (Guest).
  2. Ejecutar SDelete en Windows (Guest):
    sdelete -c c:

  3. Apagar el Guest.
  4. Comprimir la imagen en el Host:
    mv vdisk.img vdisk-zerofull.img
    qemu-img convert -c -f qcow vdisk-zerofull.img -O qcow vdisk.img
    rm vdisk-zerofull.img

1 comentario:

Pau dijo...

Para cargar Linux en KVM si da un kernel panic por algo de APIC añadid al grub en las opciones del kernel la opción nolapic

Seguidores