¿Cómo ejecutar automáticamente la reparación del disco en OS X 10.8+ después de cada falla del sistema?
Nota: no estoy buscando una solución manual.
¿Cómo ejecutar automáticamente la reparación del disco en OS X 10.8+ después de cada falla del sistema?
Nota: no estoy buscando una solución manual.
No sé si OS X ya realiza algunas comprobaciones adicionales después de cierres forzados o pánicos del kernel. La salida de inicio detallada se veía igual después de un reinicio normal, un reinicio completo y un error de kernel:
ElvolumenOSXseverificacuandoseiniciaenmodoseguro:
¿Quiere decir reparar la unidad, reparar el volumen principal de OS X o ejecutar fsck? enlace recomienda comenzar primero en modo seguro (que incluye la reparación del volumen OS X), o si eso no funciona, reparando la unidad o el volumen OS X desde la Utilidad de Discos en la partición de recuperación. Dice que normalmente no es necesario ejecutar fsck con volúmenes HFS + registrados por diario.
Desde la página de manual de diskutil:
repairDisk device
Repair the partition map layout of a whole disk intended for
booting or data use on a Macintosh. The repairs further
include, but are not limited to, the repair or creation of
an EFI System Partition, the integrity of any Core Storage
Physical Volume partitions, and the provisioning of space
for boot loaders. Ownership of the affected disk is
required; it must be a whole disk and must have a partition
map.
[...]
repairVolume device
Repair the file system data structures of a volume. The
appropriate fsck program is executed and the volume is left
mounted or unmounted at it was before the command. Owner-
ship of the affected disk is required.
Puede intentar guardar esto como ~/Library/LaunchDaemons/repairdisk.plist
, pero no sé cómo ejecutarlo solo después de reinicios impuros (o por qué sería necesario).
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
<key>Label</key>
<string>repairdisk</string>
<key>ProgramArguments</key>
<array>
<string>bash</string>
<string>-c</string>
<string>yes | diskutil repairDisk /dev/disk0</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Consulte diskutil list
o df -h
para el identificador de la unidad.
diskutil repairDisk /dev/disk0
mostró una advertencia como Repairing the partition map might erase disk0s1, proceed? (y/N)
, donde disk0s1 es la partición EFI. Pero parecía hacer las mismas operaciones que reparar la unidad desde la Utilidad de Discos. repairVolume
no se puede usar con el volumen OS X después de haber iniciado desde él.
sudo nvram boot-args=-x
haría que OS X siempre se inicie en modo seguro, que incluye una revisión y reparación del disco .
Modo seguro desactiva todos los elementos de inicio, algunas extensiones del kernel y algunos periféricos, por lo que probablemente tenga que reiniciar de nuevo en modo normal la mayor parte del tiempo.
sudo nvram -d boot-args
elimina la variable.
No sé nada, pero tuve una serie de accidentes. Hice una cita en la tienda Mac, llevé mis registros y me dijeron cuál era el problema. También dijeron que generalmente no hacen esto a menos que tenga una cita. Sé amable con ellos y se esforzarán al máximo para ayudar.
Lea otras preguntas en las etiquetas disk-utility