Il Macbook della mia ragazza si è bloccato durante il tentativo di ripristino da un file ibernato. La barra di avanzamento si fermò a ~ 10%, dopo di che riavemmo il computer per un normale avvio.
Questa immagine di memoria ibernata aveva un documento non salvato aperto in Pages, che vorremmo recuperare. Esiste un sleepimage
in /private/var/vm
, che presumo sia l'immagine di ibernazione che non è stata ripristinata correttamente. Abbiamo eseguito il backup di questa cosa per mantenerla in vita.
Abbiamo provato a strings sleepimage | grep known_substring
ma non ha restituito nulla. Anche grep -a known_substring sleepimage
non ha fatto nulla, quindi presumo che Pages non abbia mantenuto i dati di testo in memoria come testo normale.
Modifica: dopo aver letto questa risposta su bp grep ho provato a perl -ln0777e 'print unpack("H*",$1), "\n", pos() while /(null_padded_substring)/g' sleepimage
, di nuovo infruttuoso . L'ho riempito di null per tentare una corrispondenza con il testo UTF-8. Poi ho provato con .*
globs tra ogni personaggio - ancora nessun dado.
Quindi Pages probabilmente non memorizza il testo con una codifica comune in memoria. Avrei bisogno di trovare una regola di traduzione tra la stringa ASCII e la rappresentazione dei dati di Pages - Sto pensando forse una specie di buffer di stringa Objective C. Per me sembra molto strano archiviare i dati dei personaggi come nient'altro che una sequenza di caratteri, ma questo sembra essere ciò che sta facendo Pages.
Se hai qualche idea su come capire la rappresentazione in-memory del testo all'interno di Pages, potrebbe essere molto utile per risolvere questo problema. Forse posso scaricare e leggere la memoria di processo in qualche modo semplice?
Un'altra possibile soluzione è più semplice - presumo che sia in qualche modo possibile riavviare il computer da questo sleepimage
, ma non riesco a trovare alcuna documentazione su come procedere. Alcuni altri utenti ( macrumors ) sembrano averlo incontrato, ma per tutte le domande del forum che ho trovato , nessuno di loro ha risposte.
La versione di OS X è Snow Leopard, 10.6.8.
Sono graditi suggerimenti complessi che riguardano la programmazione. Faccio C e Python.
Grazie.