Ibernazione e avvio in un altro sistema operativo: i miei filesystem saranno danneggiati?


52

IMPORTANTE

Se sei venuto qui in cerca di una risposta a questa domanda, leggi tutte le risposte di seguito. Ci sono alcune testimonianze di persone che hanno perso dati facendo questo. Se hai intenzione di farlo regolarmente, ti consiglio vivamente di testare te stesso.


Domanda originale

Supponiamo che Windows e Linux siano installati sullo stesso computer. Se ibisco Windows, posso avviare Linux senza corrompere il filesystem di Windows quando riprendo Windows? E il contrario? Cosa succede se si iberna uno, si avvia nell'altro e si monta il file system ibernato in lettura / scrittura? Sola lettura? Se questo non è sicuro, c'è un modo per rilevare lo stato di ibernazione dell'altro sistema operativo e impedire il montaggio del suo filesystem?

Fondamentalmente, fino a che punto posso spingerlo prima che si rompa e quanto sia pericoloso vicino al bordo? Penso di conoscere le risposte ad alcune delle domande precedenti, ma per altre non ne ho idea e per ovvie ragioni non l'ho testato sul mio computer. Se qualcuno li ha testati, si prega di illuminare il resto di noi. Non sto necessariamente cercando una risposta specifica ad ogni domanda; Accetterò qualsiasi risposta che risponda a una parte ragionevole.


MODIFICARE

Vorrei chiarire che quando dico "ibernazione" intendo il processo di scrittura del contenuto della RAM sul disco rigido e spegnimento completo del computer. In questo stato, riaccendere il computer consente di accedere nuovamente al BIOS e al bootloader e in teoria è possibile selezionare un altro sistema operativo su un sistema ad avvio multiplo. Comunque, avanti con la domanda originale:


I miei risultati

Ok, dopo che tutti hanno assicurato che questo avrebbe funzionato, l'ho provato da solo. Ho impostato Ubuntu per rimontare tutti i filesystem ntfs e le unità esterne di sola lettura prima di andare in letargo. Non è stata necessaria un'installazione di Windows simile perché Windows non legge i filesystem Linux. Quindi, ho provato alternativamente a ibernare un sistema operativo e riprendere l'altro, avanti e indietro alcune volte. Ho anche provato a montare il filesystem di Windows da Ubuntu in lettura e scrittura e a creare alcuni file. Windows non si è lamentato quando ho ripreso. Quindi, in conclusione, puoi ibernare più o meno liberamente in uno scenario Windows / Linux a doppio avvio.

Si noti che non ho testato una doppia situazione di co-ibernazione Linux / Linux. Se hai due o più installazioni Linux e ne iberni una, potresti essere in grado di corrompere il filesystem montandolo da un'altra.


1
Vorrei chiarire ulteriormente che sto cercando qualcuno che abbia effettivamente testato queste domande e simili empiricamente . Ma, in mancanza, sentiti libero di speculare. Se nessuno ha risultati di test reali, dopo un po 'accetterò le speculazioni più plausibili.
Ryan Thompson,

Bene, proverò presto a provare alcune di queste idee. Se finisco con una macchina che si avvia ancora, tornerò e accetterò una risposta. ;)
Ryan Thompson,


@RyanThompson, come lo testeresti in modo affidabile? Certo, potrebbe sembrare che funzioni, fino a quando non funziona.
Pacerier,

Ecco perché ho contrassegnato la risposta "Non farlo perderai dati" come accettato.
Ryan Thompson,

Risposte:


17

L'avvio di Windows su un Linux ibernato non è una buona idea. Ho appena perso 20 GiB di dati in una partizione NTFS condivisa ...

Un giorno ho messo in letargo Ubuntu Lucid e il giorno dopo ho acceso il mio computer. Alcuni aggiornamenti hanno incasinato l'opzione salvata in Grub, quindi invece di riavviare Ubuntu come dovrebbe, ha avviato Windows 7. Quando sono tornato con il mio caffè, ho continuato ad usarlo senza ricordare che Ubuntu era in modalità orso. Probabilmente ho avuto accesso a musica, profilo di Firefox, documenti, download e giochi dalla partizione condivisa.

La prossima volta che sono passato a Ubuntu, ho visto il messaggio "risveglio dal letargo". Dang. Ma mi aspettavo che fallisse al risveglio, e invece un riavvio graduale, come è accaduto la volta precedente che ho "provato" questo (nei miei tempi di Karmic). Ma no, si è svegliato bene. Freddo. O no. Ho capito subito che una directory nella radice della partizione condivisa era vuota. Penso che gli unici programmi che hanno avuto accesso alla partizione condivisa al riavvio siano stati Quod Libet (lettore musicale) e Trasmissione (client bittorrent).

Tornai a Windows, dove non riuscivo nemmeno ad aprire la directory. Cercando di "dir" nella shell prodotta "file non trovato". Corrotti. Tuttavia, lo spazio libero della partizione non era aumentato, quindi i miei 20 GiB erano probabilmente ancora lì, al sicuro da essere sovrascritti. Può essere. Ma come raggiungerli?

Una piccola ricerca mi ha fornito un piccolo aiuto e ha reso le mie speranze ancora più desolate.

Ho eseguito Scandisk ("Verifica errori") senza riparazione automatica, poiché non volevo rischiare che risolvesse le cose distruggendo ulteriormente i miei dati. Il risultato non è stato molto istruttivo: "Sono stati rilevati errori. Esegui con riparazione automatica". Sconosciuto per me, a quanto pare ha anche segnato la partizione da controllare automaticamente al prossimo avvio. Mi sono spento, sono andato via e sono tornato con EasyRecovery più tardi.

Il computer è iniziato con me che non prestavo attenzione, come al solito, e quando ho guardato, chkdsk stava già vomitando errori in pieno svolgimento, cosa che ha fatto per circa dieci minuti. Oh bene, qui non va niente.

Fortunatamente di recente ho acceso una candela per Santa Tecla e, dopo l'avvio di Windows, i miei dati sono tornati, tutto ciò che posso dire, anche se alcuni file sono stati trovati in found.000.

Quindi sì, questo ha avuto un lieto fine. Perdonerai la drammatica suspense, ma è quello di guidare un punto: fare il backup dei tuoi dati! E (nel mio caso) mantieni aggiornato il backup! E, naturalmente, fai molta attenzione con l'ibernazione e le partizioni condivise ...


5
Lo segnerò come la risposta accettata solo per errare sul versante della cautela per i nuovi utenti che leggono questa domanda.
Ryan Thompson,

Gli aggiornamenti causati da un sistema operativo che influiscono sull'altro sono piuttosto normali e non sono effettivamente causati da problemi di ibernazione. Lo stato di ibernazione viene trattato come qualsiasi altro file sul filesystem. Non riesco a capire perché questa risposta sia stata accettata.
Matt H

1
Un'intera directory che scompare nel limbo FAT non è un "aggiornamento causato da un sistema operativo", almeno non intenzionale. Ho subito un danneggiamento dei dati in una partizione NTFS condivisa dopo l'ibernazione di Linux, l'avvio di Windows e la successiva attivazione di Linux, semplice.
Chema,

2
L'ibernazione di un sistema operativo e il montaggio della stessa partizione in un altro ha effettivamente due sistemi operativi che accedono al disco contemporaneamente. Non conoscono i cambiamenti apportati dall'altro, per cui ne deriverà la corruzione.
psusi,

2
Mi sembra che il problema sia il sistema operativo che lascia la partizione in uno stato "impuro". C'è un'opzione in Windows per non memorizzare nella cache le scritture, forse questo aiuta, forse c'è un'opzione simile in Linux. O forse possiamo trovare un modo per fare in modo che il sistema "ripulisca" la partizione prima di andare a dormire.
Rolf,

23

Sospendo sempre Windows prima di avviare qualsiasi altra cosa, Windows è troppo lento per ricominciare da zero. Ma è pericoloso scrivere sulla partizione del sistema operativo ibernato, perché alcune delle tabelle FS sono ancora in memoria (beh, nel file di ibernazione ma non in FS), le applicazioni hanno ancora handle per alcuni file e generalmente lo stato del file system è gentile di instabile.

Ma puoi montare quella partizione di sola lettura, in questo modo rimarrà esattamente lo stesso di prima dell'ibernazione e Windows non noterà nulla.

Per quanto riguarda un suggerimento su come montarlo normalmente e stare lontano dai file di sistema, non è una buona idea. Potrebbe avvenire il trasferimento di un contenuto di file, la MFT potrebbe essere cambiata, gli attributi del tempo di accesso saranno cambiati, tutte quelle cose potrebbero seriamente corrompere un file system. Non è così pericoloso con FAT ma è davvero molto pericoloso con NTFS, poiché è molto più complicato e ha molto più stato in memoria.


1
Sei sicuro che il montaggio in sola lettura sia ok? La mia comprensione è che con i filesystem di journaling, anche un mount di sola lettura riprodurrà il journal e causerà quindi una modifica al filesystem. D'altra parte, l'unico filesystem Linux a cui puoi accedere da Windows è ext2, che non è jornaling, come FAT, e Linux probabilmente fa un vero mount di sola lettura di NTFS, per ragioni storiche. Quindi forse è sicuro. In ogni caso, mi piacerebbe se qualcuno avesse ottenuto risultati concreti dei test.
Ryan Thompson,

2
No, quando FS è montato in sola lettura non è stato modificato nulla. Questo è il motivo per cui si chiama sola lettura :) Non è necessario un giornale in quanto garantisce sempre che lo stato di FS sia corretto, ma quando lo stato non cambia, non è necessario, quindi il giornale non viene utilizzato. E funziona per me da un po 'di tempo, quindi ci sono i tuoi risultati dei test :)
vava

1
"Windows è troppo lento per ricominciare da zero" Sei serio? Devo fare qualcosa di sbagliato, quindi, quando il mio laptop va in letargo, aggiunge circa 2 minuti o più al mio tempo di avvio.
thepaulpage

1
Stavo parlando di XP e sì, è lento come l'inferno considerando quanto tempo impiega l'avvio dalle applicazioni funzionanti. Ubuntu 9.04 correva attorno ad esso. Ubuntu 9.10 è molto più lento per qualche motivo.
vava,

da Windows 8 in poi l'avvio di Windows è velocissimo. Quando stavo usando Windows 7 si carica lentamente, quindi fino a quando non riesco ad avviare il browser la rete è già disponibile. Quindi ho eseguito l'aggiornamento a Windows 8 e da allora, quando sono tornato a casa, accendo il router, quindi accendo il laptop e i browser, devo aspettare molto tempo prima di poter accedere a Internet. Dato che Windows 10 è ancora più veloce, premi il tasto di accensione e poi alcuni secondi sarai pronto
phuclv

9

Sospendo regolarmente il mio Windows XP e avvio tramite USB in Ubuntu.
Funziona perfettamente.

Esiste una differenza tra la modalità "Standby" e la modalità "Sospensione".
Lo stato del sistema operativo è completamente scaricato sul disco e l'hardware è spento.
Se si accende la macchina e si avvia un altro sistema operativo, non ha alcun impatto sul sistema operativo ibernato.
Puoi mantenere tutti i sistemi operativi in ​​letargo che desideri.

Ad esempio,
potresti avere più installazioni Ubuntu (diciamo, una per unità flash USB),
e, ibernare ciascuna, scollegare l'unità e avviare un'altra.
Non c'è bordo qui perché non c'è effetto di accatastamento / concatenamento.
Le chiavette USB in letargo in questo esempio sono tutte indipendenti l'una dall'altra
(attraverso una macchina a ciclo di accensione).

Un piccolo aspetto negativo di un'unità " C:\" ibernata e l'avvio in un altro sistema operativo è
che non si sarebbe in grado di montare la partizione di avvio ibernata nel nuovo sistema operativo.
La partizione è bloccata con l'ibernazione.
Sarà danneggiato se modificato in quello stato.


In realtà ti sbagli, in senso buono! Ho provato a ibernare Windows, avviarlo in Ubuntu e montare il filesystem di Windows, e funziona, senza corruzione quando si riprende Windows dall'ibernazione! Mi ha sorpreso
Ryan Thompson,

IMHO la corruzione di cui parlano le persone è molto probabilmente correlata al fatto che il driver NTFS Linux non è completamente compatibile con tutte le funzionalità NTFS. È meglio montare Sola lettura.
Matt H,

Ok, vorresti leggere anche NTFS su Ubuntu è stabile?
nik,

Nik ha ragione: non montare la partizione dall'altro sistema operativo, è ancora montata nel sistema operativo ibernato. Non monteresti la stessa partizione in due macchine virtuali (usando l'accesso diretto alla partizione) in esecuzione allo stesso tempo, vero?
Ben Voigt,

8

Posso confermare la perdita del problema con i dati con una partizione NTFS condivisa. Doppio avvio tra Lucid Lynx Ubuntu e Windows 7. Dopo l'ibernazione di Windows 7 e l'avvio in Ubuntu, ho continuato a costruire tre macchine virtuali VirtualBox (nel corso di 7 giorni) e ho installato una varietà di pacchetti software in quelle macchine. Al riavvio in Windows 7, i file sono scomparsi. Andato. ntfsundelete e soprattutto non sono stati in grado di trovarli.

Quindi, ho eseguito una serie di test per vedere se questo fosse effettivamente ciò che ha causato la perdita di dati. Quando si arresta Windows 7, si avvia Ubuntu, si scrivono alcuni file, si riavvia in Windows 7, i file vengono sempre mantenuti. Durante l'ibernazione di Windows 7, il riavvio in Ubuntu, la scrittura di alcuni file, il riavvio in Windows 7, i nuovi file scompaiono.

Non conosco i CAMBIAMENTI scritti su un file, se vengono conservati o persi, ma molto probabilmente nuovi file e cartelle aggiunti a una partizione NTFS condivisa andranno persi in questa situazione.


4

Non c'è niente di sbagliato in ciò che hai menzionato. Anche se hai montato il filesystem ibernato, i contenuti dell'ibernazione vengono salvati in un file di grandi dimensioni sul disco - fintanto che non tocchi questo file o qualsiasi file di sistema importante (ovviamente), allora non accadrà nulla.

Se si modifica il contenuto di una partizione da un altro sistema operativo dopo aver spento il sistema, la partizione originale verrà comunque avviata senza problemi. È la stessa cosa in letargo.

Assicurati solo che durante il montaggio / smontaggio della partizione, non danneggi alcun file di sistema o informazioni sull'intestazione dell'unità (ad es. MBR, diari di file) - sebbene questo punto non abbia nulla a che fare con l'ibernazione, e più solo un avviso comune di cui tutti abbiamo bisogno sapere.


3
Esperimento di pensiero: cosa succede se hai un documento o un file aperto in un'app in Windows (ad es. Stai modificando un documento Word), quindi vai in letargo e avvia l'altro sistema operativo. Non c'è più alcun blocco attivo dei file, per quanto Linux sa che può fare tranquillamente qualsiasi cosa con il file, quindi se decidi che è archiviato in modo errato e spostalo in un'altra directory che Linux ti permetterà. Quando riavvii Windows, cosa fa Word se il suo file è improvvisamente scomparso? Ora pensi cosa accadrebbe se questo file fosse più vitale di un documento Word? Leggere solo il montaggio sarà molto più sicuro.
GAThrawn,

1
Questa risulta essere la risposta più accurata. È infatti possibile montare e apportare modifiche all'unità Windows C mentre Windows è in letargo e non si lamenterà. Non l'ho provato con Linux, ma sospetto che non funzionerà.
Ryan Thompson,

@Ryan, puoi ma non è sicuro al 100%. NTFS potrebbe essere interrotto troppo facilmente. Un altro problema è che Linux e Windows usano NTFS leggermente diverso, quindi ciò che funziona con Windows potrebbe non funzionare con Linux. Queste differenze potrebbero finire nella corruzione di FS, specialmente in questo caso limite di FS.
vava,

@GAThrawn - Cosa fa Word? Prova a modificare forzatamente un documento di Word in Windows e guarda cosa succede. Esistono programmi per rimuovere i blocchi dei file. @vava - Fintanto che stai usando un programma / sistema operativo conforme alla MFT NTFS e al Journal, dovrebbe andare bene.
Sfondamento

So che non è sicuro al 100%, ma il punto è che se accidentalmente monto il filesystem di Windows in Linux dopo l'ibernazione di Windows, il risultato non è corruzione istantanea e irrecuperabile. In altre parole, dovrei davvero fare qualche sforzo se volessi spararmi al piede.
Ryan Thompson,

4

Ho appena riscontrato un problema su un'unità fisica condivisa (FAT32) tra Windows XP e Windows 7. Ho ibernato Windows XP, avviato Windows 7 per alcuni giorni, quindi sono tornato su XP. Ora ho un file system corrotto sull'unità condivisa. Disk Checker è in esecuzione e sembra piuttosto male. Principalmente file incrociati, ma migliaia di essi.


3
In altre parole ... Se vai in letargo su disco, NON utilizzare un'unità condivisa. (o, se usi Linux, smonta quell'unità prima di andare in letargo)
Denilson Sá Maia,

4

Questo è un po 'vecchio, ma essendo un problema critico, ne vale la pena un'altra testimonianza.

Ho un disco rigido USB NTFS esterno che sto usando per i dati (nessun file relativo al sistema operativo) con 2 PC diversi. Ho usato per ottenere una costante perdita di dati fino a quando non ho isolato il problema. Uno dei PC è piuttosto vecchio e lento (Windows XP), quindi stavo usando l'ibernazione per tempi di riavvio più rapidi, disconnettendo il disco rigido mentre ero in quello stato e scrivendo i dati con l'altro PC (Windows 7). La perdita di dati non si verificava ogni volta ma era sicuramente causata da questo scenario. Da quando ho smesso di farlo, non è mai successo più.


La cosa più spaventosa per me: sembra trattarsi di un disco dati, giusto? Quindi non è nemmeno lo stato del sistema operativo stesso a essere ibernato su quel disco USB, ma solo i dati? In tal caso, mi aspetto che il software scriva correttamente le cose sul disco quando ricevono il segnale che il sistema operativo sta per ibernare. Ma a quanto pare non ...
Arjan,

1
Esattamente. È un disco dati. Nessun file relativo al sistema operativo su di esso. Ci scusiamo per non averlo sottolineato. In realtà, è per questo che ho sentito il bisogno di aggiungere il mio contributo. Quando ho diagnosticato questo per la prima volta, mi è stato detto che è logico non farlo, ma sebbene io sia un professionista, questo non sembra affatto ovvio ed è uno scenario così probabile che si verifichi con unità esterne. Immagino che il motivo per cui non è comunemente discusso sia il fatto che poche persone fanno di tutto per analizzarlo e diagnosticare. Per non parlare del rapporto.
user3671607

Forse una domanda sciocca: hai rimosso in modo sicuro l'unità (ad esempio, File Manager, fai clic con il pulsante destro del mouse sul dispositivo ed espulso) prima di andare in letargo o hai appena tirato l'unità?
gamen

Sì, è un commento sciocco: come si rimuove in modo sicuro un'unità mentre il computer è in letargo?
user3671607

3

Ho riscontrato problemi con l'ibernazione e l'avvio multiplo. Situazione: Ubuntu e WinxP Multboot ma la partizione dati è visibile per entrambi i sistemi operativi. Ho fatto alcuni test ... avanti e indietro ... Quindi stavo modificando un file di Word con Word ... Ho salvato il file e ho chiuso Word. Hibernated ... ha avviato Ubuntu ... ha modificato lo stesso file con OpenOffice ... ibernato.

Riavviato su WinXP ibernato. Word non ha "visto" le modifiche ... Sembrava semplicemente un altro file ...

Ho anche fatto questo test al contrario ... Il secondo file è stato danneggiato ... Non ho potuto aprire il file o eliminare il file Chkdsk ha "risolto" il problema ma il file è stato perso ... In un altro test Ubuntu non ha anche vedere il file modificato.

Quindi, quando si utilizza l'ibernazione e le stesse partizioni (NON è necessario che sia la partizione da cui il sistema operativo si avvia ...) è molto pericoloso ... I file possono e corrompono nei miei test e posso ripeterlo ... BTW: Nei miei test ho SEMPRE salvato il file e chiuso l'applicazione (Word e OpenOffice) prima di andare in letargo ... !! Ho pensato che montare la partizione fosse il colpevole, ma ora penso che il problema debba riguardare la memorizzazione dei file o qualsiasi altra cosa ... Comunque: fai attenzione con l'ibernazione multi-SO ... !! Saluti, ArnoR


3

Ho avuto la seguente esperienza altamente distruttiva con il dual-boot di Windows (Vista) e Ubuntu (9, 10, 11). Non sono un utente tecnico, anche se ho una lunga esperienza nell'uso e nella configurazione di Windows e DOS. Ho installato Ubuntu tramite un CD live su una macchina Win Vista. Questo ha funzionato senza problemi e ho avuto il doppio avvio attivo e funzionante in pochissimo tempo. Visto che non c'erano avvisi associati all'installazione di Ubuntu, ho (ingenuamente) supposto che potessi ibernare (salvare su disco, non sospendere) entrambi i sistemi e passare liberamente da uno all'altro. Ciò ha prodotto i seguenti risultati:

1) Ho fatto l'errore di modificare un file di testo in Ubuntu che avevo dimenticato fosse aperto in Windows. Successivamente il file era inaccessibile a nessuno dei due sistemi operativi. Non è stato nemmeno possibile eliminarlo. Chkdsk lo ha infine eliminato, ma i miei dati sono andati persi.

2) Ho anche provato altre due operazioni sui file da Ubuntu direttamente nella partizione Win: generare un file pdf da OpenOffice e creare una directory / cartella sul desktop Win. Entrambi erano inaccessibili da Windows (anche se potevano essere visti in Win Explorer). Fortunatamente potevano essere cancellati da Ubuntu, anche se chkdsk doveva essere eseguito in seguito per eliminare completamente da Windows.

3) Un file OpenOffice Writer di grandi dimensioni (salvato come * .doc), che è stato modificato prima in uno, quindi nell'altro sistema operativo più volte (non è stato aperto nell'altro sistema quando l'ho modificato), improvvisamente è aumentato in dimensioni da da circa 2 MB a 7 MB, rendendo quasi impossibile caricare e salvare. Quando ho salvato il file come documento * .odt, le sue dimensioni sono state notevolmente ridotte ma i tempi di salvataggio / caricamento non sono stati più rapidi. Quando ho decompresso il file, la sua sezione "contenuto" si è rivelata più di 22 MB. Quando ho avuto accesso a questo con un editor di testo, ho scoperto che ogni singola parola e spazio nel documento era formattato separatamente e con lo stesso stile! Alla fine ho risolto il problema confrontando la versione gigante con una versione precedente dello stesso file, utilizzando la vecchia versione come base per il confronto e accettando quindi tutte le modifiche e il salvataggio.

4) A questo punto sono passato da Ubuntu 10 a Ubuntu 11 e ho scoperto che l'11 sistema utilizzava esclusivamente la nuova interfaccia Unity, il che era del tutto inaccettabile per i miei scopi. Quando ho capito come installare Gnome su Ubuntu 11, ho scoperto che Gnome 3 era di gran lunga inferiore a Gnome 2. Ho quindi deciso di disinstallare completamente Ubuntu e fare una nuova installazione di Karmic Koala, che utilizza Gnome 2 senza alcuna traccia del nuovo Sistema di unità. Ciò si è rivelato complicato, ma dopo aver trovato le stesse identiche istruzioni ripetute in diversi manuali online, ho proceduto. Tutto è andato bene fino a quando non ho eseguito EasyBCD 2.1.2 (da Windows), il che mi avrebbe permesso di riavviare direttamente su Windows dopo che Booter di Ubuntu era stato rimosso. Al riavvio, ho scoperto che il mio MBR era danneggiato in modo irreversibile e la macchina non riconosceva alcun disco rigido avviabile.

5) Ora potrei riavviare Vista e mi stavo preparando a reinstallare Ubuntu, quando ho scoperto che un certo numero di file ha iniziato a scomparire dal mio sistema in modo casuale. Ovviamente il file system era ancora danneggiato. Solo una reinstallazione completa di Windows ha risolto il problema, e ora sto valutando attentamente cosa dovrei fare per evitare problemi simili in futuro, prima di installare Karmic Koala. Mi auguro che i miei problemi sono legati alla questione di ibernazione, ma per essere sicuri, sto considerando la creazione di un "trasferimento" separata partizione NTFS, dove posso mettere i file da un sistema operativo prima di accesso dall'altra. Pratico, ma dovrebbe essere sicuro. Io spero.


2

Non farlo (di nuovo!)

Ho ibernato il mio Vista / NTFS e ho avviato Lucid, ho lavorato 3 giorni sulla partizione ntfs condivisa e ho iniziato a far scomparire o bloccare file e directory con cattivi messaggi di errore (in lucido). Quando ho riavviato Windows, è stato un vero casino, il desktop è andato in rovina, ecc. Spero che chkdsk sia stato in grado di risolvere la maggior parte di esso e ho pescato dal trovato circa il 98% di quello che avevo prima.
Quindi non è sicuramente una buona cosa da fare.
Ricordo che questo non era possibile prima: le partizioni ntfs 'ibernate' non erano montabili su Linux per qualche (apparentemente buono) motivo. Vorrei tornare a questo vecchio comportamento


2

PERICOLO! Posso anche confermare che questo è un problema terribile sia per i volumi FAT32 che NTFS e solo quando Windows (ho Windows 7) è in letargo. Penso che questo sia legato alla memorizzazione nella cache e ho pensato di impostare l'unità per la rimozione rapida. Ciò potrebbe risolverlo, ma non l'ho ancora provato perché voglio solo impostare una partizione in questo modo che Windows non sembra supportare. Anche il mio driver ntfs OSX supporta il controllo della cache delle partizioni, ma non Windows. Inoltre, il mio driver ntfs OSX sembra riconoscere che l'unità non dovrebbe essere montata. Sembra essere legato a questo problema. Spero che sia d'aiuto.


1
Sì, è correlato alla memorizzazione nella cache e no, "ottimizzare per una rimozione rapida" non sarà di aiuto. Questo fa sì che Windows scriva immediatamente le modifiche, ma Windows supporrà (pericolosamente) che la sua cache di lettura sia valida al 100% e non vedrà le modifiche che altri sistemi operativi hanno apportato al disco.
Ben Voigt,

1

Ecco la mia esperienza Sto usando un sistema a doppio avvio con Windows e Kubuntu (11.04). La maggior parte dei miei file si trova su una partizione Windows NTFS e la utilizzo principalmente da Linux. È montato usando FUSE.

Questo è quello che è successo:

  1. Windows in letargo
  2. Al successivo avvio, si è avviato su Linux e lo ha utilizzato per un paio di settimane, senza avviare Windows
  3. Riavviato a Windows (poiché un test online funzionava solo in Internet Explorer e nient'altro, ie4linux non era sufficiente)

Quando Windows riprese, notai che mancavano tutti i file creati in quelle due settimane. Ho riavviato Linux per verificare solo per trovare i file mancanti anche lì. Immagino che Windows abbia ripristinato il file system NTFS allo stato in cui è stato ibernato e ripristinato a quel punto nel tempo.

Ho provato strumenti come ntfsundelete e testdisk. I file mancanti non sono elencati. Inoltre, Linux monta quell'unità in modalità RW anche quando Windows era in letargo e non si spegneva. Immagino che Linux avverta o monti semplicemente l'unità in modalità di sola lettura, ma qui non è successo.


2
C'è un segno sui metadati del filesystem se è stato smontato correttamente o no ... Penso anche che il comportamento corretto sia che il driver NTFS Linux controlli quel flag.
Ben Voigt,

1

Posso anche confermare che condividere una partizione non di sistema tra due diversi O / S nello stato di ibernazione rende la corruzione del file system e la perdita di dati.

Scenario: ho 3 partizioni NTFS: 1. Windows XP 2. Windows 7 3. Dati (Devo ancora usare XP per vecchie app che non funzionano bene in modalità compatibilità).

Esempio: avviare dalla partizione 1 (XP) ed eseguire Thunderbird che memorizza i file su 3. Quindi ibernare (OS dump RAM per ibernare il file e spegnere il PC). Avviare dalla partizione 2 (7) ed eseguire Thunderbird che memorizza i file su 3. Qui il problema inizia con l'accesso ai file ecc. A volte con o senza chkdsk. Torna all'avvio dalla partizione 1 e i file riparati da OS_2_7 sono di nuovo danneggiati, anche peggio alcuni file aperti prima dell'ibernazione (es. Firefox) adesso sono danneggiati.

Quindi sì. Sospendi due O / S, indipendentemente dal fatto che utilizzino la partizione di sistema / non di sistema, danneggerà i dati. Perché ? Suppongo che la causa principale sia il file LOCK e MFT. Dopo il risveglio dal letargo, O / S non aggiorna la MFT, quindi supponiamo ancora di trovare i file nei vecchi settori, quindi qualsiasi file che abbia cambiato dimensione / posizione verrà danneggiato.


Bene, quali file sono stati danneggiati? Solo quelli appartenenti a Thunderbird o diversi file non correlati? Può avere (alcuni) senso che se Thunderbird viene eseguito dalla stessa posizione nella partizione 3, allora ci sono due set di dati diversi in due sistemi diversi. Uno proverà a forzare l'altro.
Doktoro Reichard,

0

Prima facevo esattamente questo. Non ho mai montato l'unità di sistema della macchina in letargo per evitare incidenti e ogni sistema operativo ha la propria partizione di swap separata. Tuttavia, avevo una partizione dati dedicata, che avrei usato per trasferire i dati tra i due sistemi operativi in ​​sospensione. Ho anche messo il mio profilo Firefox e Thunderbird lì, quindi non ho bisogno di mantenere due profili separati. Assicurati di chiudere Firefox su un computer prima di ibernarlo.

Non ricordo di aver mai avuto problemi con l'installazione e l'ho usato anche per molto tempo.


Che FS usi sulla partizione condivisa? Sto iniziando a pensare che forse NTFS ha qualcosa a che fare con esso, tutti si lamentano che la loro paritizione NTFS condivisa si sta corrompendo.
Rolf,

@Rolf: NTFS con driver ntfs-3g su Linux. Inoltre, questa era una partizione puramente di dati, ad eccezione di applicazioni come Firefox / Thunderbird, che conosco ha avvisi per l'arresto impuro e che chiuderei sempre prima di cambiare il sistema operativo.
Sdraiati Ryan

Forse il FAT lo farebbe? NTFS è migliore ma in questo caso non sembra funzionare bene, per non dire altro. Inoltre, se riusciamo a far scaricare il sistema da tutti i buffer su disco prima di andare in letargo, forse sarà d'aiuto. Ma suppongo che sarebbe meglio sperimentare diversi filesystem (EXT o altri potrebbero anche essere opzioni) per la partizione condivisa. Se qualcuno è disposto a farlo :) Forse in una macchina virtuale? A proposito ho riscontrato lo stesso problema utilizzando una macchina virtuale, salvando lo stato, quindi utilizzando la stessa macchina virtuale (stesso file) ma sotto un altro sistema operativo. L'host di macchine virtuali non era a conoscenza dello stato salvato.
Rolf,

1
Quindi quello che stai dicendo è che se ricordiamo di chiudere tutti gli handle di file nella partizione condivisa prima di andare in letargo, allora dovrebbe essere OK.
Rolf,

0

La risposta è che, con NTFS, apparentemente sì (vedi altre risposte). Potresti provare con filesystem più vecchi e più semplici come FAT. Ma sarebbe una pugnalata nel buio.

Voglio solo aggiungere che il problema può essere riprodotto con macchine virtuali. Uso VirtualBox su una macchina dual boot. Ho installato il software host VirtualBox in entrambe le partizioni Windows e Linux e ho salvato i file di immagine su una partizione NTFS condivisa. L'obiettivo era di poter utilizzare la stessa macchina virtuale sia in Windows che in Linux.

Per abitudine, ho usato il comando di stato "salva macchina" in VirtualBox quando ho spento la VM. Ho usato questo comando (che salva lo stato della RAM per la VM da qualche parte), ho riavviato il mio laptop nell'altro sistema operativo e ho usato di nuovo quella stessa VM. Non c'era alcuna opzione di ripristino in VirtualBox, quindi apparentemente VirtualBox non è a conoscenza dello stato salvato di una VM se lo stato è stato salvato utilizzando un'altra installazione di VirtualBox. Ho letto che VMware potrebbe essere più intelligente al riguardo, ma non l'ho provato.

Alla fine tutte le mie macchine virtuali sono state danneggiate. Tuttavia, sono stato in grado di riparare la maggior parte del danno usando fsck.

Questo è solo per dire che non è necessario passare ore a partizionare e installare un sistema operativo per riprodurre questo problema.

La mia soluzione? Ibernazione disabilitata su Windows. È disabilitato di default in Ubuntu. Inoltre, non utilizzare mai lo stato di salvataggio della macchina per una macchina virtuale se si prevede di avviare quella macchina virtuale in un contesto diverso (sistema operativo diverso, installazione host diversa, ecc.).

Fino a quando qualcuno non presenta un filesystem (o un sistema operativo o qualsiasi altra cosa) che non sia vulnerabile a questo problema.

Inoltre, chiudendo tutti gli handle aperti sulla partizione condivisa (e presumibilmente svuotando il disco) prima di andare in letargo (o, immagino, smontare la partizione - ci deve essere un modo per farlo anche in Windows) se è stato segnalato per evitare il danneggiamento (vedi La risposta di Lie Ryan). Preferirei essere sicuro e non usare il letargo in questa situazione, però.


Lo stato di salvataggio di Virtual Box è totalmente diverso dal letargo. Il salvataggio dello stato è una funzione della macchina virtuale, non una funzionalità del sistema operativo. Il sistema operativo è totalmente inconsapevole quando si verifica uno stato di salvataggio. Lo stato di salvataggio non è memorizzato nell'immagine del disco virtuale, ma in un altro file. Virtual Box in realtà può ripristinare lo stato salvato su una macchina diversa, si chiama teletrasporto.
Lie Ryan,

-3

Non penso proprio che sia possibile.

Quando sei in letargo, il computer è "bloccato" (per mancanza di un termine migliore) su quel sistema operativo. Non stai ibernando il sistema operativo, stai ibernando l'intero computer. Quando riprendere dal letargo, non si passa di nuovo attraverso il BIOS e il tempo POST.


Non sto parlando di sospendere la RAM, intendo l'ibernazione su disco. Modificherò la domanda per essere più specifici.
Ryan Thompson,

7
Mi sembra sbagliato. Quando sei in letargo, il computer si spegne. Quando lo riavvii, passa attraverso il BIOS e il POST. È solo quando il caricatore del sistema operativo vede che è stato in letargo che caricherà il file contenente lo stato della memoria (hiberfil.sys per Windows) e ripristinerà il sistema operativo.
Snark,

No, causerà problemi con la coerenza del filesystem. Vedi il mio post sopra.
Nathan Osman,

@George: ci saranno problemi con la coerenza del filesystem, se condividi filesystem tra entrambi i sistemi operativi. Ma puoi certamente eseguire un sistema operativo diverso che ha il suo set di partizioni, contrariamente a questa risposta.
Ben Voigt,

Se non passasse attraverso il BIOS e il POST, non sarebbe possibile scegliere il sistema operativo all'avvio ed eseguire messaggi come quelli descritti qui. Hibernate non è sospeso a speronare.
Rolf
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.