Hibernación e inicio en otro sistema operativo: ¿se dañarán mis sistemas de archivos?

52

IMPORTANTE

Si vino aquí buscando una respuesta a esta pregunta, lea todas las respuestas a continuación. Hay algunos testimonios de personas que han perdido datos al hacer esto. Si planeas hacer esto regularmente, te recomiendo que te hagas la prueba.


Pregunta original

Supongamos que tengo Windows y Linux instalados en la misma computadora. Si hiberno Windows, ¿puedo iniciar en Linux sin dañar el sistema de archivos de Windows cuando reanudo Windows? ¿Qué hay del revés? ¿Qué sucede si hiberno uno, inicio en el otro y monte el sistema de archivos hibernado de lectura / escritura? ¿Solo lectura? Si esto no es seguro, ¿hay alguna forma de detectar el estado de hibernación del otro sistema operativo y evitar el montaje de su sistema de archivos?

Básicamente, ¿hasta dónde puedo llevar esto antes de que se rompa, y qué tan peligroso es cerca del borde? Creo que sé las respuestas a algunas de las preguntas anteriores, pero para otras, no tengo idea, y por razones obvias no he probado esto en mi propia computadora. Si alguien ha probado estos, por favor ilumínenos al resto. No estoy necesariamente buscando una respuesta específica a cada pregunta; Aceptaré cualquier respuesta que responda una porción razonable.


EDITAR

Permítanme aclarar que cuando digo "hibernar", me refiero al proceso de escribir el contenido de RAM en el disco duro y apagar completamente la computadora. En este estado, volver a encender la computadora lo lleva nuevamente a través del BIOS y el cargador de arranque, y en teoría podría seleccionar otro sistema operativo en un sistema de arranque múltiple. De todos modos, con la pregunta original:


Mis resultados

Ok, después de que todos aseguraron que esto funcionaría, lo probé por mí mismo. Configuré Ubuntu para volver a montar todos los sistemas de archivos ntfs y unidades externas de solo lectura antes de hibernar. No hubo necesidad de una configuración similar de Windows porque Windows no lee los sistemas de archivos de Linux. Luego, intenté alternativamente hibernar un sistema operativo y reanudar el otro varias veces. Incluso intenté montar el sistema de archivos de Windows de lectura-escritura de Ubuntu y crear algunos archivos. Windows no se quejó cuando reanudé. Entonces, en conclusión, puedes hibernar más o menos libremente en un escenario Windows / Linux de arranque dual.

Tenga en cuenta que no probé una situación dual de co-hibernación de Linux / Linux. Si tiene dos o más instalaciones de Linux e hiberna una de ellas, es posible que pueda dañar el sistema de archivos si lo monta desde otro.

Ryan Thompson
fuente
1
Me gustaría aclarar aún más que estoy buscando a alguien que realmente haya probado estas preguntas y otras similares empíricamente . Pero, en su defecto, no dude en especular. Si nadie tiene resultados de prueba reales, aceptaré la especulación más plausible después de un tiempo.
Ryan Thompson
Bueno, intentaré probar algunas de estas ideas pronto. Si termino con una máquina que todavía arranca, volveré y aceptaré una respuesta. ;)
Ryan Thompson
relacionado: superuser.com/questions/211079/…
David Cary
@RyanThompson, ¿cómo probarías esto de manera confiable? Seguro que puede parecer que funciona, hasta que no lo haga.
Pacerier
Por eso marqué la respuesta "No lo hagas, perderás datos" como aceptada.
Ryan Thompson

Respuestas:

17

Arrancar Windows sobre un Linux hibernado no es una buena idea. Acabo de perder 20 GiB de datos en una partición NTFS compartida ...

Hiberné Ubuntu Lucid un día, y al siguiente encendí mi computadora. Algunas actualizaciones estropearon la opción guardada en Grub, por lo que en lugar de iniciar Ubuntu nuevamente como debería, inició Windows 7. Cuando regresé con mi café, seguí usándolo sin recordar que Ubuntu estaba en modo oso. Probablemente accedí a música, perfil de Firefox, documentos, descargas y juegos desde la partición compartida.

La próxima vez que me cambié a Ubuntu, vi el mensaje "despertar de la hibernación". Dang Pero esperaba que fallara al despertar, y en su lugar reiniciara suavemente, como sucedió la vez anterior que "intenté" esto (en mis tiempos kármicos). Pero no, despertó bien. Bueno. O no. Rápidamente me di cuenta de que un directorio en la raíz de la partición compartida ahora estaba vacío. Creo que los únicos programas que accedieron a la partición compartida al reanudar fueron Quod Libet (reproductor de música) y Transmission (cliente bittorrent).

Regresé a Windows, donde ni siquiera podía abrir el directorio. Intentando "dir" en shell producido "archivo no encontrado". Corrupto. Aún así, el espacio libre de la partición no había aumentado, por lo que mi 20 GiB probablemente todavía estaba allí, a salvo de ser sobrescrito. Tal vez. ¿Pero cómo llegar a ellos?

Un poco de investigación brindó poca ayuda e hizo que mis esperanzas fueran aún más sombrías.

Ejecuté Scandisk ("Verificar errores") sin reparación automática, ya que no quería arriesgarme a arreglar las cosas destruyendo aún más mis datos. El resultado no fue muy informativo: "Errores encontrados. Ejecutar con reparación automática". Desconocido para mí, aparentemente también marcó la partición para que se verifique automáticamente en el próximo arranque. Apagué y me fui, y volví con EasyRecovery más tarde.

La computadora comenzó conmigo sin prestar atención, como siempre, y cuando miré, chkdsk ya estaba arrojando errores en su apogeo, lo que hizo durante unos diez minutos. Oh bueno, aquí no pasa nada.

Afortunadamente, encendí una vela para Santa Tecla recientemente, y después de que Windows comenzó, mis datos volvieron, todo lo que puedo decir, aunque algunos archivos terminaron en encontrado.000.

Entonces sí, esto tuvo un final feliz. Perdonará el suspenso dramático, pero eso es para conducir un punto: ¡respalde sus datos! ¡Y (en mi caso) mantenga la copia de seguridad actualizada! Y, por supuesto, tenga mucho cuidado con la hibernación y las particiones compartidas ...

Chema
fuente
55
Voy a marcar esto como la respuesta aceptada solo para errar por precaución para los nuevos usuarios que lean esta pregunta.
Ryan Thompson,
Las actualizaciones causadas por un sistema operativo que afecta al otro son bastante normales y en realidad no son causadas por problemas de hibernación. El estado de hibernación se trata como cualquier otro archivo en el sistema de archivos. No puedo ver por qué esta respuesta fue aceptada.
Matt H
1
Un directorio completo que desaparece en el limbo de FAT no es una "actualización causada por un sistema operativo", al menos no una intencional. Experimenté daños en los datos en una partición NTFS compartida después de hibernar Linux, arrancar Windows y luego despertar Linux, así de simple.
Chema
2
Hibernar un sistema operativo y montar la misma partición en otro es efectivamente tener dos sistemas operativos que acceden al disco al mismo tiempo. No saben acerca de los cambios que el otro ha realizado, por lo que se producirá corrupción.
psusi
2
Me parece que el problema es que el sistema operativo deja la partición en un estado "impuro". Hay una opción en Windows para no escribir en caché, tal vez eso ayude, tal vez haya una opción similar en Linux. O tal vez podamos encontrar una manera de hacer que el sistema "limpie" la partición antes de ir a dormir.
Rolf
23

Siempre hiberno Windows antes de arrancar en cualquier otra cosa, Windows es demasiado lento para comenzar desde cero. Pero es peligroso escribir en la partición del sistema operativo hibernado, porque algunas de las tablas FS todavía están en la memoria (bueno, en el archivo de hibernación pero no en el FS), las aplicaciones aún tienen identificadores para algunos archivos y, en general, el estado del sistema de archivos es amable de inestable

Pero puede montar esa partición de solo lectura, de esta manera se mantendrá exactamente igual que antes de la hibernación y Windows no notará nada.

En cuanto a una sugerencia sobre cómo montarlo normalmente y mantenerse alejado de los archivos del sistema, no es una buena idea. Es posible que se produzca la reubicación del contenido de un archivo, se puede cambiar MFT, se cambiarán los atributos de tiempo de acceso, todas esas cosas podrían dañar seriamente un sistema de archivos. No es tan peligroso con FAT pero es realmente muy peligroso con NTFS, ya que es mucho más complicado y tiene mucho más estado en la memoria.

vava
fuente
1
¿Estás seguro de que el montaje de solo lectura está bien? Tengo entendido que con los sistemas de archivos de registro en diario, incluso un montaje de solo lectura reproducirá el diario y, por lo tanto, causará un cambio en el sistema de archivos. Por otro lado, el único sistema de archivos de Linux al que puede acceder desde Windows es ext2, que no es periódico, al igual que FAT, y Linux probablemente hace un verdadero montaje de solo lectura de NTFS, por razones históricas. Entonces tal vez sea seguro. En cualquier caso, me gustaría que alguien tuviera resultados concretos en las pruebas.
Ryan Thompson
2
No, cuando el FS está montado, solo lectura no se modificó en absoluto. Es por eso que se llama solo lectura :) No es necesario un diario, ya que garantiza que el estado de FS siempre sea correcto, pero cuando el estado no cambia, no es necesario, por lo que no se usa el diario. Y funciona para mí durante bastante tiempo, así que no hay resultados de sus pruebas :)
vava
1
"Windows es demasiado lento para comenzar desde cero" ¿Hablas en serio? Entonces debo estar haciendo algo mal, porque cuando mi computadora portátil hiberna, agrega alrededor de 2 minutos o más a mi tiempo de arranque.
thepaulpage
1
Estaba hablando de XP y sí, es muy lento teniendo en cuenta cuánto tiempo lleva desde el arranque hasta las aplicaciones de trabajo. Ubuntu 9.04 estaba corriendo círculos a su alrededor. Ubuntu 9.10 es mucho más lento por alguna razón.
vava
desde Windows 8 y versiones posteriores, el arranque de Windows es increíblemente rápido. Cuando estaba usando Windows 7, se carga lentamente, así que hasta que pueda lograr que el navegador inicie, la red ya está disponible. Luego me actualicé a Windows 8 y desde entonces, cuando llegué a casa, encendí el enrutador y luego encendí la computadora portátil y los navegadores. Tengo que esperar mucho tiempo antes de poder acceder a Internet. Ya que las ventanas 10 Es aún más rápido, pulse el poder luego de unos segundos estará listo
phuclv
9

Regularmente hiberno mi Windows XP y arranco a través de USB en Ubuntu.
Funciona perfectamente.

Hay una diferencia entre el modo 'En espera' y el modo 'Hibernar'.
El estado del sistema operativo está completamente enjuagado al disco y su hardware está apagado.
Si enciende la máquina y arranca en otro sistema operativo, no tiene ningún impacto en el sistema operativo hibernado.
Puede mantener tantos sistemas operativos hibernados como desee.

Como ejemplo,
podría tener múltiples instalaciones de Ubuntu (por ejemplo, una por unidad flash USB),
e hibernar cada una, desconectar la unidad y arrancar en otra.
No hay borde aquí porque no hay efecto de apilamiento / encadenamiento.
Las memorias USB hibernadas en estos ejemplos son independientes entre sí
(a través de una máquina con ciclo de alimentación).

Una pequeña desventaja de una C:\unidad " " hibernada e iniciar en otro sistema operativo es
que no podrá montar la partición de arranque hibernada en el nuevo sistema operativo.
La partición está bloqueada con hibernación.
Se dañará si se edita en ese estado.

nik
fuente
En realidad te equivocas, en el buen sentido! Intenté hibernar Windows, arrancar en Ubuntu y montar el sistema de archivos de Windows, y funciona, ¡sin corrupción cuando reanudas Windows desde la hibernación! Me sorprendió.
Ryan Thompson,
En mi humilde opinión, la corrupción de la que habla la gente probablemente esté relacionada con que el controlador NTFS de Linux no es totalmente compatible con todas las características de NTFS. Es mejor montar solo lectura.
Matt H
Ok, también querrías leer ¿Es NTFS en Ubuntu estable?
nik
nik tiene razón: no monte la partición desde el otro sistema operativo, todavía está montada en el sistema operativo hibernado. No montaría la misma partición en dos máquinas virtuales (usando el acceso directo a la partición) que se ejecutan al mismo tiempo, ¿verdad?
Ben Voigt
8

Puedo confirmar el problema de pérdida de datos con una partición NTFS compartida. Arranqué dual entre Lucid Lynx Ubuntu y Windows 7. Después de hibernar Windows 7 y arrancar en Ubuntu, procedí a construir tres máquinas virtuales VirtualBox (en el transcurso de 7 días) e instalé una variedad de paquetes de software en esas máquinas. Al reiniciar en Windows 7, los archivos desaparecieron. Ido. ntfsundelete y, sobre todo, no pudieron encontrarlos.

Entonces, realicé una serie de pruebas para ver si esto fue realmente lo que causó la pérdida de datos. Al cerrar Windows 7, iniciar Ubuntu, escribir algunos archivos, reiniciar en Windows 7, los archivos siempre se conservan. Al hibernar Windows 7, reiniciar en Ubuntu, escribir algunos archivos, reiniciar en Windows 7, los nuevos archivos desaparecen.

No sé acerca de los CAMBIOS escritos en un archivo, si se retienen o se pierden, pero los nuevos archivos y carpetas agregados a una partición NTFS compartida probablemente se perderán en esta situación.

CtC
fuente
4

No hay nada malo con lo que mencionaste. Incluso si montó el sistema de archivos hibernado, el contenido de la hibernación se guarda en un archivo grande en el disco, siempre y cuando no toque este archivo ni ningún archivo importante del sistema (obviamente), entonces no sucederá nada.

Si cambia el contenido de una partición desde otro sistema operativo después de apagar el sistema, la partición original aún se iniciará sin problemas. Es lo mismo en hibernación.

Solo asegúrese de que al montar / desmontar la partición, no dañe los archivos del sistema o la información del encabezado de la unidad (por ejemplo, MBR, diarios de archivos), aunque este punto no tiene nada que ver con la hibernación, y más que nada, solo una advertencia común que todos necesitamos saber.

Gran descubrimiento o desarrollo, progreso, ruptura, penetracion
fuente
3
Experimento de pensamiento: ¿qué sucede si tiene un documento o archivo abierto en una aplicación en Windows (por ejemplo, está editando un documento de Word) y luego hiberna y arranca en el otro sistema operativo? Ya no hay un bloqueo activo de archivos, hasta donde Linux sabe que puede hacer cualquier cosa con seguridad con el archivo, por lo que si decide que está archivado incorrectamente y lo mueve a un directorio diferente, Linux le permitirá. Cuando reinicias en Windows, ¿qué hace Word si su archivo ha desaparecido repentinamente? Ahora, ¿qué pasaría si este archivo fuera más vital que un documento de Word? El montaje de solo lectura será mucho más seguro.
GAThrawn
1
Esta resulta ser la respuesta más precisa. De hecho, puede montar y realizar modificaciones en la unidad de Windows C mientras Windows está en hibernación, y no se quejará. No he probado esto con Linux, pero sospecho que no funcionará.
Ryan Thompson,
@ Ryan, puedes pero no es 100% seguro. NTFS podría romperse con demasiada facilidad. Otro problema es que Linux y Windows usan NTFS ligeramente diferente, por lo que lo que funciona con Windows podría no funcionar con Linux. Estas diferencias pueden terminar en corrupción FS, especialmente en un estado de caso límite de FS.
vava
@GAThrawn - ¿Qué hace Word? Intente editar forzadamente un documento de Word en Windows y vea qué sucede. Existen programas para eliminar bloqueos de archivos. @vava: siempre que esté utilizando un programa / sistema operativo que cumpla con el NTFS MFT y el Journal, debería estar bien.
Avance el
Sé que no es 100% seguro, pero el punto es que si accidentalmente monte el sistema de archivos de Windows en Linux después de hibernar Windows, el resultado no es una corrupción instantánea e irrecuperable. En otras palabras, tendría que esforzarme si quisiera pegarme un tiro en el pie.
Ryan Thompson, el
4

Acabo de encontrar un problema en una unidad física compartida (FAT32) entre Windows XP y Windows 7. Hiberné Windows XP, arranqué en Windows 7 durante unos días y luego volví a XP. Ahora tengo un sistema de archivos corrupto en la unidad compartida. Disk Checker se está ejecutando y se ve bastante mal. Sin embargo, la mayoría de las veces son archivos con enlaces cruzados, pero miles.

Daniel
fuente
3
En otras palabras ... Si hiberna en el disco, NO use una unidad compartida. (o, si usa Linux, desmonte esa unidad antes de hibernar)
Denilson Sá Maia
4

Esto es un poco viejo, pero al ser un tema crítico, otro testimonio lo vale.

Tengo un disco duro externo USB NTFS que estoy usando para datos (sin archivos relacionados con el sistema operativo) con 2 PC diferentes. Solía ​​tener una pérdida de datos constante hasta que aislé el problema. Una de las PC es bastante vieja y lenta (Windows XP), así que estaba usando hibernación para tiempos de reinicio más rápidos, desconectando el disco duro mientras estaba en ese estado y escribiendo datos con la otra PC (Windows 7). La pérdida de datos no ocurría siempre, pero definitivamente fue causada por este escenario. Desde que dejé de hacerlo, nunca volvió a suceder.

usuario3671607
fuente
Lo más aterrador para mí: esto parece ser sobre un disco de datos, ¿verdad? Entonces, ¿ni siquiera el estado del sistema operativo en sí mismo está hibernado en ese disco USB, sino solo datos? En ese caso, esperaría que el software escriba correctamente las cosas en el disco cuando reciban la señal de que el sistema operativo está a punto de hibernar. Pero aparentemente no ...
Arjan
1
Exactamente. Es un disco de datos. No hay archivos relacionados con el sistema operativo. Perdón por no enfatizar eso. En realidad, por eso sentí que necesitaba agregar mi contribución. Cuando diagnostiqué esto por primera vez, me dijeron que tenía sentido común no hacerlo, pero aunque soy un profesional de la informática, esto no parece nada obvio y es un escenario muy probable que ocurra con unidades externas. Supongo que la razón por la que no se discute comúnmente es que pocas personas realmente hacen todo lo posible para analizarlo y diagnosticarlo. Y mucho menos informar.
user3671607
Tal vez una pregunta tonta: ¿eliminó la unidad de forma segura (es decir, el administrador de archivos, hizo clic derecho en el dispositivo y la expulsó) antes de hibernar, o simplemente extrajo la unidad?
gamen
Sí, es un comentario tonto: ¿cómo se elimina de forma segura una unidad mientras la computadora está en hibernación?
user3671607
3

Me encontré con problemas con hibernación y arranque múltiple. Situación: Ubuntu y WinxP Multboot pero la partición de datos visible para ambos SO. Hice algunas pruebas ... de ida y vuelta ... Así que estaba editando un archivo de Word con Word ... Guarde el archivo y cerré Word. Hibernado ... comenzó Ubuntu ... editó el mismo archivo con OpenOffice ... hibernado.

Reiniciado en el WinXP hibernado. Word NO 'vio' los cambios ... Simplemente se veía como otro archivo ...

También hice esta prueba al revés ... La segunda vez que el archivo estaba dañado ... No pude abrir el archivo o eliminar el archivo Chkdsk 'resolvió' el problema pero el archivo se perdió ... En otra prueba, Ubuntu no lo hizo. incluso ver el archivo editado.

Entonces, cuando se usa la hibernación y las mismas particiones (NO necesita ser la partición desde la que se inicia el sistema operativo ...) es muy peligroso ... Los archivos pueden y se dañarán en mis pruebas y puedo repetirlo ... BTW: En mis pruebas SIEMPRE guardé el archivo y cerré la aplicación (Word y OpenOffice) antes de entrar en hibernación ... !! Pensé que el montaje de la partición era el culpable, pero ahora creo que el problema debe ser algo relacionado con el almacenamiento en caché de archivos o lo que sea ... De todos modos: ¡¡¡Cuidado con la hibernación de múltiples sistemas operativos ... !! Saludos, ArnoR


fuente
3

Tuve la siguiente experiencia altamente destructiva con Windows de arranque dual (Vista) y Ubuntu (9, 10, 11). No soy un usuario técnico, aunque tengo una larga experiencia usando y configurando Windows y DOS. Instalé Ubuntu a través de un CD en vivo en una máquina Win Vista. Esto procedió a la perfección y tuve el arranque dual en funcionamiento en muy poco tiempo. Al ver que no había advertencias adjuntas a la instalación de Ubuntu, (ingenuamente) supuse que podía hibernar (guardar en el disco, no suspender) ambos sistemas y cambiar libremente entre ellos. Esto tuvo los siguientes resultados:

1) Cometí el error de editar un archivo de texto en Ubuntu que había olvidado que estaba abierto en Windows. Posteriormente el archivo era inaccesible para cualquiera de los sistemas operativos. Ni siquiera se pudo eliminar. Chkdsk finalmente lo eliminó, pero mis datos se perdieron.

2) También probé otras dos operaciones de archivo de Ubuntu directamente en la partición Win: generar un archivo pdf desde OpenOffice y crear un directorio / carpeta en el escritorio de Win. Ambos eran inaccesibles desde Windows (aunque podían verse en Win Explorer). Afortunadamente, podrían eliminarse de Ubuntu, aunque chkdsk tuvo que ejecutarse después para eliminarlo completamente de Windows.

3) Un archivo grande de OpenOffice Writer (guardado como * .doc), que se editó primero en uno, luego en el otro sistema operativo varias veces (no estaba abierto en el otro sistema cuando lo edité), de repente aumentó de tamaño desde aproximadamente 2 MB a 7 MB, lo que hace casi imposible cargar y guardar. Cuando guardé el archivo como documento * .odt, su tamaño se redujo considerablemente, pero los tiempos de guardar / cargar no fueron más rápidos. Cuando descomprimí el archivo, su sección de "contenido" resultó tener más de 22 MB. Cuando accedí a esto con un editor de texto, ¡resultó que cada palabra y espacio en el documento estaba formateado por separado dentro y fuera del mismo estilo! Finalmente resolví el problema comparando la versión gigante con una versión anterior del mismo archivo, utilizando la versión anterior como base para la comparación y luego aceptando todos los cambios y guardando.

4) En este punto, actualicé Ubuntu 10 a Ubuntu 11 y descubrí que el sistema 11 usaba la nueva interfaz de Unity exclusivamente, lo cual era completamente inaceptable para mis propósitos. Cuando descubrí cómo instalar Gnome en Ubuntu 11, resultó que Gnome 3 era muy inferior a Gnome 2. Por lo tanto, decidí desinstalar Ubuntu por completo y realizar una nueva instalación de Karmic Koala, que usa Gnome 2 sin dejar rastro del nuevo Sistema de unidad. Esto resultó ser complicado, pero después de encontrar exactamente las mismas instrucciones repetidas en varios manuales en línea, procedí. Todo salió bien hasta que ejecuté EasyBCD 2.1.2 (desde Windows), lo que me permitió reiniciar directamente a Windows después de que se eliminó el arranque Grub de Ubuntu. Al reiniciar, descubrí que mi MBR estaba fatalmente dañado y que la máquina no reconocía ningún disco duro de arranque.

5) Ahora podía arrancar de nuevo en Vista y me estaba preparando para reinstalar Ubuntu, cuando descubrí que varios archivos comenzaron a desaparecer de mi sistema al azar. Obviamente, el sistema de archivos todavía estaba dañado. Solo una reinstalación completa de Windows resolvió el problema, y ​​ahora estoy considerando con mucho cuidado lo que debería hacer para evitar problemas similares en el futuro, antes de instalar Karmic Koala. Yo espero que mis problemas están relacionados con el tema de la hibernación, pero para estar seguro, estoy considerando la creación de una "transferencia" separada partición NTFS, donde puedo poner los archivos de un sistema operativo antes de acceder a ellos desde el otro. Poco práctico, pero debería ser seguro. Espero.

finlandés
fuente
2

No lo hagas (¡otra vez!)

Hiberné mi Vista / NTFS e inicié Lucid, trabajé 3 días en la partición ntfs compartida, y comencé a tener archivos y directorios desapareciendo o bloqueados con mensajes de error desagradables (dentro de lucid). Cuando volví a Windows, fue un verdadero desastre, el escritorio se convirtió en un caos, etc. Espero que chkdsk haya podido solucionar la mayor parte y haya encontrado alrededor del 98% de lo que tenía antes.
Así que definitivamente no es algo bueno hacer.
Recuerdo que esto no era posible antes: las particiones ntfs 'hibernadas' no se podían montar en Linux por alguna razón (aparentemente buena). Me gustaría volver a este viejo comportamiento


fuente
2

¡PELIGRO! También puedo confirmar que este es un problema grave para los volúmenes FAT32 y NTFS y solo cuando Windows (tengo Windows 7) está hibernado. Creo que esto está relacionado con el almacenamiento en caché y he considerado configurar el disco para una eliminación rápida. Eso puede solucionarlo, pero aún no lo he probado porque realmente solo quiero configurar una partición de esta manera que Windows no parece admitir. Incluso mi controlador OSX NTFS admite el control de caché por partición, pero no Windows. Además, mi controlador OSX NTFS parece reconocer que la unidad no debe montarse. Parece estar vinculado a este problema. Espero que ayude.


fuente
1
Sí, está relacionado con el almacenamiento en caché, y no, "optimizar para una eliminación rápida" no ayudará. Eso hace que Windows escriba los cambios de inmediato, pero Windows aún asumirá (peligrosamente) que su caché de lectura es 100% válida, y no verá los cambios que otros sistemas operativos han realizado en el disco.
Ben Voigt
1

Aquí está mi experiencia. Estoy usando un sistema de arranque dual con Windows y Kubuntu (11.04). La mayoría de mis archivos están en una partición NTFS de Windows y la uso principalmente de Linux. Se monta con FUSE.

Esto es lo que pasó:

  1. Ventanas hibernadas
  2. En el próximo arranque, arranqué en Linux y lo usé durante un par de semanas, sin arrancar en Windows
  3. Arrancado de nuevo en Windows (porque una prueba en línea solo funcionó en Internet Explorer y nada más, de alguna manera ie4linux no fue suficiente)

Cuando Windows se reanudó, noté que faltaban todos los archivos creados en esas dos semanas. Reinicié de nuevo a Linux para verificar solo para encontrar los archivos que faltan allí también. Supongo que Windows restauró el sistema de archivos NTFS al estado en que estaba hibernado y lo restauró a ese punto en el tiempo.

Probé herramientas como ntfsundelete y testdisk. Esos archivos faltantes no están listados. Además, Linux monta esa unidad en modo RW incluso cuando Windows había hibernado y no se apagó. Supongo que Linux advierte o simplemente monta la unidad en modo de solo lectura, pero eso no sucedió aquí.

spa
fuente
2
Hay una marca en los metadatos del sistema de archivos si está desmontado correctamente o no ... También creo que el comportamiento correcto es que el controlador NTFS de Linux verifique ese indicador.
Ben Voigt
1

También puedo confirmar que compartir alguna partición que no sea del sistema entre dos O / S diferentes en estado de hibernación hace que el sistema de archivos se dañe y pierda datos.

Escenario: Tengo 3 particiones NTFS: 1. Windows XP 2. Windows 7 3. Datos (todavía tengo que usar XP para aplicaciones antiguas que no funcionan bien en modo de compatibilidad).

Ejemplo: Arranque desde la partición 1 (XP) y ejecute Thunderbird que almacena archivos en 3. Luego hiberne (el sistema operativo volca la RAM al archivo de hibernación y apague la PC). Inicie desde la partición 2 (7) y ejecute Thunderbird que almacena archivos en 3. Aquí el problema comienza con los archivos de acceso, etc. a veces con o sin chkdsk. Volver al inicio desde la partición 1 y los archivos arreglados por OS_2_7 están nuevamente dañados, incluso peor, algunos archivos abiertos antes de la hibernación (por ejemplo, Firefox) ahora están dañados.

Entonces sí. Hibernar dos O / S, sin importar si usan una partición de sistema / no sistema, dañará los datos. Por qué ? Supongo que la causa raíz es el bloqueo de archivos y MFT. Después de despertarse de la hibernación, O / S no actualiza MFT, por lo que se supone que debe encontrar archivos en sectores antiguos, por lo que cualquier archivo que haya cambiado su tamaño / lugar se dañará.

Varso
fuente
Bueno, ¿qué archivos se corrompieron? ¿Solo los que pertenecen a Thunderbird o varios archivos no relacionados? Puede tener sentido (algo) que si Thunderbird se ejecuta desde la misma ubicación en la partición 3, entonces hay dos conjuntos de datos diferentes en dos sistemas diferentes. Uno intentará forzar al otro.
Doktoro Reichard
0

Yo solía hacer exactamente esto. Nunca monté la unidad del sistema de la máquina de hibernación para evitar accidentes, y cada sistema operativo tiene su propia partición de intercambio separada. Sin embargo, tenía una partición de datos dedicada, que usaría para transferir datos entre los dos SO en hibernación. Incluso puse mi perfil de Firefox y Thunderbird allí, por lo que no necesito mantener dos perfiles separados. Solo asegúrese de cerrar Firefox en una máquina antes de hibernarlo.

No recuerdo haber tenido ningún problema con la configuración, y también lo usé durante bastante tiempo.

Lie Ryan
fuente
¿Qué FS utilizas en la partición compartida? Estoy empezando a pensar que quizás NTFS tenga algo que ver con eso, todos se quejan de que su parición NTFS compartida se está corrompiendo.
Rolf
@Rolf: NTFS con el controlador ntfs-3g en Linux. Además, esto era puramente una partición de datos, excepto para aplicaciones como Firefox / Thunderbird, que sé que tiene advertencias para un cierre no limpio, y que siempre cerraba antes de cambiar el sistema operativo.
Lie Ryan
Tal vez lo haría FAT? NTFS es mejor, pero en este caso no parece funcionar bien, por decir lo menos. Además, si podemos hacer que el sistema vacíe todo el búfer al disco antes de hibernar, tal vez ayude. Pero supongo que sería mejor experimentar con diferentes sistemas de archivos (EXT u otros también podrían ser opciones) para la partición compartida. Si alguien está dispuesto a hacer eso :) ¿Quizás en una máquina virtual? Por cierto, encontré el mismo problema al usar una VM, guardar el estado y luego usar la misma VM (mismo archivo) pero en otro sistema operativo. El host VM no estaba al tanto del estado guardado.
Rolf
1
Entonces, lo que está diciendo es que si recordamos cerrar todos los identificadores de archivos a la partición compartida antes de hibernar, entonces debería estar bien.
Rolf
0

La respuesta es que, con NTFS, aparentemente sí (ver otras respuestas). Puede probar con sistemas de archivos más antiguos y simples como FAT. Pero eso sería una puñalada en la oscuridad.

Solo quiero agregar que el problema se puede reproducir con máquinas virtuales. Yo uso VirtualBox en una máquina de arranque dual. He instalado el software host VirtualBox en las particiones de Windows y Linux, y guardo los archivos de imagen en una partición NTFS compartida. El objetivo era poder usar la misma máquina virtual en Windows y Linux.

Por costumbre, utilicé el comando de estado "guardar máquina" en VirtualBox al apagar la VM. Usé este comando (que guarda el estado de RAM para la VM en algún lugar), reinicié mi computadora portátil en el otro sistema operativo y volví a usar esa misma VM. No había ninguna opción de restauración en VirtualBox, por lo que aparentemente VirtualBox no conoce el estado guardado de una VM si el estado se guardó utilizando otra instalación de VirtualBox. Leí que VMware podría ser más inteligente al respecto, pero no lo he probado.

Finalmente, todas mis máquinas virtuales se corrompieron. Sin embargo, pude reparar la mayor parte del daño usando fsck.

Esto es solo para decir que no necesita pasar horas particionando e instalando un sistema operativo para reproducir este problema.

¿Mi solución? Hibernación deshabilitada en Windows. Está deshabilitado por defecto en Ubuntu. Tampoco use nunca guardar el estado de la máquina para una VM si planea iniciar esa VM en un contexto diferente (sistema operativo diferente, instalación de host diferente, etc.).

Hasta que alguien presente un sistema de archivos (o sistema operativo, o lo que sea) que no sea vulnerable a este problema.

Además, cerrando todos los controladores abiertos en la partición compartida (y presumiblemente vaciando en el disco) antes de hibernar (o, supongo, desmontar la partición, también debe haber una manera de hacerlo en Windows) si se ha informado para evitar la corrupción (consulte Mentira la respuesta de Ryan). Sin embargo, preferiría estar a salvo y no usar hibernación en absoluto en esta situación.

Rolf
fuente
El estado de guardado de Virtual Box es totalmente diferente de la hibernación. Guardar estado es una función de máquina virtual, no una función del sistema operativo. El sistema operativo es totalmente inconsciente cuando está ocurriendo un estado de guardar. El estado de guardar no se almacena en la imagen del disco virtual, sino en otro archivo. Virtual Box en realidad puede restaurar el estado guardado en una máquina diferente, se llama teletransportación.
Lie Ryan
-3

Simplemente no creo que esto sea posible.

Cuando hiberna, la computadora está 'bloqueada' (por falta de un término mejor) a ese sistema operativo. No está hibernando el sistema operativo, está hibernando toda la computadora. Cuando se reanuda la hibernación, no vuelve a pasar por el BIOS y la POST nuevamente.

Josh Hunt
fuente
No estoy hablando de suspender a RAM, me refiero a la hibernación al disco. Editaré la pregunta para que sea más específica.
Ryan Thompson
77
Me parece mal. Cuando está hibernando, la computadora se apaga. Cuando lo vuelves a encender, pasa por el BIOS y la POST. Solo cuando el cargador del sistema operativo ve que ha estado hibernando, cargará el archivo que contiene el estado de memoria (hiberfil.sys para Windows) y restaurará el sistema operativo.
Snark
No, causará problemas con la consistencia del sistema de archivos. Vea mi publicación arriba.
Nathan Osman
@ George: Habrá problemas con la consistencia del sistema de archivos, si comparte algún sistema de archivos entre ambos sistemas operativos. Pero ciertamente puede ejecutar un sistema operativo diferente que tiene su propio conjunto de particiones, al contrario de esta respuesta.
Ben Voigt
Si no pasó por el BIOS y la POST, entonces no sería posible elegir el sistema operativo al inicio y hacer mensajes como los que se describen aquí. Hibernate no se suspende al ram.
Rolf