Tengo '/ usr / bin / env' en mi "Macintosh HD" pero no en la partición de recuperación. ¿Esto es normal?

4

Estoy trabajando en un MacBook Air, que actualmente está iniciando MacOS High Sierra 10.13.6. También tiene una partición de Ubuntu 16.04, que actualmente estoy tratando de alcanzar.

Estaba intentando reinstalar rEFInd , que debido a SIP se realiza desde la partición de recuperación. Falló porque;

-bash: ./refind-install: /usr/bin/env: bad interpreter: No such file or directory

Lo que fue lanzado por #!/usr/bin/env bash en la parte superior de la secuencia de comandos de instalación.

He mirado y, de hecho, no hay /usr/bin/env en mi partición de recuperación. Hay uno en la partición principal. Este es el terminal en la partición de recuperación:

[-bash-3.2# ls /usr/bin/env
ls: /usr/bin/env: No such file or directory
[-bash-3.2# ls /Volumes/Macintosh\ HD/usr/bin/env
/Volumes/Macintosh\ HD/usr/bin/env

Ahora el objetivo final es reinstalar INICIAR INICIAL (lo tenía antes, pero al actualizar macOS se cambió el orden de arranque, por lo que ya no arranca correctamente), pero mi pregunta en este momento es: Es ¿es normal que no tenga /usr/bin/env en la partición de recuperación?

El hecho de que la secuencia de comandos rEFInd espere que esté allí hace que me pregunte si he roto algo.

    
pregunta Clumsy cat 25.07.2018 - 15:39

2 respuestas

3
  

¿Es normal que no haya / usr / env / bin en la partición de recuperación?

Sí, es perfectamente normal que /usr/bin/env no esté en la partición de recuperación.

Si montara la partición de recuperación y abriera el contenedor BaseSystem.dmg para buscar el archivo, descubrirá que no existe.

$ diskutil list

 #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                    209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh              999.3 GB   disk0s2
   3:                 Apple_Boot Recovery HD            650.0 MB   

Entonces, disk0s3 es el que queremos montar

$ sudo mkdir /Volumes/RecoveryHD
$ sudo mount -t HFS /Volumes/RecoveryHD

Ahora, abra la imagen del sistema de recuperación BaseSystem.dmg .

$ open /Volumes/RecoveryHD/com.apple.recovery.boot/BaseSystem.dmg

Aparecerá una GUI en la pantalla con una ventana del Finder.

Recorrael/usr/binynotaráqueenvnoestáallí.

Es importante recordar que la partición de recuperación es una versión reducida del sistema base real. Para que REFInd funcione correctamente, se debe hacer en la partición de inicio, no desde la partición de recuperación. Entonces, al final, no arruinaste nada.

    
respondido por el Allan 25.07.2018 - 18:01
3

Faltan muchos comandos al iniciarse en la partición de recuperación. Si el macOS, normalmente arranca, está en buen estado, entonces puede restaurar el acceso a los comandos faltantes siguiendo las instrucciones que se proporcionan a continuación.

Puede acceder a los comandos faltantes actualizando la variable PATH. Para hacer esto, necesitará saber el nombre del disco de inicio de macOS. Los pasos se dan a continuación.

  1. Determine el nombre de su disco de inicio para macOS. Mientras arranca con macOS, seleccione →About this Mac en la barra de menú. El nombre del disco de inicio se mostrará en la ventana emergente. En mi Mac, el nombre es Marlin .
  2. Arranque en la partición de recuperación.
  3. Abre una ventana de Terminal.
  4. Ingrese los comandos dados a continuación. Reemplace Marlin con el nombre de su disco de inicio.

    RT="/Volumes/Marlin"
    readonly OLDPATH=$PATH
    export PATH=$OLDPATH:$RT/usr/local/bin:$RT/usr/bin:$RT/bin:$RT/usr/sbin:$RT/sbin
    

En su caso, /usr/bin/env es una ruta absoluta, por lo que actualizar la variable PATH no eliminará el mensaje de error. Sin embargo, puede seleccionar manualmente el shell bash y luego ejecutar el script.

En lugar de usar

./refind-install

podría haber utilizado

bash
. refind-install
exit

o

bash
source refind-install
exit
  

Nota: omití cualquier argumento necesario para refind-install .

El mejor consejo para su situación

En su caso, sería mejor evitar cualquier ruta absoluta absoluta a los comandos que puedan existir en el script refind-install . La mejor manera de hacerlo sería iniciar desde la partición de recuperación y ejecutar el siguiente comando. Esto desactivará la protección de integridad del sistema (SIP).

csrutil disable

Luego puede volver a iniciar MacOS y ejecutar el script refind-install . Para habilitar SIP, ingrese el siguiente comando, luego reinicie su Mac.

csrutil clear
    
respondido por el David Anderson 26.07.2018 - 07:33

Lea otras preguntas en las etiquetas