Czy Windows i Ubuntu mogą współdzielić jedną partycję wymiany?

13

Uruchamiam podwójnie system z Ubuntu 12.04 i Windows 7. Podczas instalacji utworzyłem specjalną partycję wymiany dla Ubuntu (zgodnie z zaleceniami).

Czy system Windows może używać tego obszaru wymiany / partycji - jako własnego pliku wymiany / strony - podczas uruchamiania z systemu Windows?

Pranit Bauva
źródło
1
przepraszam kolego, Windows nie jest tak sprytny / elastyczny. używa stronicowania, tworzy pliki na dyskach i używa ich w pewnym sensie jako swap.
Mahesh,
Microsoft mówi: nie rób tego: blogs.msdn.microsoft.com/commandline/2016/11/17/... a od 18.04LTS używa teraz pliku wymiany, koncepcja jest przestarzała.
K7AAY
@ K7AAY, ten artykuł dotyczy WSL, a nie podwójnego uruchamiania, więc jest to całkowicie nieistotne. I nawet jeśli używasz WSL , możesz edytować pliki systemu Linux od systemu Windows od wersji 1903
phuclv

Odpowiedzi:

11

Jest to możliwe, ale prawdopodobnie tylko jako eksperyment:

Uwaga: To jest odpowiedź „co, jeśli” i nie jest zalecana , szczególnie jeśli używasz hibernacji z Ubuntu!

  • Teoretycznie tak, Windows powinien być w stanie użyć partycji wymiany dla pliku strony (wymiany) z pewnym sprytnym skryptem po stronie Linuksa.

  • Nie zamierzam robić tego krok po kroku, ponieważ go nie próbowałem, a jeśli nie możesz wymyślić, jak to zaimplementować, nie powinieneś też tego próbować :)

    1. Sformatuj partycję jako NTFS w systemie Windows i skonfiguruj system Windows, aby używał tego napędu wyłącznie do pliku wymiany (nic w C :)

    2. Przygotuj skrypt startowy / upstart, aby sformatować partycję jako Linux Swap podczas uruchamiania Ubuntu i włączyć swap ( swapon).

    3. Przygotuj skrypt zamykania, aby zamienić i sformatować partycję jako NTFS.

Alternatywna (wciąż niezalecana) opcja:

Możesz utworzyć plik wymiany, postępując zgodnie z tym przewodnikiem na partycji NTFS, pod warunkiem, że partycja NTFS jest wystarczająco duża dla obu plików wymiany.

Jednak ta alternatywa nie jest zalecana, ponieważ:

  • Zamiana partycji NTFS (3G) byłaby bardzo obciążająca procesor.
  • I, co gorsza, ponieważ plik może / będzie pofragmentowany, spowoduje to również spadek wydajności.
ish
źródło
Lub użyj pliku jako wymiany na tej partycji.
lgarzo
@lgarzo Jestem świadomy tej opcji, ale nie polecam, bo zamiana na partycji NTFS (3G) byłoby niezwykle CPU-ciężki :)
owski
I, co gorsza, ponieważ plik może / będzie pofragmentowany, spowoduje to również spadek wydajności.
lgarzo
@lgarzo Absolutnie. Być może mógłbyś edytować moją odpowiedź, aby dodać, że chociaż jest to inna opcja (pod warunkiem, że partycja NTFS jest wystarczająco duża dla obu plików wymiany), to nie jest zalecana z powodów, które omówiliśmy? Dzięki!
ish
1
Metodę tę stosowano już w 2002 roku . Od 2011 roku system Windows 7 ma działać ze sterownikiem swapfs .
Dan Dascalescu
2

Jeśli Twoim celem jest zaoszczędzenie miejsca na dysku twardym - bez marnowania wielu GB zarówno na wymianę Linuksa, jak i plik stronicowania Windows, możesz rozważyć użycie dynamicznego rozmiaru pliku wymiany na Linuksie przez SwapSpace:

Wizek
źródło
Proszę napisać pełną odpowiedź, zamiast po prostu linkować zewnętrzne strony internetowe. Bardzo dobrze jest umieścić je jako odniesienie, ale lepiej jest również postawić tutaj niezbędne kroki , na wypadek gdyby inne strony internetowe zostały wyłączone i tak dalej.
dadexix86
1

Sam tego nie próbowałem, ale możesz zamontować partycję wymiany za pomocą swapfs . Możesz teoretycznie umieścić tam plik strony (istnieje kilka dobrych powodów, aby tego nie robić, np. Minidumpy, ale jest to opcja).

Journeyman Geek
źródło
1

Działa świetnie.

Czego potrzebujesz? Postępuj zgodnie z instrukcjami zawartymi w pliku SwapFs-3.0 .

Można również znaleźć przydatne informacje na temat korzystania z partycji wymiany Linuxa jako pliku wymiany systemu Windows na Ubuntuforums.org.

Na początku próbowałem sformatować przestrzeń wymiany do NTFS, ale okazało się, że Linux stracił zdolność rozpoznawania jej jako własnej.

Następnie sformatowałem go z powrotem do klasycznej wymiany Linuksa.

Następnie zmieniłem fstab. Było:

UUID=4c6a4... none  swap  sw  0  0

Dezaktywowałem to i zamiast tego wstawiłem:

/dev/sda7   swap   swap   defaults   0   0

O ile dobrze pamiętam, po uruchomieniu systemu Windows nie rozpoznałem go jako RAW lub gdybym mógł sformatować go jako FAT32.

I wszystko zaczęło działać.

Ale pojawia się problem. Mianowicie moja Vista „załączyła” dodatkowy list, w ten sposób w końcu miał dwa sterowniki, ale w rzeczywistości były powiązane z tą samą partycją „e: \” i ustalone przeze mnie jako „s: \”.

Na szczęście wystarczyło dostać się do rejestru, aby umieścić zalecany w pliku * .reg z „SwapFs-3.0”. Okazało się, że dodatkowy dodatkowy rekord „e: \” należy usunąć z rejestru.

W tej chwili możesz bez problemu korzystać z przestrzeni wymiany między systemami. Odzyskano 3,2 GB miejsca.

Chciałbym wspomnieć, że używając Linuksa tylko 4 trzy miesiące i być w stanie wykonywać tak skomplikowane operacje, dzięki czemu można to zrobić bez większego wysiłku.

Podsumowując:

  1. Możliwe jest współdzielenie partycji wymiany Linux z Windows i wykorzystanie jej jako miejsca do przechowywania pliku wymiany Windows.
  2. Jest to bardzo łatwe dzięki SwapFs-3.0.
  3. Nie można powiedzieć, ile kosztuje procesor.
  4. Partycja nie jest rozpoznawana przez polecenie „zarządzaj” jako zamontowana, a aplikacje partycji nie postrzegają jej jako zamontowanej.
  5. Eksplorator widzi to jako dysk.
  6. Rzeczywiście może to zaoszczędzić dużo miejsca na dysku.
Koziołek Pierdziolek
źródło
0

Sytuacja się zmieniła ... Był kiedyś sterownik IFS, który potrafił czytać partycje linuksowe (w tym czasie głównie dla EXT3). IFS oznacza przy tym Instalowalny system plików - który mógł się rozpocząć w MS-DOS 4 (wcześniej myślałem, że to element z OS2, który pozostał w systemie Windows), było kilka ciekawych rzeczy, które możesz zrobić z IFS, np. utworzyć Dysk RAM i przypisać mu literę dysku. (obecnie imdisk jest prawdopodobnie lepszym sposobem na zrobienie tego) Wraz z EXT2IFS (i późniejszym ext2fsd) była możliwość dostępu do partycji wymiany Linuxa z poziomu systemu Windows. Wszystko, co musisz zrobić, to użyć narzędzia do zarządzania małym dyskiem, dostarczonego ze sterownikiem systemu plików, aby przypisać literę dysku do partycji wymiany i powiedzieć systemowi Windows, aby użył tego w przypadku, jak sądzę, pliku swapfile.sys itp. Nowerdays Windows10, ponieważ aktualizacja Anniversary wymaga podpisanych sterowników, a większość sterowników IFS obecnie nie działa przynajmniej dla mnie, co niestety pozbawia mnie dostępu do danych partycji EXT2 i HFS + z poziomu systemu Windows. Tak więc odpowiedź w zasadzie już nie istnieje. Ale w przypadku starszych wersji (takich jak Win7 lub XP) jest to całkiem prawdopodobne, stosując metodę, którą tu podałem.

ForgeAus
źródło
-1

Krótka odpowiedź brzmi: nie, nie może.

Windows nie rozpoznaje partycji Linuksa, chociaż jest odwrotnie (Linux rozpoznaje partycje Windows).

leousa
źródło
1
nie ma nic jako partycji linux. Musisz mówić o systemach plików. ext3 / 4, NTFS, FAT16 / 32 itd.
Mahesh
to prawda, chciałem tylko utrzymać go na niskim poziomie technicznym
leousa
1
@Mahesh, Linux i Linux Swap to typy partycji (0x82 i 0x83, IIRC). Sprawdź swoje fdisk -l. Przypuszczam, że zamiana to także własny system plików.
ish
mój zły, masz rację. dzięki @izx i poprawnie zapamiętałeś / zapamiętałeś. ;)
Mahesh
2
Im bardziej skomplikowane jest to, że odpowiedź została już być zrobione .
Dan Dascalescu