web-dev-qa-db-ja.com

NTFSパーティションにUbuntuスワップファイルを作成することは可能ですか?

Windows 7のサポート終了が近づいているため、私はUbuntu 18.04.3 LTSを 私の古い(2013)ラップトップ でテストしています。残念ながら、 デュアルブートは不可能に近いようです 、私は 永続的なライブUSB askubuntuの@sudodusと@CSCameronに感謝します。私はこれをUbuntuで入力して、LibreOfficeと 壮大な戦略ゲーム を実行できます!

ただし、RAM(ビデオRAMとして2倍にする必要があります))は4GBしかなく、システムは100%に達すると停止しますRAMゲームの使用中の使用。これの一部は、おそらく 長期にわたるメモリバグ gnome-softwareでは、とにかくゲームは最終的に4GBになると思います。

したがって、次の課題は、スワップを追加することです。ゲームを実行しているときだけ、いつでも利用できる必要はありません。 USBスティックでスワップファイルを実行することは可能ですが、それはスティックにとって非常に悪いことです。だから私の内蔵ハードドライブを使う方が安くて速いかもしれません。

おそらくハードドライブにスワップパーティションを作成することはできませんが、Ubuntuがデフォルトでスワップファイルを使用するようになっていることに気付きました。 ほとんどHOWTOsassume そのスワップファイルはext2/3/4パーティションにあります。しかし、NTFSパーティションにスワップファイルを作成する方法はありますか? Arch Linuxフォーラムには、NTFS USBスティック上にスワップファイルを作成する メソッド があります。しかし、それは6年前に別のディストリビューションで機能し、Ubuntu初心者には野心的なsystemdサービスを作成することを提案しています。

さらに、Windowsで必要な隠しファイル を含むNTFSパーティションでこれを実行します。

ところでこれは、LinuxスワップパーティションをWindowsスワップファイルとして使用する方法に関するさまざまな回答の複製ではありません。

1
Matthew

NTFSパーティション上のスワップファイルが最適なソリューションであるかどうかはよくわかりません。ハードドライブに実際のスワップパーティションを作成し、それを使用した方がよい場合があります。 gpartedなどのツールを使用してNTFSパーティションのサイズを変更し、スワップファイルを必要なサイズ、たとえば2 GBだけ減らすことができます。次に、ハードドライブの新しく解放された領域に2 GBのスワップパーティションを割り当てることができます。

(もちろん、NTFSパーティションに少なくとも2 GBの空き容量があることを前提としています。しかし、それはスワップファイルが消費するのと同じ容量です。)

NTFSパーティション上のスワップファイルが適切なソリューションではない可能性があると私が言っている理由は、2つの理由でパフォーマンスに大きな影響を与える可能性があるためです。

  • NTFSパーティションは新しいものではなく、長期間使用されており、2 GBのスワップファイルが断片化されている可能性があります。したがって、そのスワップファイルは連続したメモリ領域ではないため(スワップパーティションとは対照的)、そのスワップファイルの読み取りと書き込みは非常に遅くなる可能性があります。詳細については、サーバー障害の この優れた答え を参照してください。

  • その上、NTFSドライバーは Arch Linuxフォーラムで言及されている とリンクしているスレッドでかなり低速です。

それでも、NTFSパーティションにスワップファイルを作成する場合は、簡単です。あなたがしなければならないすべてはこれです:

  1. NTFSパーティションがどこかにマウントされていることを確認します。例として、NTFSパーティションのマウントポイントが/media/windowsであると仮定します。

  2. 次のように、NTFSパーティションに2 GBのスワップファイルを作成します。

dd if=/dev/zero of=/media/windows/swapfile.img bs=1M count=2048
mkswap /media/windows/swapfile.img
  1. とのスワップを有効にする
swapon /media/windows/swapfile.img

それだけです。これらは、まさにArch Linuxスレッドからの指示であり、スワップファイルのサイズを2 GBに変更しただけです。

Arch Linuxスレッドの残りの部分は、OPがブート時にスワップファイルを自動的に有効にしたいという問題にのみ対処するため、システムを再起動した後に毎回swaponコマンドを実行する必要はありません。 。これを機能させるには、NTFSパーティションがマウントされていることを何らかの方法で確認する必要がありますbeforeスワップファイルがNTFSパーティション上にあるため、スワップが有効になっているNTFSパーティションのマウント後にスワップを有効にするsystemdサービスを作成するよう提案された理由.

ただし、NTFSパーティションのスワップファイルがゲームの問題をどのように解決するかをテストするだけであれば、今はそのことを心配する必要はありません。上記の手順を実行してください。これは単に、システムを再起動するたびに、上記の手順(1)および(3)を再実行する必要があることを意味します。つまり、NTFSパーティションがマウントされていることを確認します(ヒント:/etc/fstabおよびブート時にマウントしてください)、そのswaponコマンドを実行します。手順(2)を一度だけ実行する必要があることに注意してください。スワップファイルが作成されたら、それを新たに作成する必要はありません。サイズを変更したくない場合を除きます。

次に、それがうまくいき、結果に本当に満足してゲームをプレイできる場合、ある日、システムを再起動するたびにそのswaponコマンドを実行する必要があることにイライラします。起動時に毎回自動的にsystemdコマンドを実行するswaponサービスを作成することについて心配することができます。そして、それで問題が発生した場合は、ここでその問題について別の具体的な質問をすることができます。あるいは、その頃には、Ubuntuがとても好きなので、Windows 7を削除してUbuntuを完全にインストールすることにします。 ;)

1
Malte Skoruppa