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:
- Se obtiene el SP2 (código KB835935-SP2) por el medio que sea conveniente.
Se crea una imagen ISO con él:
$ genisoimage -J -o sp2.iso KB835935-SP2.exe
Se arranca la imagen de Windows indicando que el CD es
sp2.iso
, y se pulsa inmediatamente la teclaF8
para tener acceso al menú de arranque:$ qemu -boot c -hda Windows_XP.img -cdrom sp2.iso -m 256 -full-screen
En el menú de arranque se selecciona el modo
A prueba de error
(sic) sin red.- 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.
Convertimos la imagen qemu (formato
qcow
) a un formato especial crudo (formatoraw
):$ qemu-img convert Windows_XP.img -O raw WinXP.raw
Aviso: esto puede tardar verdaderamente mucho tiempo.
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
Creamos una nueva imagen cruda mediante el simple mecanismo de concatenar las dos imágenes:
$ cat WinXP.raw zero.raw > WinXP_6G.raw
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
Dentro de ella efectuar lo siguiente:
Ampliar la partición por las bravas:
# cfdisk -z
y crea una nueva que incluya todo el disco, con el tipo 7 para NTFS.
Redimensionar el sistema de archivos NTFS usando:
# ntfsresize -s 6G /dev/hda1
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
- Instalando en Ubuntu Dapper.
- Cómo ampliar una imagen qemu
- Gnuparted Live CD utilizado para intentar ampliar el disco a través del afamado parted, aunque sin éxito, dado que no tiene soporte en esta versión para NTFS.