Z poprzedniego artykułu z cyklu Linux i Windows w jednym stali domu dotyczącego przywracania GRUB2 po instalacji Windowsa wiemy, że Windows raczej nie przepada za Linuksem. Z tego artykułu dowiemy się, że Linux nie pozostaje mu dłużny. Przy czym należy obiektywnie zauważyć, że Linux walczy z Windowsem wykorzystując słabości przeciwnika 😉
Tyle żartów, problem jest jednak poważny, Otóż, mając zainstalowane na jednej maszynie 2 systemy operacyjne: Windows 7 (choć być może błąd ten dotyczy także wcześniejszych wersji systemu) i dowolną dystrybucję Linuksa, może się zdarzyć, że Windows ni z tego ni z owego przestał przechodzić w stan uśpienia / hibernacji. Ekran na chwilę gaśnie, po czym od razu wraca. Takie zachowanie Windowsa wynika z zainstalowania obok Windowsa, Linuksa z GRUB-em na MBR-ze oraz ze zmiany partycji z flagą boot na inną niż Windowsowa. Taka sytuacja może zajść tylko przy zabawie z partycjami, a ta z kolei najczęściej ma miejsce przy instalacji systemu. Z punktu widzienia Linuksa jest to całkowicie obojętne na której partycji ustawiona jest flaga boot, w końcu za proces bootowania odpowiada GRUB, który przecież zainstalowany w MBR-ze, jednak dla Windowsa ma to znaczenia dla prawidłowego działania procesu uśpienia / hibernacji.
Przechodzimy do naprawy. Układ partycji na dysku w moim przypadku wygląda tak:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ sudo fdisk -l Dysk /dev/sda: 500.1 GB, bajtów: 500107862016 głowic: 255, sektorów/ścieżkę: 63, cylindrów: 60801 Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512 Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512 Identyfikator dysku: 0x000d5aaf Urządzenie Rozruch Początek Koniec Bloków ID System /dev/sda1 * 1 6374 51199123+ 83 Linux /dev/sda2 6375 12748 51199155 83 Linux /dev/sda3 12749 59661 376828672+ 7 HPFS/NTFS /dev/sda4 59662 60802 9158656 82 Linux swap / Solaris |
Rozwiązania są 2 – jedno z przeprowadzamy z poziomu Linuksa, drugie z poziomu Windowsa, choć de facto sprowadzają się do tego samego.
Ustawienie aktywnej partycji Windows z poziomu Windowsa
Z menu Start wybieramy: Panel sterowania -> Narzędzia administracyjne -> Zarządzanie komputerem -> Magazyn -> Zarządzenie dyskami, a następnie z menu kontekstowego Oznacz partycję jako aktywną. To tyle nawet nie trzeba przeładowywać Windowsa, żeby uśpienie / hibernacja zadziałały.
Ustawienie flagi boot na partycji Windows z poziomu Linuksa
Możemy to zrobić z poziomu graficznego narzędzia do partycjonowania – GParted. W przypadku GNOME2 dostępne jest ono w menu System -> Administracja -> Edytor partycji GParted. Jeśli go tam nie ma to w przypadku Ubuntu / LMDE możemy je doinstalować z poziomu konsoli / terminala komendą:
1 |
sudo apt-get install gparted |
Po uruchomieniu narzędzia, wybieramy partycję z Windowsem i z menu kontekstowego Zarządzaj flagami, a następnie zaznaczmy flagę boot. Na koniec klikamy na Zastosuj wszystkie działania i gotowe, możemy przelogować się do Windowsa i sprawdzić działanie uśpienia / hibernacji.