Creative Commons License
Excepto donde se indique otra cosa, todo el contenido de este lugar está bajo una licencia de Creative Commons.
Taquiones > diario > 2007 > 05 > 29 > qemu y 0x800703e6

qemu y 0x800703e6

Sólo para que quede constancia: al realizar una instalación de Windows XP bajo qemu, en una Debian sid, me aparece el error 0x800703e6, que según las fuentes consultadas es debido a que la versión instalada es una pre SP1 ó una pre SP2, y que se arregla instalando dicho megaparche.

Para ello se debe seguir lo siguiente:

  1. Se obtiene el SP2 (código KB835935-SP2) por el medio que sea conveniente.
  2. Se crea una imagen ISO con él:

    $ genisoimage -J -o sp2.iso KB835935-SP2.exe
    
  3. Se arranca la imagen de Windows indicando que el CD es sp2.iso, y se pulsa inmediatamente la tecla F8 para tener acceso al menú de arranque:

    $ qemu -boot c -hda Windows_XP.img -cdrom sp2.iso -m 256 -full-screen
    
  4. En el menú de arranque se selecciona el modo A prueba de error (sic) sin red.

  5. Una vez el sistema en marcha se abre el CD y se procede a instalar el SP2.

Falta de espacio para instalar

La imagen inicial que dispuse para el windows es insuficiente para efectuar una instalación de SP2, puesto que necesita más espacio para efectuar la presunta desinstalación posterior (según dice). En concreto le hacen falta como 278 Mb más, y me he puesto a buscar el modo de ampliar dicha capacidad sin necesidad de resinstalar otra vez el puñetero sistema.

  1. Convertimos la imagen qemu (formato qcow) a un formato especial crudo (formato raw):

    $ qemu-img convert Windows_XP.img -O raw WinXP.raw
    

    Aviso: esto puede tardar verdaderamente mucho tiempo.

  2. Creamos un archivo relleno con ceros del espacio que queramos añadir a la imagen original:

    $ dd if=/dev/zero of=zero.raw bs=1024k count=4096
    4096+0 records in
    4096+0 records out
    4294967296 bytes (4,3 GB) copied, 134,722 seconds, 31,9 MB/s
    
  3. Creamos una nueva imagen cruda mediante el simple mecanismo de concatenar las dos imágenes:

    $ cat WinXP.raw zero.raw > WinXP_6G.raw
    
  4. Arrancar con una imagen de CD que disponga de herramientas de reparación (avanzadas, porque es indispensable que incluya el paquete ntfs-3g):

    $ qemu -hda WinXP_6G.raw -cdrom knoppix.iso -boot d
    
  5. Dentro de ella efectuar lo siguiente:

    1. Ampliar la partición por las bravas:

      # cfdisk -z
      

      y crea una nueva que incluya todo el disco, con el tipo 7 para NTFS.

    2. Redimensionar el sistema de archivos NTFS usando:

      # ntfsresize -s 6G /dev/hda1
      
  6. Al terminar la ejecución del cd de reparación nos damos cuenta de que no podemos usar la imagen para arrancar windows, pues éste se queja de que tiene un problema de lectura de disco, que no parece ser correcto. Efectivamente, la geometría del disco está mal, indica que tiene 255 cabezas, 63 sectores y 777 cilindros. Dado que el número de cabezas según qemu debe estar entre 1 y 16, basta con cambiársela al vuelo de esta forma:

    $ qemu -hdachs 777,16,63 -hda WinXP_6G.raw  -full-screen
    

Ahora el sistema arranca, aunque seguimos sin tener instalado el SP2 y, por tanto, se repite el error de antes. Volveremos a intentar la instalación.

Enlaces