No se permite configurar una variable NVRAM en el arranque normal, pero sí en el modo de recuperación

Si la memoria no me falla, entonces en Yosemite era posible configurar la variable NVRAM agcincluso nvram boot-argsen el modo normal de arranque completo.

Esto parece haber cambiado en versiones posteriores del sistema operativo.

En Sierra esto da como resultado un mensaje de error:

sudo nvram boot-args="-v agc=0"
nvram: Error setting variable - 'boot-args': (iokit/common) general error

Si emito este comando en modo de recuperación, todavía se acepta sin error en 10.12.6.

En SingleUser es igualmente rechazado.

¿Se cambió esto de 10.10 a 10.12? ¿Por qué? ¿Por qué ya no funciona en el modo de arranque normal pero sigue en recuperación?

Cualquier idea sobre lo anterior es apreciada. Pero la única pregunta a la que me gusta tener una respuesta es: ¿cómo puedo configurar esta variable NVRAM en el modo de arranque normal o al menos en el modo de arranque de usuario único?

Respuestas (2)

Vea esta respuesta de @tubedogg .

Parecería que el cambio de 10.10 a 10.12 es otro paso hacia la inclusión de todos los aspectos de seguridad importantes dentro de la Protección de integridad del sistema (SIP), lo que significa que no puede cambiar estas cosas sin primero establecer privilegios de forma explícita. SIP se aplica a todos los usuarios de una Mac, incluidos los administradores y root.

Acabo de confirmar (porque estoy reconfigurando una MacBook Pro con Sierra 10.12.6 en este momento) que:

  • La configuración boot-args="-v"en modo de recuperación conservará la configuración en un modo de arranque normal.

  • Deshabilitar el uso de SIP csrutil disableen el modo de recuperación le permitirá configurar boot-argsuna sesión de arranque normal. ADVERTENCIA: No debe deshabilitar SIP a menos que realmente lo necesite, ¡y ya debería saber cómo y por qué!

Nuevamente, según @tubedogg , también puede dejar SIP habilitado, pero permitir nvramcambios desde su sesión de arranque normal. Esto podría ser más apropiado para sus necesidades. En la Terminal en modo de recuperación, escriba csrutil enable --without nvramy luego reinicie. No he probado esta opción personalmente, ya que no es algo que necesite en este momento.

Tampoco he probado tu agc=0interruptor. No es algo con lo que me haya encontrado, y no estaba en una lista de argumentos de arranque que consulté, aunque logré encontrar una referencia que parece resolver un problema de hardware de GPU muy específico . No veo ninguna razón real por la que no puedas establecerte boot-args="-v agc=0"en los mismos escenarios que yo puedo establecer boot-args="-v".

@LangLangC YW. He editado el texto de la respuesta para que el ... list of boot arguments ...enlace se destaque más claramente. No busqué una lista de configuraciones de NVRAM en ese momento. Una búsqueda rápida en Google muestra que las primeras 3 páginas de resultados tratan sobre cómo restablecer la NVRAM, pero hay un resultado de Wikileaks que tiene información sobre la configuración de la NVRAM, EFI y las implicaciones de los cambios de SIP ; tal vez eso sea útil para usted, está más allá de donde quiero ve con esto!

En High-Sierra 10.13.6 en una Macbook Pro de principios de 2011, pude borrar el modo detallado de arranque nvram en el modo de arranque normal. Un reinicio después de eso, arrancó sin los registros.

RAJANANDPKsMBP:~ rajanandpk$ nvram boot-args
boot-args   -v agc=0
RAJANANDPKsMBP:~ rajanandpk$ sudo nvram boot-args=""
Password:
RAJANANDPKsMBP:~ rajanandpk$ nvram boot-args
boot-args   
RAJANANDPKsMBP:~ rajanandpk$ sudo nvram -d boot-args
RAJANANDPKsMBP:~ rajanandpk$ nvram boot-args
nvram: Error getting variable - 'boot-args': (iokit/common) data was not found
Esto es lo que me ayudó para eso => ​​superuser.com/a/1157888/951714