Hibernacja i uruchamianie do innego systemu operacyjnego: czy moje systemy plików zostaną uszkodzone?

52

WAŻNY

Jeśli przyszedłeś tutaj i szukasz odpowiedzi na to pytanie, przeczytaj wszystkie odpowiedzi poniżej. Istnieje kilka opinii osób, które utraciły dane. Jeśli planujesz to robić regularnie, zdecydowanie zalecamy przetestowanie na własną rękę.


Oryginalne pytanie

Załóżmy, że mam system Windows i Linux zainstalowane na tym samym komputerze. Jeśli hibernuję system Windows, czy mogę uruchomić system Linux bez uszkadzania systemu plików Windows po wznowieniu systemu Windows? A może na odwrót? Co się stanie, jeśli hibernuję jeden, uruchomię drugi i zamontuję hibernowany system plików do odczytu / zapisu? Tylko czytać? Jeśli jest to niebezpieczne, czy jest jakiś sposób na wykrycie stanu hibernacji drugiego systemu operacyjnego i zapobieżenie zamontowaniu jego systemu plików?

Zasadniczo, jak daleko mogę to przesunąć, zanim się zepsuje i jak niebezpieczne jest to w pobliżu krawędzi? Myślę, że znam odpowiedzi na niektóre z powyższych pytań, ale w przypadku innych nie mam pojęcia iz oczywistych powodów nie przetestowałem tego na własnym komputerze. Jeśli ktoś został przetestowany nich, proszę oświecić reszta z nas. Niekoniecznie szukam konkretnej odpowiedzi na każde pytanie; Przyjmę każdą odpowiedź, która odpowiada rozsądnej części.


EDYTOWAĆ

Pozwól mi wyjaśnić, że kiedy mówię „hibernacja”, mam na myśli proces zapisywania zawartości pamięci RAM na dysku twardym i całkowitego wyłączania komputera. W tym stanie ponowne włączenie komputera powoduje ponowne przejście przez BIOS i program ładujący, a teoretycznie można wybrać inny system operacyjny w systemie z wieloma systemami. Tak czy inaczej, z pierwotnym pytaniem:


Moje wyniki

Ok, po zapewnieniu wszystkich, że to zadziała, przetestowałem to dla siebie. Skonfigurowałem Ubuntu, aby ponownie zamontować wszystkie systemy plików NTFS i dyski zewnętrzne tylko do odczytu przed hibernacją. Nie było potrzeby podobnej konfiguracji systemu Windows, ponieważ system Windows nie odczytuje systemów plików Linux. Następnie próbowałem na przemian hibernować jeden system operacyjny i wznawiać drugi, kilka razy tam iz powrotem. Próbowałem nawet zamontować system plików Windows z Ubuntu do odczytu i zapisu i utworzyć kilka plików. Windows nie narzekał, kiedy wznowiłem. Podsumowując, możesz mniej lub bardziej swobodnie hibernować w scenariuszu podwójnego rozruchu systemu Windows / Linux.

Zauważ, że nie testowałem podwójnej sytuacji hibernacji Linux / Linux. Jeśli masz dwie lub więcej instalacji Linuksa i hibernujesz jedną z nich, możesz uszkodzić system plików, instalując go z innej.

Ryan Thompson
źródło
1
Chciałbym dodatkowo wyjaśnić, że szukam kogoś, kto faktycznie przetestował te i podobne pytania empirycznie . Ale w przeciwnym razie możesz spekulować. Jeśli nikt nie ma żadnych prawdziwych wyników testu, po chwili zaakceptuję najbardziej prawdopodobne spekulacje.
Ryan Thompson,
Cóż, wkrótce spróbuję przetestować niektóre z tych pomysłów. Jeśli skończę z maszyną, która nadal się uruchamia, wrócę i przyjmę odpowiedź. ;)
Ryan Thompson,
powiązane: superuser.com/questions/211079/…
David Cary
@RyanThompson, w jaki sposób przetestowałbyś to niezawodnie? Pewnie może to wyglądać, jakby działało, dopóki nie zadziała.
Pacerier
Dlatego zaznaczyłem odpowiedź „Nie rób, bo stracisz dane” jako zaakceptowaną.
Ryan Thompson

Odpowiedzi:

17

Uruchamianie systemu Windows za pomocą hibernowanego systemu Linux nie jest dobrym pomysłem. Właśnie straciłem 20 GiB danych na wspólnej partycji NTFS ...

Któregoś dnia hibernowałem Ubuntu Lucid, a następnego odpaliłem komputer. Niektóre aktualizacje pomieszały zapisaną opcję w Grub, więc zamiast uruchamiać Ubuntu ponownie tak, jak powinno, uruchomił Windows 7. Kiedy wróciłem z kawą, po prostu używałem go bez przypominania sobie, że Ubuntu był w trybie niedźwiedzia. Prawdopodobnie uzyskałem dostęp do muzyki, profilu Firefox, dokumentów, plików do pobrania i gier ze wspólnej partycji.

Następnym razem, gdy przełączyłem się na Ubuntu, zobaczyłem komunikat „budzenie się ze hibernacji”. Dang. Spodziewałem się jednak, że nie powiedzie się to po przebudzeniu i zamiast tego nastąpi delikatny restart, jak to miało miejsce poprzednio, kiedy „próbowałem” tego (w czasach karmicznych). Ale nie, obudziło się dobrze. Chłodny. Albo nie. Szybko zdałem sobie sprawę, że katalog w katalogu głównym partycji udostępnionej jest teraz pusty. Myślę, że jedynymi programami uzyskującymi dostęp do partycji współdzielonej po wznowieniu były Quod Libet (odtwarzacz muzyki) i Transmission (klient bittorrent).

Wróciłem do systemu Windows, w którym nie mogłem nawet otworzyć katalogu. Próba „dir” go w powłoce „nie znaleziono pliku”. Zepsuty Mimo to wolne miejsce na partycji nie wzrosło, więc moje 20 GiB prawdopodobnie tam nadal było, bezpieczne przed nadpisaniem. Może. Ale jak się do nich dostać?

Trochę badań dostarczyło niewielkiej pomocy i sprawiło, że moje nadzieje stały się jeszcze bardziej ponure.

Uruchomiłem Scandisk („Check for Errors”) bez automatycznej naprawy, ponieważ nie chciałem ryzykować, że naprawię coś, niszcząc moje dane. Wynik nie był bardzo pouczający: „Znaleziono błędy. Uruchom z automatyczną naprawą”. Nieznany mi, najwyraźniej oznaczał także partycję, która ma być automatycznie sprawdzana przy następnym uruchomieniu. Wyłączyłem się i odszedłem, a później wróciłem z EasyRecovery.

Komputer zaczął ode mnie, jak zwykle, nie zwracając uwagi, a kiedy patrzyłem, chkdsk już wypluł błędy w pełnym rozkwicie, co robił przez około dziesięć minut. No cóż, tutaj nic nie idzie.

Na szczęście ostatnio zapaliłem świecę dla Santa Tecla, a po uruchomieniu systemu Windows moje dane wróciły, o ile wiem, choć niektóre pliki znalazły się w tysiącach.

Więc tak, to miało szczęśliwe zakończenie. Przebaczysz dramatyczne napięcie, ale to prowadzi do jednego punktu: wykonaj kopię zapasową danych! I (w moim przypadku) aktualizuj kopię zapasową! I oczywiście należy zachować szczególną ostrożność podczas hibernacji i wspólnych partycji ...

Chema
źródło
5
Oznaczę to jako zaakceptowaną odpowiedź, aby zachować ostrożność w przypadku nowych użytkowników czytających to pytanie.
Ryan Thompson
Aktualizacje spowodowane przez jeden system operacyjny wpływający na drugi są raczej normalne i nie są tak naprawdę spowodowane problemami z hibernacją. Stan hibernacji jest traktowany jak każdy inny plik w systemie plików. Nie bardzo rozumiem, dlaczego ta odpowiedź została zaakceptowana.
Matt H
1
Cały katalog zanikający w zawieszeniu FAT nie jest „aktualizacją spowodowaną przez jeden system operacyjny”, przynajmniej nie jest zamierzoną aktualizacją. Po hibernacji Linuksa, uruchomieniu systemu Windows, a następnie wznowieniu pracy systemu Linux, doświadczyłem uszkodzenia danych na wspólnej partycji NTFS.
Chema
2
Hibernacja jednego systemu operacyjnego i zamontowanie tej samej partycji w innym powoduje, że dwa systemy operacyjne uzyskują dostęp do dysku w tym samym czasie. Nie wiedzą o zmianach, które wprowadził drugi, więc nastąpi korupcja.
psusi
2
Wydaje mi się, że problemem jest to, że system operacyjny pozostawia partycję w stanie „nieczystym”. W systemie Windows jest opcja, aby nie buforować zapisów, może to pomaga, może istnieje podobna opcja w systemie Linux. A może możemy znaleźć sposób, aby system „wyczyścił” partycję przed pójściem spać.
Rolf
23

Zawsze hibernuję system Windows przed uruchomieniem w innym celu, system Windows jest po prostu zbyt wolny, aby zacząć od zera. Ale zapisywanie na partycji hibernowanego systemu operacyjnego jest niebezpieczne , ponieważ niektóre tabele FS są nadal w pamięci (cóż, w pliku hibernacji, ale nie w FS), aplikacje nadal mają uchwyty do niektórych plików i ogólnie stan systemu plików jest miły niestabilny.

Ale możesz zamontować tę partycję tylko do odczytu, w ten sposób pozostanie dokładnie taka sama jak przed hibernacją, a Windows nic nie zauważy.

Jeśli chodzi o sugestię dotyczącą normalnego montażu i trzymania się z dala od plików systemowych, nie jest to dobry pomysł. Może nastąpić przeniesienie zawartości pliku, MFT może zostać zmieniony, atrybuty czasu dostępu zostaną zmienione, wszystkie te rzeczy mogą poważnie uszkodzić system plików. Nie jest tak niebezpieczny z FAT, ale jest naprawdę bardzo niebezpieczny z NTFS, ponieważ jest znacznie bardziej skomplikowany i ma o wiele więcej stanu w pamięci.

vava
źródło
1
Czy jesteś pewien, że montaż tylko do odczytu jest w porządku? Rozumiem, że w przypadku systemów plików kronikowania nawet podłączenie tylko do odczytu odtworzy dziennik, a tym samym spowoduje zmianę systemu plików. Z drugiej strony jedynym systemem plików Linux, do którego można uzyskać dostęp z systemu Windows, jest ext2, który nie jest jornalny, podobnie jak FAT, a Linux prawdopodobnie wykonuje prawdziwy montaż NTFS tylko do odczytu, z powodów historycznych. Więc może to jest bezpieczne. W każdym razie chciałbym, żeby ktoś miał konkretne wyniki testu.
Ryan Thompson,
2
Nie, po zamontowaniu FS, tylko do odczytu, nic się na nim nie zmieniło. Dlatego nazywa się to tylko do odczytu :) Dziennik nie jest potrzebny, ponieważ zapewnia, że ​​stan FS jest zawsze poprawny, ale gdy stan się nie zmienia, nie jest to konieczne, więc dziennik nie jest używany. I to działa dla mnie już od dłuższego czasu, więc są twoje wyniki testów :)
vava
1
„Windows jest zbyt wolny, aby zacząć od zera” Mówisz poważnie? Muszę wtedy robić coś złego, ponieważ kiedy mój laptop hibernuje, wydłuża to czas uruchamiania o około 2 minuty lub więcej.
thepaulpage
1
Mówiłem o XP i tak, jest powolny jak diabli, biorąc pod uwagę, ile czasu zajmuje od rozruchu do działających aplikacji. Ubuntu 9.04 krążyło wokół niego. Ubuntu 9.10 jest z jakiegoś powodu znacznie wolniejszy.
vava
ponieważ Windows 8 i nowsze wersje Windows boot jest błyskawiczny. Kiedy korzystałem z systemu Windows 7, ładuje się powoli, więc dopóki nie mogę uruchomić przeglądarki, sieć jest już dostępna. Następnie zaktualizowałem system do Windows 8 i od tego czasu, kiedy wróciłem do domu, włącz router, a następnie włącz laptopa i przeglądarki. Muszę długo czekać, zanim będę mógł uzyskać dostęp do Internetu. Ponieważ Windows 10 jest jeszcze szybszy, naciśnij moc, a następnie kilka sekund będziesz gotowy
phuclv
9

Regularnie hibernuję system Windows XP i uruchamiam system Ubuntu przez USB.
Działa bezbłędnie.

Istnieje różnica między trybem „Standby” a trybem „hibernacji”.
Stan systemu operacyjnego jest całkowicie opróżniany na dysk, a sprzęt jest wyłączony.
Jeśli uruchomisz komputer i uruchomisz inny system operacyjny, nie będzie to miało wpływu na hibernowany system operacyjny.
Możesz zahibernować tyle systemów operacyjnych, ile chcesz.

Na przykład,
możesz mieć wiele instalacji Ubuntu (powiedzmy, jedną na dysk flash USB),
i hibernować każdą, odłączyć dysk i uruchomić się na innej.
Nie ma tutaj przewagi, ponieważ nie ma efektu łączenia / łączenia w łańcuchy.
W tym przykładzie hibernowane pamięci USB są niezależne od siebie
(na maszynie z wyłączonym zasilaniem).

Jednym małym minusem hibernowanego C:\dysku i uruchamiania się z innym systemem operacyjnym jest to,
że nie można zamontować hibernowanej partycji rozruchowej w nowym systemie operacyjnym.
Partycja jest zablokowana hibernacją.
Zostanie uszkodzony w przypadku edycji w tym stanie.

nik
źródło
Właściwie to się mylisz, w dobry sposób! Próbowałem hibernować system Windows, uruchamiać system Ubuntu i montować system plików Windows i działa bez żadnych uszkodzeń po wznowieniu pracy systemu Windows ze stanu hibernacji! To mnie zaskoczyło.
Ryan Thompson,
IMHO, o którym mówią ludzie o korupcji, najprawdopodobniej jest związane z tym, że sterownik NTFS Linuksa nie jest w pełni kompatybilny ze wszystkimi funkcjami NTFS. Najlepiej jest montować tylko do odczytu.
Matt H
Ok, chciałbyś również przeczytać Czy NTFS na Ubuntu jest stabilny?
nik
nik ma rację - nie montuj partycji z innego systemu operacyjnego, nadal jest montowany w hibernowanym systemie operacyjnym. Nie zamontowałbyś tej samej partycji na dwóch maszynach wirtualnych (korzystających z bezpośredniego dostępu do partycji) działających w tym samym czasie, prawda?
Ben Voigt,
8

Mogę potwierdzić problem z utratą danych na współużytkowanej partycji NTFS. Wykonuję podwójny rozruch między Lucid Lynx Ubuntu a Windows 7. Po hibernacji Windows 7 i uruchomieniu w Ubuntu, przystąpiłem do budowy trzech maszyn wirtualnych VirtualBox (w ciągu 7 dni) i zainstalowałem na nich różne pakiety oprogramowania. Po ponownym uruchomieniu w systemie Windows 7 pliki zniknęły. Odszedł. ntfsundelete i przede wszystkim nie byli w stanie ich znaleźć.

Przeprowadziłem więc serię testów, aby sprawdzić, czy to w rzeczywistości spowodowało utratę danych. Podczas zamykania systemu Windows 7, uruchamiania Ubuntu, pisania niektórych plików, ponownego uruchamiania systemu Windows 7, pliki są zawsze zachowywane. Po hibernacji Windows 7, ponownym uruchomieniu w Ubuntu, zapisaniu niektórych plików, ponownym uruchomieniu w Windows 7, nowe pliki zniknęły.

Nie wiem o ZMIANACH zapisanych w pliku, niezależnie od tego, czy są one zachowane, czy utracone, ale w tej sytuacji najprawdopodobniej zostaną utracone nowe pliki i foldery dodane do udostępnionej partycji NTFS.

CtC
źródło
4

Nie ma nic złego w tym, co wspomniałeś. Nawet jeśli zamontowałeś hibernowany system plików, zawartość hibernacji jest zapisywana w dużym pliku na dysku - dopóki nie dotkniesz tego pliku lub innych ważnych plików systemowych (oczywiście), nic się nie stanie.

Jeśli zmienisz zawartość partycji z innego systemu operacyjnego po wyłączeniu systemu, oryginalna partycja nadal uruchomi się bez problemów. To samo dotyczy hibernacji.

Upewnij się tylko, że podczas montowania / odmontowywania partycji nie uszkodzisz żadnych plików systemowych ani informacji o nagłówkach dysków (np. MBR, dzienniki plików) - chociaż ten punkt nie ma nic wspólnego ze hibernacją, a bardziej zwykłym ostrzeżeniem, którego wszyscy potrzebujemy wiedzieć.

Przełom
źródło
3
Eksperyment myślowy: co jeśli masz otwarty dokument lub plik w aplikacji w systemie Windows (np. Edytujesz dokument Word), to hibernujesz i uruchamiasz inny system operacyjny. Nie ma już aktywnej blokady pliku, o ile Linux wie, że może bezpiecznie zrobić wszystko z plikiem, więc jeśli zdecydujesz, że jest źle złożony i przeniesiesz go do innego katalogu, na który pozwoli Linux. Po uruchomieniu systemu Windows co robi program Word, jeśli jego plik nagle zniknął? Pomyśl teraz, co by się stało, gdyby ten plik był ważniejszy niż dokument programu Word? Montaż tylko do odczytu będzie o wiele bezpieczniejszy.
GAThrawn
1
To okazuje się najdokładniejsza odpowiedź. W rzeczywistości można montować i modyfikować dysk Windows C, gdy Windows jest w stanie hibernacji, i nie będzie narzekać. Nie testowałem tego z Linuksem, ale podejrzewam, że to nie zadziała.
Ryan Thompson,
@ Ryan możesz, ale nie jest w 100% bezpieczny. NTFS może być zbyt łatwo uszkodzony. Innym problemem jest to, że Linux i WIndows używają NTFS nieco inaczej, więc to, co działa z Windows, może nie działać z Linuksem. Różnice te mogą doprowadzić do uszkodzenia FS, szczególnie w skrajnym przypadku FS.
vava
@GAThrawn - Czym zajmuje się Word? Spróbuj przymusowo edytować dokument programu Word w systemie Windows i zobacz, co się stanie. Istnieją programy do usuwania blokad plików. @vava - Dopóki używasz programu / systemu operacyjnego, który jest zgodny z NTFS MFT i Journal, powinno być w porządku.
Przełom
Wiem, że nie jest to w 100% bezpieczne, ale chodzi o to, że jeśli przypadkowo zamontuję system plików Windows w systemie Linux po hibernacji systemu Windows, rezultatem nie będzie natychmiastowe i nieodwracalne uszkodzenie. Innymi słowy, musiałbym włożyć trochę wysiłku, gdybym chciał zastrzelić się w stopę.
Ryan Thompson
4

Właśnie napotkałem problem na współdzielonym dysku fizycznym (FAT32) między Windows XP a Windows 7. Hibernowałem Windows XP, uruchomiłem system Windows 7 na kilka dni, a potem wróciłem do XP. Teraz mam uszkodzony system plików na współdzielonym dysku. Sprawdzanie dysku jest uruchomione i wygląda całkiem źle. Przeważnie połączone pliki, ale tysiące z nich.

Daniel
źródło
3
Innymi słowy ... Jeśli hibernujesz na dysku, NIE używaj dysku współdzielonego. (lub, jeśli używasz Linuksa, zamontuj ten dysk przed hibernacją)
Denilson Sá Maia
4

To trochę stare, ale ponieważ jest to kwestia krytyczna, kolejne świadectwo jest tego warte.

Mam zewnętrzny dysk twardy NTFS USB, którego używam do przesyłania danych (bez plików związanych z systemem operacyjnym) na 2 różnych komputerach. Ciągle traciłem na nim dane, dopóki nie odizolowałem problemu. Jeden z komputerów jest dość stary i wolny (Windows XP), więc korzystałem z hibernacji, aby skrócić czas restartu, odłączając dysk twardy w tym stanie i zapisując dane na innym komputerze (Windows 7). Utrata danych nie występowała za każdym razem, ale z pewnością była spowodowana tym scenariuszem. Ponieważ przestałem to robić, nigdy więcej się nie powtórzyło.

użytkownik3671607
źródło
Najbardziej przerażająca rzecz dla mnie: wydaje się, że chodzi o dysk z danymi, prawda? Więc nie jest to nawet stan samego systemu operacyjnego hibernowanego na tym dysku USB, ale tylko dane? W takim przypadku spodziewałbym się , że oprogramowanie poprawnie zapisuje rzeczy na dysku, gdy otrzymają sygnał, że system operacyjny ma zamiar hibernować. Ale najwyraźniej nie ...
Arjan
1
Dokładnie. To dysk z danymi. Brak plików związanych z systemem operacyjnym. Przepraszam, że tego nie podkreślałem. Właśnie dlatego czułem, że muszę dodać swój wkład. Kiedy zdiagnozowałem to po raz pierwszy, powiedziano mi, że nie warto tego robić, ale chociaż jestem profesjonalistą, nie wygląda to wcale na oczywiste i jest to scenariusz, który może wystąpić w przypadku dysków zewnętrznych. Myślę, że powodem, dla którego nie jest to często dyskutowane, jest fakt, że niewiele osób dokłada wszelkich starań, aby to przeanalizować i zdiagnozować. Nie mówiąc już o zgłoszeniu.
user3671607,
Być może głupie pytanie: czy bezpiecznie usunąłeś dysk (tj. Menedżer plików, prawym przyciskiem myszy urządzenie i wysunąłeś) przed hibernacją, czy po prostu wyciągnąłeś dysk?
gamen
Tak, to głupiutki komentarz: jak bezpiecznie usunąć dysk, gdy komputer jest w stanie hibernacji?
user3671607
3

Wystąpiły problemy z hibernacją i uruchamianiem wielu systemów. Sytuacja: Ubuntu i WinxP Multboot, ale partycja danych jest widoczna dla obu systemów operacyjnych. Przeprowadziłem testy ... tam iz powrotem ... Więc edytowałem plik Word za pomocą Worda ... Zapisałem plik i zamknąłem Word. Hibernacja ... uruchomiona Ubuntu ... edytowała ten sam plik za pomocą OpenOffice ... hibernowana.

Uruchomiono ponownie w hibernowanym WinXP. Słowo NIE „zobaczyło” zmian ... Po prostu zadziałało jak inny plik ...

Zrobiłem to również na odwrót ... Plik po raz drugi został uszkodzony ... Nie mogłem otworzyć pliku ani usunąć pliku Chkdsk „rozwiązał” problem, ale plik został utracony ... W innym teście Ubuntu nie nawet zobaczyć edytowany plik.

TAK, gdy używasz hibernacji i tych samych partycji (NIE musi to być partycja, z której uruchamia się system operacyjny ...) jest bardzo niebezpieczny ... Pliki mogą i będą ulegać uszkodzeniu w moich testach i mogę to powtórzyć ... BTW: W moich testach ZAWSZE zapisywałem plik i zamykałem aplikację (Word i OpenOffice) zanim przejdzie w stan hibernacji ... !! Myślałem, że zamontowanie partycji było przyczyną, ale teraz myślę, że problem musi dotyczyć buforowania plików itp. W każdym razie: bądź ostrożny przy hibernacji z wieloma systemami operacyjnymi ... !! Pozdrawiam, ArnoR


źródło
3

Miałem następujące bardzo destrukcyjne wrażenia z podwójnym uruchamianiem Windows (Vista) i Ubuntu (9, 10, 11). Nie jestem użytkownikiem technicznym, ale mam duże doświadczenie w używaniu i konfigurowaniu systemu Windows i DOS. Zainstalowałem Ubuntu za pomocą płyty CD na żywo na komputerze z systemem Windows Vista. To działało bezbłędnie, a mój podwójny boot uruchomił się i uruchomił w mgnieniu oka. Widząc, że nie było żadnych ostrzeżeń dołączonych do instalacji Ubuntu, (naiwnie) założyłem, że mogę hibernować (zapisywać na dysku, nie zawieszać) oba systemy i swobodnie przełączać się między nimi. Dało to następujące wyniki:

1) Popełniłem błąd podczas edycji pliku tekstowego w Ubuntu, o którym zapomniałem, że jest otwarty w systemie Windows. Następnie plik był niedostępny dla dowolnego systemu operacyjnego. Nie można go nawet usunąć. Chkdsk w końcu go usunął, ale moje dane zostały utracone.

2) Próbowałem także dwóch innych operacji na plikach z Ubuntu bezpośrednio na partycję Win: Generowanie pliku pdf z OpenOffice i tworzenie katalogu / folderu na pulpicie Win. Oba były niedostępne z poziomu systemu Windows (chociaż można je było zobaczyć w Win explorer). Na szczęście można je było usunąć z Ubuntu, choć trzeba było później uruchomić program chkdsk, aby usunąć z systemu Windows.

3) Duży plik OpenOffice Writer (zapisany jako * .doc), który był edytowany najpierw w jednym, a następnie w innym systemie operacyjnym kilka razy (nie był otwierany w innym systemie, gdy go edytowałem), nagle powiększony balonem około 2 MB do 7 MB, co prawie uniemożliwia załadowanie i zapisanie. Kiedy zapisałem plik jako dokument * .odt, jego rozmiar znacznie się zmniejszył, ale czasy zapisu / ładowania nie były szybsze. Kiedy rozpakowałem plik, jego sekcja „zawartość” okazała się większa niż 22 MB. Kiedy uzyskałem do niego dostęp za pomocą edytora tekstu, okazało się, że każde słowo i spacja w dokumencie były osobno sformatowane i nie w tym samym stylu! W końcu rozwiązałem problem, porównując gigantyczną wersję z wcześniejszą wersją tego samego pliku, używając starej wersji jako podstawy porównania, a następnie akceptując wszystkie zmiany i zapisując.

4) W tym momencie zaktualizowałem system z Ubuntu 10 do Ubuntu 11 i odkryłem, że system 11 używa wyłącznie nowego interfejsu Unity, co było całkowicie nie do przyjęcia dla moich celów. Kiedy wymyśliłem, jak zainstalować Gnome na Ubuntu 11, okazało się, że Gnome 3 był znacznie gorszy od Gnome 2. Dlatego postanowiłem całkowicie odinstalować Ubuntu i dokonać nowej instalacji Karmic Koala, która używa Gnome 2 bez śladu nowego System jedności. Okazało się to skomplikowane, ale po znalezieniu dokładnie tych samych instrukcji powtórzonych w kilku instrukcjach online, podjąłem procedurę. Wszystko szło dobrze, dopóki nie uruchomiłem EasyBCD 2.1.2 (z systemu Windows), co pozwoli mi na ponowne uruchomienie bezpośrednio do systemu Windows po usunięciu programu uruchamiającego Grub Ubuntu. Podczas ponownego uruchamiania stwierdziłem, że mój MBR został śmiertelnie uszkodzony i maszyna nie rozpoznała żadnych rozruchowych dysków twardych.

5) Teraz mogłem ponownie uruchomić system Vista i przygotowywałem się do ponownej instalacji Ubuntu, kiedy odkryłem, że pewna liczba plików zaczęła znikać z mojego systemu. Oczywiście system plików był nadal uszkodzony. Dopiero pełna ponowna instalacja systemu Windows rozwiązała problem, a teraz bardzo dokładnie zastanawiam się, co powinienem zrobić, aby uniknąć podobnych problemów w przyszłości, przed zainstalowaniem Karmic Koala. Mam nadzieję , że moje problemy są związane z problemem hibernacji, ale dla pewności rozważam utworzenie oddzielnej partycji NTFS „transfer”, w której mogę umieścić pliki z jednego systemu operacyjnego przed uzyskaniem dostępu do nich z drugiego. Niepraktyczne, ale powinno być bezpieczne. Mam nadzieję.

Fin
źródło
2

Nie rób tego (ponownie!)

Hibernowałem mój system Vista / NTFS i uruchomiłem Lucid, pracowałem 3 dni na wspólnej partycji NTFS i zacząłem znikać pliki i katalogi lub blokować je nieprzyjemnymi komunikatami o błędach (w ramach przejrzystego). Kiedy wróciłem do systemu Windows, to był prawdziwy bałagan, spustoszenie pulpitu itp. Mam nadzieję, że chkdsk był w stanie naprawić większość z nich i wyłowiłem z 000 000 około 98% tego, co miałem wcześniej.
Więc zdecydowanie nie jest to dobre.
Pamiętam, że wcześniej nie było to możliwe: hibernowanych partycji NTFS nie można było zamontować w systemie Linux z jakiegoś (najwyraźniej dobrego) powodu. Chciałbym wrócić do tego starego zachowania


źródło
2

NIEBEZPIECZEŃSTWO! Mogę również potwierdzić, że jest to poważny problem zarówno dla woluminów FAT32, jak i NTFS i tylko wtedy, gdy Windows (mam Windows 7) jest w stanie hibernacji. Myślę, że jest to związane z buforowaniem i rozważałem skonfigurowanie napędu do szybkiego usunięcia. To może to naprawić, ale jeszcze tego nie próbowałem, ponieważ tak naprawdę chcę skonfigurować tylko jedną partycję w taki sposób, że system Windows nie obsługuje. Nawet mój sterownik NTFS OSX obsługuje kontrolę pamięci podręcznej partycji, ale nie Windows. Ponadto mój sterownik NTFS OSX wydaje się rozpoznawać, że napęd nie powinien być montowany. Wydaje się, że jest związany z tym problemem. Mam nadzieję, że to pomaga.


źródło
1
Tak, jest to związane z buforowaniem i nie, „optymalizacja do szybkiego usunięcia” nie pomoże. To powoduje, że system Windows natychmiast zapisuje zmiany, ale system Windows nadal (niebezpiecznie) przyjmuje, że jego pamięć podręczna odczytu jest w 100% poprawna i nie zobaczy zmian wprowadzonych przez inne systemy operacyjne na dysku.
Ben Voigt,
1

Oto moje doświadczenie. Używam systemu podwójnego rozruchu z Windows i Kubuntu (11.04). Większość moich plików znajduje się na partycji Windows NTFS i korzystam głównie z Linuksa. Jest montowany za pomocą BEZPIECZNIKA.

To jest to, co się stało:

  1. Hibernowany system Windows
  2. Podczas następnego rozruchu uruchomiłem system Linux i korzystałem z niego przez kilka tygodni - bez uruchamiania systemu Windows
  3. Uruchomiony z powrotem do systemu Windows (ponieważ test online działał tylko w Internet Explorerze i nic więcej, w jakiś sposób ie4linux nie był wystarczający)

Po wznowieniu pracy systemu Windows zauważyłem, że brakuje wszystkich plików utworzonych w ciągu tych dwóch tygodni. Ponownie uruchomiłem system Linux, aby sprawdzić, czy brakuje tam również plików. Zgaduję, że system Windows przywrócił system plików NTFS do stanu, w którym został hibernowany i przywrócił go z powrotem do tego momentu.

Próbowałem narzędzi takich jak ntfsundelete i testdisk. Brakujących plików nie ma na liście. Ponadto Linux montuje dyski w trybie RW, nawet gdy system Windows hibernował i nie został zamknięty. Chyba Linux ostrzega lub po prostu montuje dysk w trybie tylko do odczytu, ale tak się nie stało.

spa
źródło
2
Na metadanych systemu plików znajduje się oznaczenie, czy jest on odmontowany poprawnie, czy nie ... Wydaje mi się również, że poprawnym zachowaniem jest sprawdzenie przez sterownik NTFS systemu Linux tej flagi.
Ben Voigt,
1

Mogę również potwierdzić, że współdzielenie partycji niesystemowej między dwoma różnymi O / S w stanie hibernacji powoduje uszkodzenie systemu plików i utratę danych.

Scenariusz: mam 3 partycje NTFS: 1. Windows XP 2. Windows 7 3. Dane (muszę nadal używać XP dla starych aplikacji, które nie działają dobrze w trybie zgodności).

Przykład: Uruchom z partycji 1 (XP) i uruchom Thunderbirda, który przechowuje pliki na 3. Następnie hibernacja (zrzut pamięci RAM do pliku hibernacji i zamknięcie komputera). Uruchom z partycji 2 (7) i uruchom Thunderbirda, który przechowuje pliki na 3. Tutaj problem zaczyna się od dostępu do plików itp. Czasami z lub bez chkdsk. Powrót do rozruchu z partycji 1 i pliki naprawione przez OS_2_7 są ponownie uszkodzone, nawet najgorsze niektóre otwarte pliki przed hibernacją (np. Firefox) są teraz uszkodzone.

Więc tak. Hibernacja dwóch systemów operacyjnych bez względu na to, czy korzystają z partycji systemowej / niesystemowej, spowoduje uszkodzenie danych. Dlaczego ? Przypuszczam, że główną przyczyną jest plik LOCK i MFT. Po przebudzeniu ze stanu hibernacji O / S nie odświeża MFT, więc nadal przypuszczaj, że znajdę pliki w starych sektorach, więc każdy plik, który zmienił jego rozmiar / miejsce, zostanie uszkodzony.

Varso
źródło
Jakie pliki uległy uszkodzeniu? Tylko te należące do Thunderbirda lub kilku niepowiązanych plików? Może mieć (niektórzy) sens, że jeśli Thunderbird jest uruchamiany z tej samej lokalizacji na partycji 3, wówczas istnieją dwa różne zestawy danych w dwóch różnych systemach. Jedna spróbuje zmusić drugą.
Doktoro Reichard
0

Robiłem dokładnie to. Nigdy nie montowałem dysku systemowego maszyny hibernującej, aby uniknąć wypadków, a każdy system operacyjny ma własną oddzielną partycję wymiany. Miałem jednak dedykowaną partycję danych, której używałbym do przesyłania danych między dwoma hibernującymi systemami operacyjnymi. Umieściłem tam nawet mój profil Firefox i Thunderbird, więc nie muszę utrzymywać dwóch osobnych profili. Pamiętaj tylko, aby zamknąć Firefoksa na jednym komputerze przed hibernacją.

Nie przypominam sobie, aby kiedykolwiek miałem problemy z konfiguracją, i korzystałem z niego również dość długo.

Lie Ryan
źródło
Jakiego FS używasz na partycji współdzielonej? Zaczynam myśleć, że może NTFS ma z tym coś wspólnego, wszyscy narzekają, że ich wspólna para NTFS ulega uszkodzeniu.
Rolf
@Rolf: NTFS ze sterownikiem NTFS-3G w systemie Linux. Poza tym była to czysta partycja danych, z wyjątkiem aplikacji takich jak Firefox / Thunderbird, które, jak wiem, zawierają ostrzeżenia przed nieczystym zamknięciem i które zawsze zamykałem przed zmianą systemu operacyjnego.
Lie Ryan,
Może zrobiłby to FAT? NTFS jest lepszy, ale w tym przypadku wydaje się, że nie działa dobrze, delikatnie mówiąc. Ponadto, jeśli uda nam się zmusić system do opróżnienia całego bufora na dysk przed hibernacją, może to pomoże. Ale myślę, że najlepiej byłoby eksperymentować z różnymi systemami plików (EXT lub inne mogą być również opcjami) dla partycji współdzielonej. Jeśli ktoś chce to zrobić :) Może na maszynie wirtualnej? BTW napotkałem ten sam problem, używając maszyny wirtualnej, zapisując stan, a następnie używając tej samej maszyny wirtualnej (ten sam plik), ale w innym systemie operacyjnym. Host maszyny wirtualnej nie był świadomy stanu zapisanego.
Rolf
1
Mówisz więc, że jeśli pamiętamy, aby zamknąć wszystkie uchwyty plików na partycji współdzielonej przed hibernacją, powinno być OK.
Rolf
0

Odpowiedź brzmi: w przypadku NTFS najwyraźniej tak (zobacz inne odpowiedzi). Możesz spróbować ze starszymi, prostszymi systemami plików, takimi jak FAT. Ale to byłoby dźgnięcie w ciemność.

Chcę tylko dodać, że problem można odtworzyć za pomocą maszyn wirtualnych. Używam VirtualBox na maszynie z podwójnym uruchomieniem. Zainstalowałem oprogramowanie hosta VirtualBox na partycjach Windows i Linux i zapisałem pliki obrazów na wspólnej partycji NTFS. Celem była możliwość używania tej samej maszyny wirtualnej zarówno w systemie Windows, jak i Linux.

Z przyzwyczajenia użyłem polecenia stanu „zapisz maszynę” w VirtualBox podczas zamykania maszyny wirtualnej. Użyłem tego polecenia (które gdzieś zapisuje stan pamięci RAM dla maszyny wirtualnej), ponownie uruchomiłem laptopa w innym systemie operacyjnym i ponownie użyłem tej samej maszyny wirtualnej. W VirtualBox nie było opcji przywracania, więc najwyraźniej VirtualBox nie jest świadomy zapisanego stanu maszyny wirtualnej, jeśli stan został zapisany przy użyciu innej instalacji VirtualBox. Czytałem, że VMware może być mądrzejszy, ale nie próbowałem tego.

W końcu wszystkie moje maszyny wirtualne uległy uszkodzeniu. Jednak udało mi się naprawić większość uszkodzeń za pomocą fsck.

To po prostu powiedzieć, że nie trzeba spędzać godzin na partycjonowaniu i instalowaniu systemu operacyjnego, aby odtworzyć ten problem.

Moje rozwiązanie? Wyłączono hibernację w systemie Windows. Jest domyślnie wyłączony w Ubuntu. Nigdy też nie używaj opcji zapisywania stanu maszyny dla maszyny wirtualnej, jeśli planujesz uruchomić tę maszynę wirtualną w innym kontekście (inny system operacyjny, inna instalacja hosta itp.).

Aż ktoś wymyśli system plików (lub system operacyjny, lub cokolwiek innego), który nie jest podatny na ten problem.

Również zamknięcie wszystkich otwartych uchwytów na partycji współdzielonej (i przypuszczalnie opróżnianie na dysk) przed hibernacją (lub, jak sądzę, odmontowaniem partycji - musi istnieć sposób, aby to zrobić również w systemie Windows), jeśli zgłoszono, aby uniknąć uszkodzenia (patrz Odpowiedź Lie Ryana). Wolałbym jednak być bezpieczny i nie używać hibernacji w tej sytuacji.

Rolf
źródło
Stan zapisywania Virtual Box jest zupełnie inny niż hibernacja. Stan zapisu to funkcja maszyny wirtualnej, a nie funkcja systemu operacyjnego. System operacyjny jest całkowicie nieświadomy, kiedy ma miejsce stan zapisu. Stan zapisu nie jest przechowywany na obrazie dysku wirtualnego, ale w innym pliku. Virtual Box faktycznie może przywrócić zapisany stan do innej maszyny, nazywa się to teleportacją.
Lie Ryan
-3

Po prostu nie sądzę, że to możliwe.

Po hibernacji komputer jest „zablokowany” (z powodu braku lepszego terminu) w tym systemie operacyjnym. Nie hibernujesz systemu operacyjnego, hibernujesz cały komputer. Kiedy wznowić od hibernacji, nie trzeba ponownie przeglądać BIOS-u ani czasu POST.

Josh Hunt
źródło
Nie mówię o zawieszeniu pamięci RAM, mam na myśli hibernację na dysk. Przeredaguję pytanie, aby było bardziej szczegółowe.
Ryan Thompson,
7
Wydaje mi się źle. Podczas hibernacji komputer jest wyłączany. Po ponownym uruchomieniu przechodzi przez BIOS i POST. Dopiero gdy moduł ładujący systemu operacyjnego zobaczy, że hibernuje, załaduje plik zawierający stan pamięci (hiberfil.sys dla systemu Windows) i przywróci system operacyjny.
Snark,
Nie, spowoduje to problemy ze spójnością systemu plików. Zobacz mój post powyżej.
Nathan Osman
@George: Wystąpią problemy ze spójnością systemu plików, jeśli udostępnisz dowolny system plików między obydwoma systemami operacyjnymi. Ale na pewno możesz uruchomić inny system operacyjny, który ma własny zestaw partycji, w przeciwieństwie do tej odpowiedzi.
Ben Voigt,
Jeśli nie przejdzie przez system BIOS i test POST, nie będzie możliwe wybranie systemu operacyjnego podczas uruchamiania i wykonywanie takich komunikatów, jak te opisane tutaj. Hibernacja nie zawiesza się podczas taranowania.
Rolf