Il Macbook della mia ragazza si è arrestato in modo anomalo durante il tentativo di ripristino da un file ibernato. La barra di avanzamento si è fermata al ~ 10%, dopo di che abbiamo riavviato il computer per un normale avvio.
Questa immagine di memoria in letargo aveva un documento non salvato aperto in Pages, che vorremmo recuperare. C'è un sleepimage
in /private/var/vm
, che presumo sia l'immagine di ibernazione che non è mai stata ripristinata correttamente. Abbiamo sostenuto questa cosa per tenerla in vita.
Ci abbiamo provato strings sleepimage | grep known_substring
ma non ha restituito nulla. grep -a known_substring sleepimage
inoltre non ha fatto nulla, quindi suppongo che Pages non abbia conservato i dati di testo in memoria come testo normale.
Modifica: Dopo aver letto questa risposta su Binary grep, ho provato a farlo perl -ln0777e 'print unpack("H*",$1), "\n", pos() while /(null_padded_substring)/g' sleepimage
, essendo di nuovo inutile. L'ho riempito di null per tentare una corrispondenza per il testo UTF-8. Poi ho provato con i .*
globs tra ogni personaggio - ancora nessun dado.
Quindi probabilmente Pages non memorizza il testo con alcuna codifica comune in memoria. Avrei bisogno di trovare una regola di traduzione tra la stringa ASCII e la rappresentazione dei dati di Pages: sto forse pensando a una specie di buffer di stringa dell'obiettivo C. A me sembra molto strano memorizzare i dati dei personaggi come nient'altro che una sequenza di caratteri, ma questo sembra essere ciò che Pages sta facendo.
Se hai idea di come capire la rappresentazione in memoria del testo all'interno di Pages, potrebbe essere molto utile per risolvere questo problema. Forse posso scaricare e leggere la memoria di processo in modo semplice?
Un'altra possibile soluzione è più semplice: suppongo sia in qualche modo possibile riavviare il computer da questo sleepimage
, ma non riesco a trovare alcuna documentazione su come procedere. Alcuni altri utenti ( macrumori ) sembrano aver riscontrato questo, ma per tutte le domande del forum che ho trovato, nessuno di loro ha risposte.
La versione OS X è Snow Leopard, 10.6.8.
Suggerimenti complessi che coinvolgono la programmazione sono i benvenuti. Faccio C e Python.
Grazie.
sleepimage
. Passare al setaccio un'altra immagine alla ricerca di un testo unico sarebbe altrettanto difficile, poiché l'immagine avrebbe comunque dimensioni di 4 GB e il blocco di memoria di Pages verrebbe allocato in modo casuale in quel file. Suppongo che potrei azzerare la RAM, quindi aprire le pagine e quindi cercare sequenze diverse da zero in sleepimage. Ma Pages consuma 200 MB di memoria, a prescindere - ancora un piccolo ago nel pagliaio.