Come eseguire automaticamente la riparazione del disco su OS X 10.8+ dopo ogni arresto anomalo del sistema?
Nota: non sto cercando una soluzione manuale.
Non so se OS X esegue già alcuni controlli extra dopo interruzioni o panico del kernel. L'output di avvio dettagliato appariva lo stesso dopo un riavvio normale, un riavvio forzato e un panico del kernel:
IlvolumediOSXvieneverificatoall'avvioinmodalitàprovvisoria:
Intendi riparare l'unità, riparare il volume principale di OS X o eseguire fsck? link consiglia innanzitutto di avviarsi in modalità provvisoria (che include la riparazione del volume di OS X), o se ciò non funziona, riparare l'unità o il volume OS X da Utility Disco sulla partizione di ripristino. Dice che normalmente non è necessario eseguire fsck con volumi HFS + registrati su giornale.
Dalla pagina man 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.
Potresti provare a salvarlo come ~/Library/LaunchDaemons/repairdisk.plist
, ma non so come eseguirlo solo dopo il riavvio non pulito (o perché sarebbe necessario).
<?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>
Visualizza diskutil list
o df -h
per l'identificatore del convertitore.
diskutil repairDisk /dev/disk0
ha mostrato un avvertimento come Repairing the partition map might erase disk0s1, proceed? (y/N)
, dove disk0s1 è la partizione EFI. Ma sembrava fare le stesse operazioni di riparazione del disco da Utility Disco. repairVolume
non può essere utilizzato con il volume di OS X dopo aver avviato da esso.
sudo nvram boot-args=-x
renderebbe OS X sempre avviato in modalità provvisoria, che include un controllo e una riparazione del disco .
Modalità provvisoria disabilita tutti gli elementi di avvio, alcune estensioni del kernel e alcune periferiche, quindi probabilmente dovresti riavviare di nuovo in modalità normale la maggior parte del tempo.
sudo nvram -d boot-args
elimina la variabile.
Non so nulla, ma ho avuto una serie di arresti anomali. Ho preso un appuntamento al negozio Mac, ho portato i miei registri e mi hanno detto qual era il problema. Hanno anche detto che di solito non lo fanno a meno che tu non abbia un appuntamento. Sii gentile con loro e si piegheranno all'indietro per aiutarti.
Leggi altre domande sui tag disk-utility