Evitar pantalla azul en Windows 7 al iniciar una VM de Virtualbox

Si al iniciar una máquina virtual (VM – Virtual Machine) con Windows 7 el proceso comienza normalmente y a los segundos obtenemos la pantalla azul de Windows (BSOD – Blue Screen of Death), existe la chance de que el antivirus Avast! esté instalado y sea la causa.

De ser así, abrimos la interfaz de usuario de Avast! y a continuación

  1. Menú > Opciones (Settings)
  2. General > Resolución de problemas (Troubleshooting)
  3. Desmarcar la opción “Activar virtualización asistida por hardware” (Enable Hardware-Assisted Virtualization)
  4. Reiniciar el equipo, tal como se indica en el detalle de esa opción

Volvemos a probar iniciar la VM y con suerte funcionará (como me pasó a mí)

OBS: Es posible que la opción que estamos desactivando haga menos seguro el sistema, pero es lo que me permite usar la máquina virtual.


Basado en: (secuencia de links que seguí, parece que esto vuelve a pasar cada cierto tiempo)

https://www.virtualbox.org/ticket/16866
Turns out that you have Avast installed. See #15135.

https://www.virtualbox.org/ticket/15135
Do you have Avast installed on your system? If so, is “Enable Hardware-Assisted Virtualization” checked?

https://forums.virtualbox.org/viewtopic.php?f=6&t=76191
The only change I’m aware of was Avast Antivirus update, so I uninstalled it, rebooted the computer and after that, VirtualBox was working again.
After that, just to double check, I re-installed Avast and yes, it broke VirtualBox.
In Avast, under the Troubleshooting Options page, Uncheck Enable Hardware-Assisted Virtualization.
Seems Avast must be running something in the background to create their “Sandbox” feature, and it locks up the virtualization features from being used by VirtualBox. Once I Unchecked that box and rebooted, my VBox VMs start right up!

https://forum.avast.com/index.php?topic=182778.0
Why did they need to turn on this option by default and not ask user? Average user might not need virtualization but I need that for working. I was really stressed yesterday, imagine if I was on tight deadline and this happen.

https://forum.avast.com/index.php?topic=182778.0
1. Settings -> Troubleshooting
2. Unmark/disable ‘Enable hardware-assisted virtualization’ and reboot.
That seems to release Avasts hold of the hardware virtualizations resources VirtualBox is missing to run 64-Bit Guests.
Despite disabling this feature seems unsafe, this did the trick.

Recuperar espacio en disco en Windows

Windows almacena mucha información de uso y de copias de seguridad que rara vez utilizamos. Siempre es bueno contar con un respaldo en caso de que algo falle, pero con el paso del tiempo el consumo de espacio en disco se hace excesivo y es entonces cuando podemos aplicar una limpieza.

La herramienta que Windows provee para ello es el Liberador de espacio en disco, el cual podemos lanzar desde Inicio > Ejecutar… escribiendo:

cleanmgr

Entre las opciones que provee, las que más consumen espacio son

  • Archivos temporales de Internet
    • utilizados por Internet Explorer
  • Papelera de reciclaje
    • Todo lo que vamos borrando
  • Archivos de copia de seguridad del Service Pack
    • generados a partir de una actualización del sistema con un Service Pack
  • Archivos temporales
    • generados por instalación y uso de diferentes aplicaciones
  • Archivos de Informes de error de Windows
    • Registros de errores que en algún caso podrían asistir a diagnóstico de problema

Ninguna de ellas es esencial para el uso del sistema y se pueden recuperar valiosos bytes para otras tareas.

Atajo para acceder a todas las tareas del Panel de Control en Windows

En las diferentes versiones de Windows a partir de Windows 7, existe la posibilidad de acceder a una carpeta especial que contiene todas las tareas que normalmente están disponibles navegando el Panel de Control, o haciendo una búsqueda dentro del mismo.

A esta carpeta se la conoce como Todas las tareas, o en inglés, All tasks y puede accederse desde Inicio > Ejecutar… (Win + R) escribiendo:

shell:::{ED7BA470-8E54-465E-825C-99712043E01C}

Alternativamente, si fuera necesario tenerla siempre disponible, se puede crear una carpeta con el nombre que uno quiera y a continuación del mismo agregar “.{ED7BA470-8E54-465E-825C-99712043E01C}”. Por ejemplo:

All tasks.{ED7BA470-8E54-465E-825C-99712043E01C}

Al confirmar la acción, solo quedará visible el nombre indicado y el icono de la carpeta será reemplazado por el icono del Panel de Control.

Basado en:

Ejecutar procesos indicando la prioridad en Windows

Al lanzar un proceso desde la línea de comandos, uno puede indicar su prioridad:

start <prioridad> <comando>

donde <prioridad> es alguno de los siguientes valores:

  • /REALTIME: Tiempo real
  • /HIGH: Alta
  • /ABOVENORMAL: Por encima de lo normal
  • /NORMAL: Normal 😉
  • /BELOWNORMAL: Por debajo de lo normal
  • /LOW: Baja

Ejemplo

start /high /b backup.bat

Se ejecuta el archivo batch con la prioridad alta, sin crear una nueva ventana (/b)

Una vez que el proceso está en ejecución, aún se puede Cambiar la prioridad de un proceso en Windows.

También te puede interesar:

Ejecutar procesos indicando la prioridad en Linux

Atajo para acceder a las Propiedades del sistema en Windows 7

Cada tanto tengo que acceder a las Propiedades del sistema en Windows. Agregar Variables de entorno es lo más común y en algunos casos mas remotos, configurar la posibilidad de Restaurar sistema o la configuración de Escritorio remoto.

Siempre sigo los mismos pasos:

  1. Acceder a “Sistema”
    • Sobre el icono de Equipo en el escritorio, presionar el botón derecho y elegir Propiedades.
      • Se puede hacer lo mismo sobre el vínculo Equipo dentro del menú Inicio
    • Acceder a Panel de Control > Sistema desde el menú Inicio
    • Abrir Equipo y en los comandos en la barra superior elegir “Propiedades del sistema” (*)
    • Presionar Tecla Win + Pausa
  2. Presionar sobre “Configuración avanzada del sistema” a la izquierda.

(*) Lo cual es raro porque accede a “Sistema”… Si elegimos “Propiedades” entre los comandos, se presentan las propiedades de la unidad de disco seleccionada dentro del Equipo.

El atajo para acceder de manera inmediata es:

Presionar Win + R (Ejecutar…) y escribir “sysdm.cpl

Establecer una dirección IP fija en Windows

Cuando un equipo no tiene una dirección IP fija, necesita que otro dispositivo le asigne una automáticamente / dinámicamente. De esta tarea se encarga el servicio DHCP que puede estar provisto por un servidor dedicado o por un router por ejemplo.

Hay casos en los que necesitamos definirle una dirección IP en particular al equipo, ya sea por organización o para configurar alguna otra aplicación o servicio que así lo requiera. Si bien DHCP se puede configurar para asignar cierta IP del rango disponible a una dirección MAC determinada, requiere saber obtener la dirección MAC de la placa de red de un equipo y tener acceso a la configuración del servicio DHCP.

A continuación voy a explicar cómo hacerlo para una dirección IPv4 (es muy similar para IPv6, y en un futuro será necesario hacerlo).

En Windows 7, debemos llegar hasta las Propiedades de la conexión correspondiente al dispositivo de red (placa de red con conexión Ethernet o Wifi). Una de las formas para lograrlo:

  1. Abrir el Panel de Control
  2. Acceder a Centro de Redes y Recursos Compartidos
  3. Elegir “Cambiar configuración del adaptador” en la lista de comandos de la izquierda

También podemos ir a Inicio > Ejecutar… y escribir:

ncpa.cpl

Una vez allí veremos las conexiones existentes y deberemos determinar cual es la que queremos configurar. Sobre ella:

  1. Click derecho y elegir Propiedades
  2. Posicionarse sobre “Protocolo de Internet versión 4”
  3. Presionar “Propiedades”
  4. Elegir la opción “Usar la siguiente dirección IP”
  5. Completar:
    • Dirección IP y Máscara de subred: esta es la dirección fija para el equipo
      • No podemos poner “cualquier” valor. De lo contrario, nuestro equipo podría quedar inaccesible al resto de los dispositivos de la red.
    • Puerta de enlace predeterminada: por lo general es la dirección IP del router de la LAN
  6. Completar también el Servidor DNS preferido: por lo general es la dirección IP del router de la LAN
    • Alternativamente, pueden usarse los DNS de Google: 8.8.8.8 y 8.8.4.4

Procesar varios archivos por línea de comandos en Windows

Para aplicar un cierto acción a varios archivos desde la línea de comandos de Windows existe la instrucción forfiles.

En Windows 7, la invocación tiene los siguientes parámetros (todos son opcionales):

  • /P <PATH>: ruta sobre la cual buscar los archivos
    • Si no se especifica, se considera el directorio actual
  • /S: se procesan los subdirectorios del path recursivamente
  • /M <PATRON>: patrón de los archivos a considerar, pudiendo indicar nombre y extensión. Por ej: *.log
    • Si no se especifica, se considera *
  • /D  { [+] | – }{ dd/mm/aaaa | N }: selecciona archivos a partir de la fecha de última modificación de cada uno.
    • Si no se especifica el signo -, se considera por defecto +
    • -dd/mm/aaaa: fecha de última modificación anterior o igual a dd/mm/aaaa
    • +dd/mm/aaaa: fecha de última modificación posterior o igual a dd/mm/aaaa
    • -N: fecha de última modificación anterior o igual a la fecha actual menos N días
    • +N: fecha de última modificación posterior o igual a la fecha actual más N días
  • /C “<COMANDO>”: indica la acción a ejecutar sobre cada uno de los archivos que hayan sido seleccionados
    • Si no se especifica, se considera “cmd /c echo @file”
    • Si se desea utilizar un comando de CMD, deben estar precedidos por “cmd /c”
    • Variables disponibles en <COMANDO>
      • @file: nombre del archivo
      • @fname: nombre de archivo sin extensión
      • @ext: extensión del archivo
      • @path: ruta de acceso completa al archivo
      • @relpath: ruta de acceso relativa del archivo
      • @isdir: “TRUE” si es un directorio y “FALSE” si es un archivo
      • @fsize: tamaño del archivo en bytes
      • @fdate: última fecha de modificación del archivo
      • @ftime: última hora de modificación del archivo

 

Ejemplos:

forfiles /P C:\logs /D -20 /C "cmd /c del @path"

Borra los archivos del directorio logs de más 20 días desde su última fecha de modificación

forfiles /C "cmd /c if @isdir==TRUE echo @file"

Imprime por pantalla los directorios que se encuentren en la ruta actual

forfiles /P C:\Documents\ /S /M *.xlsx /C "cmd /c echo @fname - @fdate"

Muestra el nombre y fecha de última modificación de cada uno de los archivos de Excel dentro del directorio de documentos (y subdirectorios)

Respaldar preferencias y datos de la sesión de Firefox en Windows

Me sucede cada cierto tiempo que debido a un reinicio espontáneo del equipo, un corte de luz o un cuelgue de Firefox, se pieden o bien las preferencias del navegador o bien los datos de la sesión: principalmente las pestañas abiertas y los grupos de pestañas!

Como me gusta Firefox y quiero seguir usándolo, busqué la forma de respaldar esta información y poder recuperarla en caso de fallo. A continuación les presento el contenido del script para realizar esta tarea (tomando como base un script de respaldo en Windows), el cual pueden programar para que se ejecute por ejemplo en cada inicio de sesión en Windows.

Obs: Debemos conocer la ubicación del perfil de Firefox para poder avanzar.

Estructura del script

@echo off
for /f "tokens=1-3 delims=/- " %%a in ('date /t') do set FECHA=%%c%%b%%a
for /f "tokens=1-2 delims=: " %%a in ('time /t') do set HORA=%%a%%b

copy <PATH_FIREFOX_PROFILE>\sessionstore.js <PATH_BACKUP>\sessionstore-%FECHA%-%HORA%.bak
copy <PATH_FIREFOX_PROFILE>\pref.js <PATH_BACKUP>\sessionstore-%FECHA%-%HORA%.bak

Entonces tendremos en PATH_BACKUP una copia de los archivos sessionstore.js (datos de la sesión) y pref.js (preferencias) del perfil de Firefox, renombrados con extensión bak y con la fecha y hora en que se copiaron.

Para no tener que ir cada cierto tiempo a eliminar las copias viejas, podemos hacer que el script lo haga automáticamente borrando los archivos .bak de más de N días desde su última modificación, agregando al final:

forfiles /P <PATH_BACKUP> /M *.bak /D -<N> /C "cmd /c del @path"

Donde N indica la cantidad de días previos a la fecha actual, lo cual determina una fecha tope. Se seleccionan los archivos cuya fecha de última modificación sea menor o igual a esa fecha tope.

Atención: Si el script no se ejecuta por mucho tiempo es posible que eliminemos las únicas copias de las que disponemos!

Ejemplo:

@echo off
for /f "tokens=1-3 delims=/- " %%a in ('date /t') do set FECHA=%%c%%b%%a
for /f "tokens=1-2 delims=: " %%a in ('time /t') do set HORA=%%a%%b

copy C:\Profiles\Firefox\q7v2je1d.default\sessionstore.js <PATH_BACKUP>\sessionstore-%FECHA%-%HORA%.bak
copy C:\Profiles\Firefox\q7v2je1d.default\pref.js D:\firefox_backups\sessionstore-%FECHA%-%HORA%.bak

forfiles /p D:\firefox_backups\ /M *.bak /D -90 /C "cmd /c del @path"

De esta forma cada vez que se ejecute el script estaremos respaldando las preferencias e información de la sesión de Firefox y automáticamente borrando los archivos copiados de más de 90 días (cada par ocupa menos de 350 Kb.)

Atajos para elementos anclados en la barra de tareas de Windows 7

Si usamos mucho los elementos anclados en Windows 7, podemos lanzarlos mediante un atajo de teclado:

  • Win + [1-9]: inicia la aplicación anclada en la posición [1-9] de izquierda a derecha
  • Win + 0: inicia la aplicación anclada en la posición 10

Si la aplicación ya esta abierta y no hay botones combinados, al soltar el número y volver a presionar, la misma se minimiza.

En caso de que los botones se muestren combinados:

  • al soltar el número y volver a presionar, se pasa por cada una de las ventanas de dicha aplicación.
  • al presionar y soltar rápidamente, la previsualización de las ventanas de la aplicación queda abierta y se puede pasar por ellas usando las flechas del teclado.

OBS: En Windows XP, esta combinación de teclas permitía ejecutar las aplicaciones que se encontraban en la barra de herramientas de Acceso Rápido

Tip adicional: Si hacen click del medio sobre un elemento de la barra de tareas, se abre una nueva ventana de la aplicación que corresponda (siempre que la aplicación soporte múltiples ventanas)

Botones combinados

Los elementos en la barra de tarea se pueden configurar para que se agrupen (combinen) cuando son de la misma aplicación. Para ver la configuración actual:

  1. Click derecho sobre la barra de tareas
  2. Elegir Propiedades
  3. En la solapa Barra de Tareas, ver el valor de “Botones de la barra de tareas”:
    • Combinar siempre y ocultar etiquetas: cada ventana se agrupa con las de la misma aplicación (un botón por cada aplicación)
    • Combinar si barra está llena
    • No combinar nunca: cada ventana genera un botón distinto en la barra de tareas

Qué hacer cuando explorer.exe no responde

Más allá de que puede haber cientos de causas para un problema como este, cuando notamos que deja de funcionar la barra de tareas, el menú inicio y el escritorio tenemos que intentar recuperar el control del sistema.

En algunos casos podemos notar que el puntero del mouse se vuelve un aro con un brillo que le da vueltas y/o puede aparecer un cartel indicando “explorer.exe no responde”. Si el origen es casual debido a que usamos una cierta aplicación o intentamos hacer una acción compleja, podemos hacer lo siguiente:

  1. Cerrar todas las aplicaciones posibles
  2. Abrir el administrador de tareas
  3. Acceder a la solapa Procesos
  4. Buscar y seleccionar el proceso cuyo nombre de imagen es “explorer.exe”
  5. Presionar el botón “Finalizar proceso” (abajo a la derecha)
  6. Confirmar la finalización del proceso
  7. Dentro del administrador de tareas, seleccionar del menú Archivo > “Nueva tarea (Ejecutar…)”
  8. Escribir “explorer” y Aceptar

Una vez hecho esto, es posible que todo vuelva a la normalidad. De lo contrario, si ocurre nuevamente o muy a menudo entonces es probable que el problema sea más grave como por ejemplo una aplicación que falla, un malware, un virus o el antivirus mismo.