Estoy tratando de recuperar un sector defectuoso en mi disco, y al hacerlo, necesito escribir sobre el sector defectuoso. Numerosas fuentes en la web sugieren usar dd para hacerlo, pero hacerlo no funciona:
$ sudo dd if=/dev/zero of=/dev/disk1 bs=512 count=1 seek=961575240
dd: /dev/disk1: Operation not permitted
$
Pensé que tal vez había algún tipo de verificación acerca de hacer esto en un sistema de archivos montado, así que inicié en modo de usuario único (que al menos sale está en modo de solo lectura), pero sigo teniendo el mismo error. Sin embargo, también se muestran algunos mensajes adicionales sobre sandboxing.
Sandbox: dd(5) System Policy: deny(1) file-write-data /dev/disk1
Sandbox: dd(5) System Policy: deny(1) file-write-data /dev/disk1
¿Hay alguna manera de permitir que dd salga de la caja de arena? Lo intenté
sudo sandbox-exec -p '(version 1) (allow default)' /bin/dd if=/dev/zero of=/dev/disk1 bs=512 count=1 seek=961575240
pero eso todavía dio error a la operación no permitida.
Esto está en OS X 10.11 GM
Respuestas:
No tengo una computadora sacrificial para probar esto, pero creo que te encuentras con la función de Protección de integridad del sistema en El Capitan. Principalmente, lo que hace SIP es evitar que (incluso como root) modifique las áreas del sistema del disco (/ System, / sbin, / bin / most of / usr, etc.), que se meta con los procesos del sistema, que cargue kexts incorrectamente firmados, etc. Pero para hacer cumplir esa protección de las carpetas del sistema, también evita las escrituras en bruto en el dispositivo en el que está activado el volumen del sistema. Sí, incluso si eres root (ese es el punto, es limitar el daño del malware que obtiene acceso root).
Creo que este límite no se aplicará en modo de recuperación . Mantenga presionado Command-R cuando la computadora se inicie y arrancará desde una partición de emergencia oculta. Abra la Terminal (está debajo del menú Utilidades) e intente
dd
desde allí.dd
Es posible que no exista en el sistema de recuperación (es bastante mínimo), pero puede usarlo/Volumes/Macintosh\ HD/bin/dd
en su lugar. No necesitarássudo
, ya eres root.Si eso no funciona, intente deshabilitar SIP con
csrutil disable
, luego reinicie normalmente (consulte el documento de Apple sobre la configuración de SIP ). Luego, cuando haya terminado, recomendaría volver a habilitarlo: es una característica de seguridad útil.fuente
Intenta usarlo
su
.En Linux / Unix, primero debe establecer una contraseña para el usuario root como:
Entonces deberías tener suficiente permiso para hacer esto.
Compruebe también si todas las particiones están desmontadas.
Escriba
mount
y compruebe qué particiones están montadas.Entonces:
En lugar de
disk1sX
escribir la partición correcta.fuente
sudo chown root:root /dev/disk1
? ¿Estás seguro de que puedes escribir en / dev / disk1? Podría ser otro tema ...sudo diskutil unmountDisk /dev/diskNsX