ENTRAR/SALIR DE WINDOWS




  1. Descripción de las variables del archivo MSDOS.SYS
  2. Acelerar ligeramente el arranque de Windows (1)
  3. Acelerar ligeramente el arranque de Windows (2)
  4. Iniciar programas automáticamente en el arranque
  5. Salir de Windows usando un batch o un acceso directo
  6. Solucionar el problema de cierre de Windows 98 S.E.
  7. Ejecutar un programa al cerrar el sistema
  8. Solucionar el problema de cierre de Windows 98 S.E. en red

[Volver]



Descripción de las variables del archivo MSDOS.SYS

Fuente:

Debería funcionar con:

  • Windows 95/98/98SE/ME

Requiere:

  • Nada especial
El archivo MSDOS.SYS se encuentra en el directorio raíz de la unidad de arranque. Es un archivo de texto en el que se definen ciertas variables que afectan al arranque y al funcionamiento de Windows. Este archivo tiene un formato que recuerda mucho a los archivos INI de las aplicaciones Windows.

Estas son las variables que puede contener un archivo MSDOS.SYS típico:

[Paths]
WinDir Directorio de instalación de Windows (TEMP, TMP y COMSPEC)
WinBootDir Ubicación de los ficheros de inicio
HostWinBootDrv Letra del disco base de la instalación
UninstallDir Unidad que contiene los archivo de desinstalación (sólo si se eligió esa opción)
   
[Options]
BootKeys Predeterminado=1
Muestra las teclas F4/F5/MAY+F5/MAY+F8 en el menú de arranque
BootDelay Predeterminado=2
Segundos para pulsar F8 durante "Iniciando Windows 9x..."
BootMenu Predeterminado=0
Muestra el menú de opciones de arranque de WIN9x. La aparición de este menú se puede forzar pulsando F8 durante el mensaje "Iniciando Windows 9x..."
BootMenuDefault Predeterminado=1 (sistema funcionando correctamente)
Predeterminado=4 (problemas durante la sesión anterior)
Opción de arranque pre-seleccionada en el menú que aparece con la opción "BootMenu=1" o pulsando F8 durante el arranque
BootMenuDelay Predeterminado=30
Segundos para la selección automática de la opción definida con BootDefault
BootGUI Predeterminado=1
Inicio automático del modo gráfico en arranque "Normal". Poniendo este valor a "0" se desactiva la entrada automática en el modo gráfico
BootWin Predeterminado=1
Si es 0 arrancará la "Versión anterior" en "Normal" o "Símbolo de sistema", es decir, desactiva la carga de Windows
BootMulti Predeterminado=1
Muestra la opción de arranque "Versión anterior de MS-DOS". Este valor de debería ponerse a "0" para evitar la corrupción de los ficheros de arranque
BootSafe Predeterminado=0
Poniendo este valor a "1" se fuerza el automático del modo "A prueba de fallos"
BootWarn Predeterminado=1
Muestra las advertencias de... modo "A prueba de fallos"
DblSpace Predeterminado=1
Carga automática el controlador de compresión de disco DblSpace.sys, si es necesario
DrvSpace Predeterminado=1
Carga automática el controlador de compresión de disco DrvSpace.sys, si es necesario
LoadTop Predeterminado=1
Carga COMMAND, DRVSPACE o DBLSPACE en la parte alta de los 640K. Si se detectan problemas de compatibilidad con aplicaciones DOS poner este valor a "0"
Logo Pedeterminado=1
Muestra el logo durante el arranque. Ponerlo a "0" parece que evita problemas con ciertos gestores de memoria
DoubleBuffer Predeterminado=0
Con valor "1" se activa la función de DoubleBuffer en las controladoras que lo permiten (usar para dispositivos SCSI). Existe un valor indocumentado igual a "2" que activa la función, tanto si la controladora lo permite, como si no
AutoScan Predeterminado=1
Inicia Scandisk después de salir mal (0=nunca 1=automático 2=siempre)
WinVer Versión de Windows ¿¿...??
Network Predeterminado=0
Muestra la opción de arranque "A prueba de fallos con RED"
DisableLog Predeterminado=1
Al ponerlo a "0" se desactiva la creación del archivo "bootlog.txt"
BootConfig ¿¿...??
SystemReg ¿¿...??

De forma predeterminada el archivo MSDOS.SYS es un archivo "de sistema" y de "sólo lectura". Para poder editar su contenido será necesario desactivar el atributo de "sólo lectura", de otra forma no se podrán guardar las modificaciones que se hagan en el mismo.

Algunas aplicaciones esperan encontrar un archivo MSDOS.SYS de más de 1 KB (1024 bytes). Para conseguir este tamaño mínimo se puede rellenar el archivo con tantas líneas de texto como sean necesarias. Para evitar que estas líneas interfieran en el funcionamiento del sistema deben comenzar con un punto y coma ";".

[Volver]



Acelerar ligeramente el arranque de Windows (1)

Fuente:

  • Elisoft

Debería funcionar con:

  • Windows 95/98/98SE/ME

Requiere:

  • Nada especial
Aunque pueda parecer que no tiene nada que ver, el valor de BUFFERS definido en el archivo de configuración del sistema CONFIG.SYS afecta apreciablemente al tiempo de carga de Windows. Por defecto este parámetro no aparece en CONFIG.SYS, lo que hace que tome el valor predeterminado (en mi caso 12 buffers). El truco consiste en editar este archivo, poner el parámetro BUFFERS, y darle el valor que mejor se ajuste a nuestra máquina para reducir el tiempo de carga de Windows sin desperdiciar memoria de forma innecesaria.

Estos han sido los resultados de mis pruebas:

VALOR DE BUFFERS RAM CONVENCIONAL CONSUMIDA (bytes) TIEMPO DE CARGA (seg.)
sin parámetro (12) 512 (el resto en HMA) 32,6
8 (mínimo) 512 (el resto en HMA) 32,9
15 512 (el resto en HMA) 32,5
20 10720 31,2
25 13408 29,9
30 16080 27,8

Los tiempos se han tomado desde que aparece el mensaje "Iniciando Windows..." hasta que aparecen los iconos en el Escritorio. La máquina de pruebas ha sido un equipo normalito compuesto por; placa base con BUS 100 Mhz, procesador AMD K6-2 400Mhz, disdo duro IDE 8GB ATA/33, memoria SDRAM 128MB 100Mhz, Windows 98.

[Volver]



Acelerar ligeramente el arranque de Windows (2)

Fuente:

  • Elisoft

Debería funcionar con:

  • Windows 98/98SE/ME

Requiere:

  • Nada especial
De forma predeterminada el instalador de Windows deja activada una función que hace que el controlador de disquetes busque nuevas unidades cada vez que se inicia el sistema. Esto puede tener utilidad en los ordenadores portátiles, que algunas veces tienen problemas para reconocer los cambios de disquete entre cada inicio de sesión, pero en un ordenador de sobremesa no tiene mucho sentido. Se puede ahorrar un poco de tiempo en el arranque de Windows si se desactiva esta función.

El ajuste de este parámetro se hace siguiendo esta secuencia:

  • Toma uno de Estos dos caminos...
    - Inicio > Configuración > Panel de control > Sistema
    - Botón derecho sobre "Mi PC", opción "Propiedades"
  • Pestaña "Rendimiento"
  • Botón "Sistema de archivos..."
  • Pestaña "Disco"
    - Buscar nuevas unidades de disco cada vez que inicie su PC

[Volver]



Iniciar programas automáticamente en el arranque

Fuente:

  • Elisoft

Debería funcionar con:

  • Windows 95/98/98SE/ME
  • Windows NT/2000/XP (sólo en las capetas especificadas en el truco y en todas las claves del registro)

Requiere:

  • Nada especial
Se puede ejecutar un programa automáticamente al iniciar Windows si lo colocas en uno de estos sitios:
  • Archivo WIN.INI, bloque [WINDOWS], claves RUN y LOAD
  • Se pone el nombre del programa que quieres que se ejecute, incluida su ruta completa, a la derecha del signo igual de una de estas claves.
  • Si se usa la clave RUN el programa debería ejecutarse en una ventana normal, si se usa la clave LOAD el programa debería ejecutarse minimizado.
  • Se pueden poner varios programas separando sus nombres con un espacio en blanco.
  • El programa se ejecutará para cualquier usuario del equipo.
  • Archivo SYSTEM.INI, bloque [BOOT], clave SHELL
  • Esta clave se usa para especificar el programa que se cargará como entorno operativo. Normalmente este programa será EXPLORER.EXE, pero se puede poner cualquier otro. Curiosamente esta clave admite la carga de dos programas (lo narmal es especificar un sólo programa como entorno operativo). Mucho cuidado, es un buen sitio para esconder la ejecución de un virus.
  • Se pone el nombre del programa que quieres que se ejecute, incluida su ruta completa, a la derecha del signo igual.
  • Si se pone un segundo programa, su nombre se debe separar del primero con un espacio en blanco.
  • El programa se ejecutará para cualquier usuario del equipo.
  • Carpeta "WINDOWS\Menú Inicio\Programas\Inicio"
  • Se pone el programa o un acceso directo al mismo en esta carpeta. Esto hace que el programa sea visible en la estructura de menús del botón "Inicio".
  • En el caso de tener activada la gestión multiusuario el programa que se ponga aquí sólo se ejecutará para el usuario predeterminado.
  • Carpeta "WINDOWS\All Users\Menú Inicio\Programas\Inicio"
  • Se pone el programa o un acceso directo al mismo en esta carpeta. Este programa no será visible en la estructura de menús del botón "Inicio".
  • El programa que se ponga en esta carpeta se ejecutará para todos los usuarios en el caso de tener activada la gestión multiusuario.
  • Carpeta "WINDOWS\PROFILES\<USUARIO>\Menú Inicio\Programas\Inicio"
  • Se pone el programa o un acceso directo al mismo en esta carpeta. Esto hace que el programa sea visible en la estructura de menús del botón "Inicio" del usuario.
  • El programa que se ponga aquí sólo se ejecutará para el usuario elegido dependiendo de la carpeta de '<USUARIO>' especificada.
  • Carpeta "Documents ans Settings\<USUARIO>\Menú Inicio\Programas\Inicio"
  • Esta carpeta sólo se encuentra en sistemas Windows NT/2000/XP.
  • Se pone el programa o un acceso directo al mismo en esta carpeta. Esto hace que el programa sea visible en la estructura de menús del botón "Inicio" del usuario.
  • El programa que se ponga aquí sólo se ejecutará para el usuario elegido dependiendo de la carpeta de '<USUARIO>' especificada.
  • Carpeta "Documents ans Settings\All users\Menú Inicio\Programas\Inicio"
  • Esta carpeta sólo se encuentra en sistemas Windows NT/2000/XP.
  • Se pone el programa o un acceso directo al mismo en esta carpeta. Esto hace que el programa sea visible en la estructura de menús del botón "Inicio".
  • El programa que se ponga en esta carpeta se ejecutará para todos los usuarios.
  • Clave del registro [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
  • Se crea un nuevo valor de cadena con el nombre que se quiera y se le asigna el nombre del programa, incluida la ruta completa si es necesario.
  • Se pueden crear tantas entradas como sea necesario siempre que no tengan el mismo nombre.
  • Este programa sólo se ejecutará para el usuario activo en el momento de establecer el valor en la clave.
  • Clave del registro [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
  • Se crea un nuevo valor de cadena con el nombre que se quiera y se le asigna el nombre del programa, incluida la ruta completa si es necesario.
  • Se pueden crear tantas entradas como sea necesario siempre que no tengan el mismo nombre.
  • Este programa sólo se ejecutará "una vez" para el usuario activo en el momento de establecer el valor en la clave.
  • Clave del registro [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
  • Se crea un nuevo valor de cadena con el nombre que se quiera y se le asigna el nombre del programa, incluida la ruta completa si es necesario.
  • Se pueden crear tantas entradas como sea necesario siempre que no tengan el mismo nombre.
  • Este programa se ejecutará para cualquier usuario del equipo.
  • Clave del registro [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]
  • Se crea un nuevo valor de cadena con el nombre que se quiera y se le asigna el nombre del programa, incluida la ruta completa si es necesario.
  • Se pueden crear tantas entradas como sea necesario siempre que no tengan el mismo nombre.
  • Este programa sólo se ejecutará "una vez" para el primer usuario del equipo desde el momento de establecer el valor en la clave.

[Volver]



Salir de Windows usando un batch o un acceso directo

Fuente:

Debería funcionar con:

  • Windows 95/98/98SE/ME

Requiere:

  • Nada especial
Con este truco podrás reiniciar, o cerrar Windows y apagar la máquina (si la fuente de alimentación es ATX y todo funciona bien) de forma totalmente automática. Lo único que tienes que hacer es crear un acceso directo o un archivo BATCH con una de las instrucciones que te pongo a continuación y llamarlo en el momento que consideres oportuno... por ejemplo, con el programador de tareas a una hora determinada, cuando tu monitor de temperatura detecte una situación peligrosa, o cuando termines de descargar ese pedazo de programa.

Para Windows 95 (y parece ser que para Windows 98 y Millenium)

RUNDLL.EXE USER.EXE,ExitWindows

Para Windows 98

Se puede usar una de estas dos instrucciones...

  • runonce.exe -q
  • rundll32.exe shell32.dll,SHExitWindowsEx <n>

Donde <n> puede ser uno de los siguientes números:

  • 0 - LOGOFF
    Se cierran todos los procesos y después se cierra la sesión del usuario
  • 1- SHUTDOWN
    Deja el sistema en un punto en el que sería seguro desconectar la alimentación. Todos los archivos son escritos en disco y cerrados, y todos los procesos son terminados
  • 2 - REBOOT
    Reproduce el proceso de SHUTDOWN y entonces reinicia el sistema 
  • 4 - FORCE
    Fuerza la terminación de todos los procesos. Cuando se utiliza este valor Windows no pide a las aplicaciones que terminen de ejecutarse para poder cerrar el sistema. Esto puede causas perdidas de datos, así que este valor sólo debe usarse en casos de emergencia
  • 8 - POWEROFF
    Reproduce el proceso de SHUTDOWN y entonces desconecta la alimentación. El equipo debe soportar la característica de apagado automático (placa base y fuente ATX)

Los valores descritos arriba pueden combinarse para conseguir otros resultados. Por ejemplo, para reiniciar el sistema sin esperar el consentimiento de ninguna aplicación en ejecución se puede usar el valor 6 (2-REBOOT + 4-FORCE). De esta forma la instrucción quedaría así:

RUNDLL32.EXE SHELL32.DLL,SHExitWindowsEx 6

NOTAS:

  • La instrucción "rundll32.exe shell32.dll,SHExitWindowsEx <n>" puede ser llamada desde la clave del registro "RunOnce".
  • La instrucción "runonce.exe -q" reiniciará el sistema transcurridos 15 segundos desde su ejecución, no se pueden añadir otras opciones a la línea de comandos y no se puede llamar desde la clave del registro "RunOnce.

En el archivo ZIP tienes unos accesos directos con todas las posibilidades descritas.

EXITWINDOWS.ZIP

[Volver]



Solucionar el problema de cierre de Windows 98 S.E.

Fuente:

Debería funcionar con:

  • Windows 98SE

Requiere:

  • Nada especial
En algunas configuraciones Windows 98 S.E. no se apaga correctamente, quedándose en la pantalla de "Espere mientras se apaga el equipo" o con una pantalla en blanco y un cursor parpadeante. Microsoft dice que los problemas de cierre de Windows 98 S.E. pueden deberse a una de las causas siguientes:
  • Una tarjeta de vídeo que no tiene asignada una IRQ en modo real.
  • Un programa normal o residente (TSR) puede no cerrarse correctamente.
  • Se cargó un controlador de dispositivo incompatible, dañado o que causa un conflicto.
  • Un archivo de sonido para 'Salir de Windows' dañado.
  • Hardware dañado o mal configurado.
  • Un valor de configuración incompatible del Sistema básico de entrada y salida (BIOS, Basic Input/Output System).
  • Una mala configuración de Administración avanzada de energía (APM, Advanced Power Management) o de Interfaz avanzada de configuración y energía (ACPI, Advanced Configuration and Power Interface).
  • Está habilitada la clave del Registro Apagado rápido.

Microsoft propone como solución para este problema una de estas cosas:

  • Compruebe los programas que se están ejecutando. Esto incluye deshabilitar los programas residentes que se cargan en modo real, los programas que se inician desde el grupo Inicio y los controladores de otros proveedores que no son esenciales.
  • Compruebe la configuración del hardware. Esto incluye la configuración y la versión del BIOS. Deshabilite o quite el hardware que pueda ser la causa del problema. Quizás sea necesario que se ponga en contacto con el fabricante del hardware para obtener posibles actualizaciones. 

Para completar estas tareas Microsoft proporciona el 'nombre' de varios documentos de su base de datos de conocimientos. Aquí están los 'enlaces' a esos documentos...

Si después de seguir todos los pasos la cosa sigue igual, Microsoft recomienda instalar una "parche" que supuestamente corrige el problema.

Esta es la página de descarga...

PD1: Si quieres descargar el archivo directamente utiliza el enlace que aparece un poco más abajo. El archivo corresponde a la versión en castellano.

PD2: Si con esto no se soluciona el problema, y tienes tu ordenador conectado a una red con unidades de red mapeadas, prueba con este otro truco.

4756ES8.EXE

[Volver]



Ejecutar un programa al cerrar el sistema

Fuente:

  • Elisoft

Debería funcionar con:

  • Windows 95/98/98SE/ME

Requiere:

  • Nada especial
Por diversas razones puede ser interesante ejecutar un programa justo antes de salir de Windows. Inicialmente el sistema no proporciona los medios para hacer esto, pero con un poco de imaginación y un par de trucos se puede conseguir.

La implementación de este truco se puede dividir en las siguientes fases...

  • Eliminar del menú Inicio las opciones de 'Apagar el sistema' y 'Cerrar la sesión'. Para ello puedes usar los siguientes trucos de mi colección:

Eliminar la opción de "Apagar el sistema..." del menú "Inicio"
Eliminar la opción de "Cerrar sesión" del menú "Inicio"

  • Crear unos ficheros BATCH que te permitan 'Apagar el sistema' y 'Cerrar la sesión'. Para esto puedes usar este otro truco de mi colección:

Salir de Windows usando un batch o un acceso directo

  • Crear accesos directos en el Escritorio, o en el menú Inicio, a esos ficheros BATCH del punto anterior. Así tendrás a mano esta nueva forma de salir de Windows.
  • Añadir a esos ficheros BATCH la línea que inicie el programa que quieres que se ejecute antes de salir de Windows.

Una puntualización sobre la ejecución de los ficheros BATCH...

Cuando se inicia un proceso por lotes (el fichero BATCH) lo normal es que cada línea se ejecute de forma secuencial, y no se ejecute la siguiente línea hasta que termine el proceso lanzado en la inmediatamente anterior. Esto es cierto en MS-DOS, pero en Windows las cosas funcionan de otra manera. Si ejecutamos un fichero BATCH desde dentro de Windows (en una ventana MS-DOS) las líneas se interpretan y ejecutan secuencialmente, pero casi nunca se espera la terminación del proceso lanzado en una línea para continuar con la ejecución de la siguiente (cosas de la multitarea). En el caso que nos ocupa esto puede ser un contratiempo, porque posiblemente cerremos Windows sin dar tiempo a terminar la ejecución del programa que hemos iniciado antes.

La solución es añadir la sentencia "START /W" antes del nombre de ese programa. Esta sentencia hace esperar al interprete de comandos hasta que la ejecución del programa que se ha lanzado en esa línea termine.

Un ejemplo de proceso normal (las cuatro sentencias se ejecutarán casi al mismo tiempo)...

CALC.EXE
NOTEPAD.EXE
DIR
ECHO TERMINADO

Un ejemplo de proceso con pausa (hasta que no termine la ejecución de un sentencia no se iniciará la siguiente)...

START /W CALC.EXE
START /W NOTEPAD.EXE
START /W DIR
ECHO TERMINADO

[Volver]



Solucionar el problema de cierre de Windows 98 S.E. en red

Fuente:

Debería funcionar con:

  • Windows 95/98/98SE

Requiere:

  • Nada especial
Además de las razones descritas en este otro truco, Windows 98 S.E. (también W95 y W98) puede tener problemas para cerrarse correctamente si el sistema está conectado a una red de área local (una LAN) y se tiene mapeado un 'significativo' número de unidades de red. Microsoft no detalla el número de unidades que se debe considerar 'significativo'.

El problema parece ser causado porque durante el proceso de cierre, el sistema envía un mensaje a todas las aplicaciones (mensaje broadcast), y las aplicaciones deben contestar con otro mensaje para que el sistema se pueda cerrar. Parece ser que cuando se tienen muchas unidades de red mapeadas algunos mensajes se pueden quedar 'atascados' en la cola de entrega, y mientras que queden mensajes brodcast pendientes el sistema esperará eternamente, es decir, se quedará 'colgado'.

Microsoft propone como soluciones para este problema una de estas cosas:

  • Actualizarse a Windows Millenium. Parece ser que WME ya no sufre esos 'atascos' de consecuencias tan nefastas.
  • Desconectar todas las unidades de red mapeadas antes de cerrar el sistema.
  • Instalar un parche que supuestamente corrige el problema. El parche hace que el sistema espere un tiempo determinado antes de cerrarse automáticamente si detecta que existen mensajes broadcast pendientes.

Esta es la página de descarga del parche...

Si quieres descargar el archivo directamente utiliza el enlace que aparece un poco más abajo. El archivo corresponde a la versión en castellano.

Microsoft amplía la información sobre este asunto en varios documentos de su base de datos de conocimientos. Aquí están los enlaces a esos documentos...

260067SPA8.EXE

[Volver]


La Web de ELISOFT
Copyright © Elisoft - Septiembre 2000