O script do Boot Camp quebrou após a atualização do El Capitan


3

Eu tenho um script que chamo do Terminal para inicializar na minha partição do Windows:

#! /bin/bash
sudo bless -mount "/Volumes/BOOTCAMP" -legacy -setBoot
sudo reboot

Depois de atualizar para o El Capitan (10.11.1), não posso mais usá-lo. A mensagem de erro diz algo sobre não poder definir uma propriedade do disco, portanto, acho que isso está relacionado aos recursos de segurança que foram adicionados nesta atualização.

Respostas:


2

Você não pode definir o disco inicializável com bless se o System Integrity Protection estiver ativado. Isso ocorre porque a bless grava na NVRAM, que é proibida pelo SIP. É por isso que as Preferências do Sistema → Disco de Inicialização podem definir o disco de inicialização, mas outros binários não.

Para desativar a proteção de integridade do sistema, você pode fazer o seguinte:

  1. Inicialize no Recovery HD reiniciando enquanto mantém pressionado ⌘R.
  2. Abra o Terminal (no menu Utilitários).
  3. Execute o seguinte comando no Terminal:

    csrutil disable
    
  4. Reiniciar.

Fonte: Desative o OS X El Capitan Rootless e permita ações de gravação nos locais do System Integrity Protection


Quando devo me preocupar em desativar o SIP?
Sean Haugh

@Sean Permite que os aplicativos gravem no / System, NVRAM e injetem código em outros processos em execução, dada a senha do administrador (ou seja, root). É novo em El Capitan e o SIP desativado era o estado do OS X em Yosemite e anteriores. Como as Preferências do Sistema são assinadas em código com o certificado da Apple, ele ignora o SIP, portanto, é preferível criar scripts para esta GUI para evitar a desativação do SIP.
grg

11
Eu evitaria desabilitar o SIP e encontrar uma maneira diferente. O Bless não é o único a definir o disco de inicialização e o uso de algo como automator ou AppleScript provavelmente será suportado pela Apple, o que é benéfico a longo prazo, já que as atualizações têm menos probabilidade de quebrá-lo.
John Keates
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.