Sintaxis del comando de comprobador de controladores
La siguiente sintaxis se usa al ejecutar la utilidad Comprobador en una ventana del símbolo del sistema.
Puede escribir varias opciones en la misma línea única. Por ejemplo:
verifier /flags 7 /driver beep.sys disksdd.sys
Sintaxis de Windows 11
Puede usar el parámetro /volatile con algunas opciones de Comprobador de controladores /flags . Para obtener más información, consulte Uso de la configuración volátil.
Nota:
El parámetro /volatile quedará en desuso en una versión futura de Windows. En Windows 11, la opción de reemplazo es la opción /dif DifEnabledRule /now . Consulta la sección Clases de reglas de Windows 11 a continuación para ver las clases de regla que se pueden habilitar con esta opción.
verifier /standard /all
verifier /standard /driver NAME [NAME ...]
verifier {/ruleclasses | /rc | dif} <options> [<ruleclass_1> <ruleclass_2> ...] /all
verifier {/ruleclasses | /rc | dif} <options> [<ruleclass_1> <ruleclass_2> ...] /driver NAME [NAME ...]
verifier /flags <options> /all
verifier /flags <options> /driver NAME [NAME ...]
verifier /rules [OPTION ...]
verifier /dif [<ruleclass_1> <ruleclass_2> ...] /now /driver NAME [NAME ...]
verifier /query
verifier /querysettings
verifier /bootmode [persistent | resetonbootfail | resetonunusualshutdown | oneboot]
verifier /bc <number_of_reboots>
verifier /reset
verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
verifier /faultssystematic [OPTION ...]
verifier /log LOG_FILE_NAME [/interval SECONDS]
verifier /volatile /flags <options>
verifier /volatile /adddriver NAME [NAME ...]
verifier /volatile /removedriver NAME [NAME ...]
verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
verifier /domain <types> <options> /driver ... [/logging | /livedump]
verifier /logging
verifier /livedump
verifier /?
verifier /help
Sintaxis de Windows 10
Puede usar el parámetro /volatile con algunas opciones del comprobador de controladores /flags y con /standard. No puede usar /volatile con las opciones /flags para la comprobación de cumplimiento de DDI, la comprobación de errores de retraso de Power Framework o la comprobación de Storport. Para obtener más información, consulte Uso de la configuración volátil.
verifier /standard /all
verifier /standard /driver NAME [NAME ...]
verifier {/ruleclasses | /rc} <options> [<ruleclass_1> <ruleclass_2> ...] /all
verifier /flags <options> /all
verifier /flags <options> /driver NAME [NAME ...]
verifier /rules [OPTION ...]
verifier /query
verifier /querysettings
verifier /bootmode [persistent | resetonbootfail | resetonunusualshutdown | oneboot]
verifier /reset
verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
verifier /faultssystematic [OPTION ...]
verifier /log LOG_FILE_NAME [/interval SECONDS]
verifier /volatile /flags <options>
verifier /volatile /adddriver NAME [NAME ...]
verifier /volatile /removedriver NAME [NAME ...]
verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
verifier /domain <types> <options> /driver ... [/logging | /livedump]
verifier /logging
verifier /livedump
verifier /?
verifier /help
Sintaxis de Windows 8.1
Puede usar el parámetro /volatile con algunas opciones del comprobador de controladores /flags y con /standard. No se puede usar /volatile con las opciones /flags para la comprobación de cumplimiento de DDI, la comprobación de retraso de Power Framework y la comprobación de Storport. Para obtener más información, consulte Uso de la configuración volátil.
verifier /standard /all
verifier /standard /driver NAME [NAME ...]
verifier /flags <options> /all
verifier /flags <options> /driver NAME [NAME ...]
verifier /rules [OPTION ...]
verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
verifier /faultssystematic [OPTION ...]
verifier /log LOG_FILE_NAME [/interval SECONDS]
verifier /query
verifier /querysettings
verifier /bootmode [persistent | disableafterfail | oneboot]
verifier /reset
verifier /volatile /flags <options>
verifier /volatile /adddriver NAME [NAME ...]
verifier /volatile /removedriver NAME [NAME ...]
verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
verifier /?
Sintaxis de Windows 8, Windows 7
Puede usar el parámetro /volatile con algunas opciones del comprobador de controladores /flags y con /standard. No puede usar /volatile con las opciones /flags para la comprobación de cumplimiento de DDI, la comprobación de retraso de Power Framework, la comprobación de Storport, la comprobación SCSI o con /disk. Para obtener más información, consulte Uso de la configuración volátil.
verifier [/volatile] [/standard | /flags Options ] [ /all | /driver DriverList ]
verifier /volatile /faults [Probability PoolTags Applications DelayMins] /driver DriverList
verifier /volatile {/adddriver | /removedriver} DriverList
verifier /reset
verifier /querysettings
verifier /query
verifier /log LogFileName [/interval Seconds]
verifier /?
Parámetros
Sintaxis de la línea de comandos del comprobador
/all Directs Driver Verifier para comprobar todos los controladores instalados después del siguiente arranque.
/bc <number_of_reboots> Establece el número de reinicios para los que la comprobación debe estar activa.
Esta opción establece automáticamente el modo de arranque ResetOnUnusualShutdown.
Modo /bootmode Controla si la configuración del Comprobador de controladores está habilitada después de un reinicio. Para establecer o cambiar esta opción, debe reiniciar el equipo.
Bootmode | Descripción |
---|---|
persistente |
Garantiza que la configuración del comprobador del controlador persista (permanezca en vigor) en muchos reinicios. Esta es la configuración predeterminada. |
resetonbootfail |
Deshabilita el Comprobador de controladores para los reinicios posteriores si el sistema no se pudo iniciar. |
oneboot |
Solo habilita la configuración del comprobador de controladores para la próxima vez que se inicie el equipo. El comprobador de controladores está deshabilitado para los reinicios posteriores. |
resetonunusualshutdown |
(Introducido en Windows 10, compilación 1709) El Comprobador de controladores se conservará hasta que se produzca un apagado inusual. Su abreviatura, "rous", se puede usar. |
/dif DifEnabledRule Habilite la comprobación mediante una regla habilitada para DIF. La comprobación surtirá efecto la próxima vez que se reinicie el sistema. Agregado en Windows 11.
/dif DifEnabledRule /now Habilita inmediatamente la comprobación mediante una regla habilitada para DIF. Habilita las clases de regla inmediatamente sin necesidad de reiniciar. Esta opción solo es válida si no se está ejecutando ninguna clase de regla. Consulta las descripciones de la clase de regla de Windows 11 para las clases de reglas capaces de activarse inmediatamente.
/driver DriverList Especifica uno o varios controladores que se comprobarán. DriverList es una lista de controladores por nombre binario, como Driver.sys. Use un espacio para separar cada nombre de controlador. No se admiten valores comodín, como n*.sys.
/driver.exclude DriverList Especifica uno o varios controladores que se excluirán de la comprobación. Este parámetro solo es aplicable si se seleccionan todos los controladores para la comprobación. DriverList es una lista de controladores por nombre binario, como Driver.sys. Use un espacio para separar cada nombre de controlador. No se admiten valores comodín, como n*.sys.
/faults Habilita la característica simulación de recursos bajos en el comprobador de controladores. Puede usar /faults en lugar de /flags 0x4. Sin embargo, no puede usar /flags 0x4 con los subparámetros /faults .
Puede usar los siguientes subparámetros del parámetro /faults para configurar la simulación de recursos bajos.
Subparámetro | Descripción |
---|---|
Probabilidad |
Especifica la probabilidad de que el Comprobador de controladores produzca un error en una asignación determinada. Escriba un número (en decimal o hexadecimal) para representar el número de posibilidades en 10 000 que el comprobador de controladores producirá un error en la asignación. El valor predeterminado, 600, significa 600/10000, es decir, el 6 %. |
Etiquetas de grupo |
Limita las asignaciones que el Comprobador de controladores puede producir errores en las asignaciones con las etiquetas de grupo especificadas. Puede usar un carácter comodín (*) para representar varias etiquetas de grupo. Para enumerar varias etiquetas de bloque, sepárelas con espacios. De forma predeterminada, se pueden producir errores en todas las asignaciones. |
Aplicaciones |
Limita las asignaciones que puede producir un error en las asignaciones del comprobador de controladores para el programa especificado. Escriba el nombre de un archivo ejecutable. Para enumerar programas, separe sus nombres con espacios. De forma predeterminada, se pueden producir errores en todas las asignaciones. |
DelayMins |
Especifica el número de minutos después del arranque durante el cual el Comprobador de controladores no produce un error intencional en ninguna asignación. Este retraso permite que los controladores se carguen y el sistema se estabilice antes de que comience la prueba. Escriba un número (en decimal o hexadecimal). El valor predeterminado es 7 minutos. |
/faultssystematic Especifica las opciones para la simulación sistemática de recursos bajos. Use la marca 0x40000 para seleccionar la opción simulación de recursos bajos sistemáticos.
OPTION | Descripción |
---|---|
enableboottime |
Habilita las inyecciones de errores en los reinicios del equipo. |
disableboottime |
Deshabilita las inyecciones de errores en los reinicios del equipo (esta es la configuración predeterminada). |
recordboottime |
Habilita las inyecciones de errores en el modo what if en los reinicios del equipo. |
resetboottime |
Deshabilita las inyecciones de errores en los reinicios del equipo y borra la lista de exclusión de la pila. |
enableruntime |
Habilita dinámicamente las inyecciones de errores. |
disableruntime |
Deshabilita dinámicamente las inyecciones de errores. |
recordruntime |
Habilita dinámicamente las inyecciones de errores en el modo what if . |
resetruntime |
Deshabilita dinámicamente las inyecciones de errores y borra la lista de pila con errores anterior. |
querystatistics |
Muestra las estadísticas de inserción de errores actuales. |
incrementcounter |
Incrementa el contador de paso de prueba usado para identificar cuándo se insertó un error. |
getstackid COUNTER |
Recupera el identificador de pila insertado indicado. |
excludestack STACKID |
Excluye la pila de la inyección de errores. |
/flags Opciones Activa las opciones especificadas después del siguiente reinicio. Este número se puede escribir en formato decimal o hexadecimal (con un prefijo 0x ). Se permite cualquier combinación de los valores siguientes.
Decimal | Hexadecimal | Configuración estándar | Opción |
---|---|---|---|
1 |
0x1 (bit 0) |
X |
|
2 |
0x2 (bit 1) |
X |
|
4 |
0x4 (bit 2) |
||
8 |
0x8 (bit 3) |
X |
|
16 |
0x10 (bit 4) |
X |
|
32 |
0x20 (bit 5) |
X |
|
64 |
0x40 (bit 6) |
Comprobación mejorada de E/S Esta opción se activa automáticamente al seleccionar Verificación de E/S. |
|
128 |
0x80 (bit 7) |
X |
|
256 |
0x100 (bit 8) |
X |
|
512 |
0x200 (bit 9) |
||
1024 |
0x400 (bit 10) |
||
2048 |
0x800 (bit 11) |
X |
|
8192 |
0x2000 (bit 13) |
Comprobación de MDL invariable para la pila (a partir de Windows 8) |
|
16384 |
0x4000 (bit 14) |
Comprobación de MDL invariable para el controlador (a partir de Windows 8) |
|
32 768 |
0x8000 (bit 15) |
Interrupción del retraso de Power Framework (a partir de Windows 8) (en desuso en la compilación 19042 y posteriores de Windows 10) |
|
65536 |
0x10000 (bit 16) |
Comprobación de la interfaz de puerto/minipuerto (a partir de Windows 10) |
|
131 072 |
0x20000 (bit 17) |
X |
Comprobación de cumplimiento de DDI (a partir de Windows 8) |
262144 |
0x40000 (bit 18) |
Simulación sistemática de recursos bajos (a partir de Windows 8.1) (en desuso en La compilación 19042 y posteriores de Windows 10) |
|
524288 |
0x80000 (bit 19) |
Comprobación de cumplimiento de DDI (adicional) (a partir de Windows 8.1) (en desuso en la compilación 19042 y posteriores de Windows 10) |
|
2097152 |
0x200000 (bit 21) |
Comprobación NDIS/WIFI (a partir de Windows 8.1) |
|
8388608 |
0x800000 (bit 23) |
Interrupción del retraso de sincronización del kernel (a partir de Windows 8.1) (en desuso en la compilación 19042 y posteriores de Windows 10) |
|
16777216 |
0x1000000 (bit 24) |
Comprobación del conmutador de máquina virtual (a partir de Windows 8.1) |
|
33554432 |
0x2000000 (bit 25) |
Comprobaciones de integridad de código (a partir de Windows 10) |
No puede usar este método para activar las opciones de comprobación de Storport. Para obtener información, consulte Comprobación de Storport.
/flags VolatileOptions Especifica las opciones del Comprobador de controladores que se cambian inmediatamente sin reiniciar.
Puede usar el parámetro /volatile con todos los valores /flags ).
Escriba un número en formato decimal o hexadecimal (con un prefijo 0x ).
Se permite cualquier combinación de los valores siguientes.
Hexadecimal | Opción |
---|---|
0x00000004 (bit 2) |
Simulación aleatoria de recursos bajos |
0x00000020 (bit 5) |
Detección de interbloqueos |
0x00000080 (bit 7) |
Comprobación de DMA |
0x00000200 (bit 9) |
Forzar solicitudes de E/S pendientes |
0x00000400 (bit 10) |
Registro IRP |
/ruleclasses o /rc <ruleclass_1 ruleclass_2 ... <><>ruleclass_k>
El parámetro ruleclasses está disponible a partir de la versión 1803 de Windows.
El parámetro ruleclasses abarca un conjunto mayor de clases de verificación que el parámetro /flags anterior. Aunque /flags está limitado a una expresión de mapa de bits de 32 bits, esta opción puede incluir más de 32 clases de verificación. Cada entero decimal positivo representa una clase de comprobación. Se pueden expresar varias clases separando cada identificador de clase con un carácter de espacio. Están disponibles los siguientes identificadores de clases de regla.
Clases de regla estándar
Valor | Regla |
---|---|
1 | Grupo especial |
2 | Forzar la comprobación de IRQL |
4 | Seguimiento de grupos |
5 | Comprobación de E/S |
6 | Detección de interbloqueos |
8 | Comprobación de DMA |
9 | Comprobaciones de seguridad |
12 | Comprobaciones varias |
18 | Comprobación de cumplimiento de DDI |
34 | Comprobación de WDF |
37 | Comprobación del filtro del sistema de archivos (5) |
Clases de regla adicionales
Estas clases de regla están pensadas para pruebas de escenario específicas. Las clases de regla marcadas con (*)
requieren verificación de E/S (5) y la habilitan automáticamente. Las clases de regla marcadas con compatibilidad con (**)
la deshabilitación de reglas individuales. Las clases de regla marcadas con (***)
están en modo de registro de forma predeterminada y requieren /onecheck para bloquearse tras la infracción.
Las marcas marcadas con (!)
requieren que el modo DIF (clase de regla 36) esté habilitado.
Valor | Regla |
---|---|
3 | Simulación aleatoria de recursos bajos |
10 | Forzar solicitudes de E/S pendientes (*) |
11 | Registro irP (*) |
14 | Comprobación de MDL invariable para la pila (*) |
15 | Comprobación de MDL invariable para el controlador (*) |
16 | Diferir el retraso de Power Framework |
17 | Comprobación de la interfaz de puerto o minipuerto |
19 | Simulación sistemática de recursos bajos |
20 | Comprobación de cumplimiento de DDI (adicional) |
22 | Comprobación de NDIS/WIFI (**) |
24 | Pruebas de exploración de vulnerabilidades mediante datos aleatorios de retraso de sincronización de kernel |
25 | Verificación de conmutador de VM |
26 | Comprobaciones de integridad de código |
33 | Comprobaciones de aislamiento de controladores (***, !) |
36 | Modo DIF |
Clases de reglas de Windows 11
A partir de Windows 11, están disponibles las siguientes clases de regla estándar. Estas clases de regla están habilitadas al usar la opción /standard .
La columna /now indica qué clases de regla se pueden habilitar sin reiniciar mediante la opción /dif DifEnabledRule /now .
Clases de regla estándar
Valor | Regla | /Ahora |
---|---|---|
1 | Grupo especial | sí |
2 | Forzar la comprobación de IRQL | sí |
4 | Seguimiento de grupos | sí |
5 | Comprobación de E/S | sí |
6 | Detección de interbloqueos | no |
8 | Comprobación de DMA | no |
9 | Comprobaciones de seguridad | sí |
12 | Comprobaciones varias | sí |
18 | Comprobación de cumplimiento de DDI | sí |
34 | Comprobación de WDF | no |
37 | Verificación del filtro del sistema de archivos | no |
Tenga en cuenta que la clase de regla 37 (comprobación del filtro del sistema de archivos) requiere que también esté habilitada la clase de regla 5 (comprobación de E/S). Consulte Comprobación del filtro del sistema de archivos para obtener más información sobre esta clase de regla.
Clases de regla adicionales
Están disponibles las siguientes clases de reglas adicionales.
- La columna /now indica qué clases de regla se pueden habilitar sin reiniciar mediante la opción /dif DifEnabledRule /now .
- La columna Rule classes required (Clases de regla necesarias ) indica qué clases de regla también deben estar habilitadas para usar la clase de regla determinada. Tenga en cuenta que el comando /dif incluye automáticamente la clase de regla 36 (modo DIF), pero /ruleclasses y /rc no.
- Las clases de regla marcadas con compatibilidad con
(**)
la deshabilitación de reglas individuales. - Las clases de regla marcadas con
(***)
están en modo de registro de forma predeterminada y requieren la opción /onecheck para bloquearse tras la infracción.
Valor | Regla | /Ahora | Clases de regla necesarias |
---|---|---|---|
3 | Simulación aleatoria de recursos bajos | no | None |
10 | Forzar solicitudes de E/S pendientes | no | 5 |
11 | Registro de IRP | no | 5 |
14 | Comprobación de MDL invariable para la pila | no | 5 |
15 | Comprobación de MDL invariable para el controlador | no | 5 |
16 | Diferir el retraso de Power Framework | no | None |
17 | Comprobación de la interfaz de puerto o minipuerto | no | None |
19 | Simulación sistemática de recursos bajos | sí | 36 |
20 | Comprobación de cumplimiento de DDI: adicional | sí | None |
22 | Comprobación de NDIS/WIFI (**) |
no | None |
24 | Pruebas de exploración de vulnerabilidades mediante datos aleatorios de retraso de sincronización de kernel | no | None |
25 | Verificación de conmutador de VM | no | None |
26 | Comprobaciones de integridad de código | no | None |
33 | Comprobaciones de aislamiento de controladores (***) |
no | 36 |
36 | Modo DIF | sí | None |
/log LogFileName [/interval|Seconds] Crea un archivo de registro con el nombre LogFileName. El Comprobador de controladores escribe periódicamente estadísticas en este archivo. Para obtener más información, consulte Creación de archivos de registro.
Si se escribe un comando comprobador /log en la línea de comandos, el símbolo del sistema no devuelve. Para cerrar el archivo de registro y devolver un símbolo del sistema, use la tecla CTRL+C. Después de un reinicio, para crear un registro, debe enviar el comando /log del comprobador de nuevo.
Opción | Descripción |
---|---|
/interval Seconds | Especifica el intervalo entre las actualizaciones del archivo de registro. El valor predeterminado es 30 segundos. |
/rules Opciones de opción para reglas que se pueden deshabilitar (avanzadas).
Opción | Descripción |
---|---|
consulta |
Muestra el estado actual de las reglas controlables. |
reset |
restablece todas las reglas a su estado predeterminado. |
identificador predeterminado |
Establece el identificador de regla en su estado predeterminado. En el caso de las reglas admitidas, el identificador de regla es el valor del parámetro 1 de comprobación de errores (0xC4 DRIVER_VERIFIER_DETECTED_VIOLATION). |
disable ID |
Deshabilita el identificador de regla especificado. En el caso de las reglas admitidas, el identificador de regla es el valor del parámetro 1 de comprobación de errores (0xC4 DRIVER_VERIFIER_DETECTED_VIOLATION). |
/standard Activa las opciones de comprobador de controladores "estándar" o predeterminadas después del siguiente arranque. Las opciones estándar son Grupo especial, Forzar comprobación de IRQL, seguimiento de grupos, verificación de E/S, detección de interbloqueo, comprobación de DMA. y verificación de WDF Las opciones estándar también incluyen comprobaciones de seguridad, comprobaciones varias y comprobación de cumplimiento de DDI.
Nota:
A partir de las versiones de Windows 10 después de 1803, el uso de /flags 0x209BB ya no habilitará automáticamente la comprobación de WDF. Use la sintaxis /standard para habilitar las opciones estándar, con la comprobación de WDF incluida.
/stop Deshabilita las clases de regla habilitadas a través de "/dif /now" para detener la comprobación.
/volatile /flags Cambia la configuración sin reiniciar el equipo. La configuración volátil surte efecto inmediatamente. Puede usar el parámetro /volatile con el parámetro /flags para habilitar y deshabilitar algunas opciones sin reiniciar. También puede usar /volatile con los parámetros /adddriver y /removedriver para iniciar o detener la comprobación de un controlador sin reiniciar, incluso si el Comprobador de controladores aún no se está ejecutando.
Especifica las opciones del Comprobador de controladores que se cambian inmediatamente sin reiniciar. Solo se pueden usar las marcas siguientes con volátil:
0x00000004 (bit 2): 0x00000020 de simulación aleatoria de recursos bajos (bit 5): detección de interbloqueos 0x00000080 (bit 7): comprobación de DMA 0x00000200 (bit 9): forzar solicitudes de E/S pendientes 0x00000400 (bit 10): registro IRP
Para obtener más información, consulte Uso de la configuración volátil.
Opción | Descripción |
---|---|
/adddriver VolatileDriverList |
Agrega los controladores especificados a la configuración volátil. Para especificar varios controladores, enumere sus nombres, separados por espacios. No se admiten valores comodín, como n.sys. Consulte Uso de la configuración volátil para obtener más información. |
/removedriver VolatileDriverList |
Quita los controladores especificados a partir de la configuración volátil. Para especificar varios controladores, enumere sus nombres, separados por espacios. No se admiten valores comodín, como n.sys. Consulte Uso de la configuración volátil para obtener más información. |
/reset Borra toda la configuración del comprobador de controladores. Después del siguiente arranque, no se comprobará ningún controlador.
/querysettings Muestra un resumen de las opciones que se activarán y los controladores que se comprobarán después del siguiente arranque. La pantalla no incluye controladores y opciones agregadas mediante el parámetro /volatile . Para otras formas de ver esta configuración, consulte Visualización de la configuración del Comprobador de controladores.
/query Muestra un resumen de la actividad actual del comprobador de controladores. El campo Nivel de la pantalla es el valor hexadecimal de las opciones establecidas con el parámetro /volatile. Consulte Supervisión de contadores globales y supervisión de contadores individuales para obtener explicaciones de cada estadística.
/domain Types **** Options Controla la configuración de la extensión del comprobador. Se admiten los siguientes tipos de extensión de comprobador.
Tipos | Descripción |
---|---|
Wdm |
Habilita la extensión del comprobador para los controladores WDM. |
Ndis |
Habilita la extensión del comprobador para los controladores de red. |
Ks |
Habilita la extensión del comprobador para los controladores de streaming en modo kernel. |
audio |
Habilita la extensión del comprobador para controladores de audio. |
Se admiten las siguientes opciones de extensión.
Opciones | Descripción |
---|---|
rules.default |
Habilita las reglas de validación predeterminadas para la extensión de comprobador seleccionada. |
rules.all |
Habilita todas las reglas de validación para la extensión de comprobador seleccionada. |
/Registro Habilita el registro de reglas infringidas detectadas por las extensiones de comprobador seleccionadas.
/livedump Habilita la recopilación de volcados de memoria activa para las reglas infringidas detectadas por las extensiones de comprobador seleccionadas.
/? Muestra la ayuda de la línea de comandos.
Para obtener más información sobre el uso de estos comandos, consulte Controlling Driver Verifier and Monitoring Driver Verifier.
/Ayuda Muestra la ayuda de la línea de comandos.
Para obtener más información sobre el uso de estos comandos, consulte Controlling Driver Verifier and Monitoring Driver Verifier.
Códigos de retorno
Los valores siguientes se devuelven después de que se haya ejecutado el comprobador del controlador.
0: EXIT_CODE_SUCCESS
1: EXIT_CODE_ERROR
2: EXIT_CODE_REBOOT_NEEDED