Pamięć wirtualna w Windows NT/2000/XP na partycji Linux Swap

Nie możliwe? A jednak!

Czemu warto?

  • szybkość pracy systemu plików Linux Swap,
  • automatyczne czyszczenie podczas uruchamiania/zamykania systemu, a więc brak obaw, że ktoś z pliku wymiany odczyta jakieś poufne informacje,
  • oszczędność miejsca, gdy posiadamy Linuksa i Windowsa pod jednym dachem (jedna partycja może służyć dla wielu systemów).

Nową partycję powinniśmy założyć jak najbliżej partycji C, gdyż im dalej, tym następuje coraz wolniejszy odczyt (skok głowicy jest coraz większy). Optymalne rozwiązanie to partycja druga. Do utworzenia partycji o systemie plików Linux Swap użyłem swego czasu programu Partition Magic 8 (płatny), ale równie dobrze spisze się choćby całkowicie wolny, darmowy i otwarty program GParted (LiveCD). Można oczywiście użyć jakiegokowiek innego, który pozwala na zmianę rozmiaru partycji oraz posiada obsługę Linux Swap.

Partition Magic 8:

GParted 0.3.3:

Jeśli mamy już uwtorzoną partycję Linux Swap (póki co jest niewidoczna), przystępujemy do dalszych kroków. Ściągamy swapfs.sys (PPM->Zapisz element docelowy jako…). Kopiujemy sterownik do %systemroot%\system32\drivers\ (standartowo C:\Windows\system32\drivers). Teraz dodajemy następujący wpis do rejestru:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SwapFs]

“ErrorControl”=dword:00000001

“Group”=”Filter”

#
# When to start the driver:
# At boot: Start=1
# Manually: Start=3
#
“Start”=dword:00000001

“Type”=dword:00000001

#
# (/dev/hda1 in Linux = \\Device\\Harddisk0\\Partition1 in NT, an extended
# partition is skipped in the enumeration)
#

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SwapFs\Parameters]

“SwapDevice”=”\\Device\\Harddisk0\\Partition2″

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]

“S:”=”\\Device\\Harddisk0\\Partition2″

Kopiujemy to do notatnika i zapisujemy z rozszerzeniem .reg, a następie dodajemy do rejestru (dwu-klik). Tu: “gotowiec” (PPM -> Zapisz element docelowy jako…).

Uwaga! Wpis jest przeznaczony dla drugiej z kolei partycji. Jeśli Linux Swap utworzyliśmy np. dla trzeciej, zmieniamy to:

“SwapDevice”=”\\Device\\Harddisk0\\Partition2″

“S:”=”\\Device\\Harddisk0\\Partition2″

na:

“SwapDevice”=”\\Device\\Harddisk0\\Partition3″

“S:”=”\\Device\\Harddisk0\\Partition3″

itd.

Uruchamiamy ponownie system i sprawdzamy czy w Mój Komputer da się wejść w partycję SwapFS o literce “S”. Windows rozpoznaje ją jako partycję o systemie plików FAT.

Dalej standardowo: Mój Komputer -> Właściwości -> zakłada Zaawansowane -> Wydajność -> Ustawienia ->zakładka Zaawansowane -> Pamięć Wirtualna. Polecam ustawić wartość pamięci wirtualnej na “sztywno”, tzn. wartość minimalną i maksymalną na takim samym poziomie. Rozmar pamięci wirtualnej trzeba oczywiście dostosować do posiadanej pamięci ram.

Pozdrawiam, luks