20 de septiembre de 2007

win32 - hal.dll

Copia/pega revisado y modificado

Nota de modificación: %windir% ser refiere en todos los casos al directorio de instalación del sistema operativo (usualmente c:\windows), la ruta a utilizar se conoce de diferentes maneras, en la consola de recuperación esta ruta se muestra en la llamada "lista de instalación" previa donde muestran las diferentes instalaciones que podemos reparar. Con windows arrancado, se puede obtener ejecutando (win+R) diferentes variables: %windir% o %systemroot%

1. Desde la consola de reparación del sistema: (Este método solo funciona en Windows XP o 2003)
  • Arrancar la máquina con el cd de instalación del sistema.
  • Iniciar la consola de reparación siguiendo las instrucciones en pantalla para tal fin.
  • Escribir: attrib -R-H-S C:\boot.ini (quita los atributos de solo lectura, R, oculto, H, y sistema S)
  • Escribir: del C:\boot.ini
  • Escribir: bootcfg /rebuild
  • Escribir: fixboot
  • Tras reiniciar el sistema todo debería haber vuelto a la normalidad

2. Desde otra máquina:
  • Desmontar el disco con el sistema dañado y montarlo como esclavo en otra máquina con sistema operativo Windows 2000 o superior.
  • Arrancar el sistema de la máquina anfitrión y permitir al sistema anfitrión realizar todos los procesos de detección necesarios.
  • Reiniciar el sistema anfitrión.
  • Una vez reiniciado, activar la opción de ver archivos ocultos y de sistema.
  • Con el explorador de archivos, localizar la carpeta %windir%\ServicePackFiles\i386 si estamos reparando un Windows XP o %windir%\ServicePackFiles\i386 si estamos reparando un Windows 2000.
  • Copiar el archivo hal.dll que se encuentra allí a la carpeta %windir%\System32 o %windir%\System32. Si pregunta por sobreescribir, responder que si.
  • Apagar el sistema anfitrión
  • Desmontar el disco esclavo.
  • Reinstalarlo como maestro en su computadora de origen.
  • Reiniciar el sistema.

3. Desde la misma máquina pero con otro sistema operativo instalado:
  • El otro sistema operativo debe poder leer sistemas de archivos NTFS modernos, por lo que debe ser, al menos, Windows 2000.
  • Arrancar el segundo sistema de la máquina.
  • Una vez iniciado, activar la opción de ver archivos ocultos y de sistema.
  • Con el explorador de archivos, localizar la carpeta %windir%\ServicePackFiles\i386.
  • Copiar el archivo hal.dll que se encuentra allí a la carpeta %windir%\System32. Si pregunta por sobreescribir, responder que si.
  • Reiniciar el sistema.

4. Copiando el archivo desde el cd de instalación original:
  • Arrancar la máquina con el cd de instalación del sistema.
  • Iniciar la consola de reparación siguiendo las instrucciones en pantalla para tal fin.
  • Escribir: type %windir%\Repair\Setup.log.
  • Buscar la línea que contenga hal.dll, debe ser una línea similar a esta: \Windows\system32\ hal.dll="halacpi.dll","1d8a1".
  • Copiar en un papel el nombre del archivo que aparece a la derecha del signo de igualdad. Nos refriremos a este archivo en las iguientes líneas como ArchivoHal.
  • Escribir: attrib -R-H-S %windir%\System32\hal.dll Si el archivo en efecto ha desaparecido del sistema aparecerá un mensaje de error advirtiéndonos de tal situación.
  • Escribir: del %windir%\System32\hal.dll Si el archivo en efecto ha desaparecido del sistema aparecerá un mensaje de error advirtiéndonos de tal situación.
  • Escribir: expand ArchivoHal /F:D:\I386\Driver.cab %windir%\System32\hal.dll /Y (D: se refiere a la unidad de cd)
  • Escribir: ren %windir%\ArchivoHal %windir%\System32\hal.dll.
    • Si al tratar de renombrar el archivo nos pregunta por sobreescribir uno existente, responder que si.
    • Si no se puede sobreescribir el archivo existente, escribir: del %windir%\System32\hal.dll y reintentar el paso anterior.
  • Reiniciar el sistema.
·n·

18 de septiembre de 2007

win32 - ntldr

NTLDR is missing
Press Ctrl+Atl+Supr to reboot
Falta el archivo o sus permisos de acceso han cambiado.
En el cd de windows xp, en la ruta copy %unidad_de_cd%:\i386\ se encuentran los dos archivos necesarios: ntldr y ntdetect.com.

Copiar ambos archivos en la raíz del sistema mediante
un simple copy (desde la consola de recuperación) o un cp (linux) solucionan el problema

·n·

win32 - consola de recuperación

Para instalarla necesitamos un cd de la versión de windows con la que estamos trabajando y ejecutar el comando de instalación del sistema operativo con la variable /cmdcons

%unidad_de_cd%:\i386\winnt32 /cmdcons

OJO! Porque intenta actualizar el sistema para "acoplarlo" a la consola

El proceso de instalación se encarga de modificar el boot.ini para añadir la opción en el arranque. Es bastante conveniente modificar el tiempo de espera (por defecto 30 segundos).

Existen bastantes comandos que se pueden utilizar, los más interesantes:

map arc : muestra una tabla de información acerca de las particiones del sistema
fixboot %nombre_de_unidad% : genera un boot.ini nuevo en la unidad seleccionada
fixmbr %nombre_de_dispositivo% : reinstala el mbr en el dispositivo seleccionado. El nombre de dispositivo se especifica tal que \device\harddisk1, parámetro que se obtiene del comando map
chkdsk %unidad% /p /r : chequea el estado del disco de forma exhaustiva (p) y repara todo lo erróneo (r)
copy : Básico fallando el ntldr

·n·

17 de septiembre de 2007

win32 - Atajos de teclado

Ctrl+Esc : abre el menú "Inicio"
Ctrl+Shift+Esc : administrador de tareas
win+D : minimiza / restaura todas las ventanas
win+R : abre la ventana "Ejecutar"
win+E : abre el "Explorador de Windows"
win+L : cambio rápido de usuario
win+F : abre la ventana de busqueda
win+Pause : abre "Propiedades del Sistema"
ctrl+alt+sup x2 : en "Pantalla de Bienvenida" abre la de introducir usuario y contraseña

·n·
win+F by sntg :D