El Macbook de mi novia se estrelló al intentar restaurar desde un archivo hibernado. La barra de progreso se detuvo en ~10%, después de lo cual reiniciamos la computadora para un arranque normal.
Esta imagen de memoria hibernada tenía un documento sin guardar abierto en Pages, que nos gustaría recuperar. Hay un sleepimage
en /private/var/vm
que supongo que es la imagen de hibernación que nunca se restauró correctamente. Hicimos una copia de seguridad de esta cosa para mantenerla viva.
Intentamos strings sleepimage | grep known_substring
pero no ha devuelto nada. grep -a known_substring sleepimage
tampoco hizo nada, así que asumo que Pages no mantuvo los datos de texto en la memoria como texto plano.
Edición: Después de leer esta respuesta en Grep binario Intenté perl -ln0777e 'print unpack("H*",$1), "\n", pos() while /(null_padded_substring)/g' sleepimage
, siendo de nuevo infructuoso. Lo rellené con nulos para intentar una coincidencia con el texto UTF-8. Luego probé con .*
globos entre cada personaje todavía no hay dados.
Así que es probable que Pages no almacene el texto por ninguna codificación común en la memoria. Necesitaría encontrar una regla de traducción entre la cadena ASCII y la representación de datos de Pages -- estoy pensando quizás en algún tipo de buffer de cadena de Objective C. A mí me parece muy raro almacenar datos de caracteres como algo más que una secuencia de caracteres, pero parece que esto es lo que hace Pages.
Si tienes alguna idea de cómo averiguar la representación en memoria del texto dentro de Pages, podría ser muy útil para resolver este problema. ¿Tal vez pueda volcar y leer la memoria del proceso de alguna manera sencilla?
Otra posible solución es más simple - estoy asumiendo que es de alguna manera posible reiniciar el equipo de este sleepimage
pero no encuentro ninguna documentación sobre cómo proceder con eso. Algunos otros usuarios ( macrumors ) parecen haber encontrado esto, pero por todas las preguntas del foro que he encontrado, ninguna tiene respuesta.
La versión de OS X es Snow Leopard, 10.6.8.
Las sugerencias complejas que impliquen programación son bienvenidas. Hago C y Python.
Gracias.