web-dev-qa-db-ja.com

安全にスワップを完全にオフにしてスペースを再利用するにはどうすればよいですか? (Debian Jessie上)

SSDドライブにデフォルトのパーティション設定でDebian Jessieをインストールしました。現在のディスクパーティションは次のようになります。

My current disk partitioning looks like this

私は16GBのRAMを持っているので、 swap は不要だと思います。しかし、他のディスクドライブがあるので、たとえば、代わりに他のドライブの1つで スワップファイルを作成 することができます。

swap パーティションを正しく永久に削除するためにどのような手順を踏む必要があるか教えてくださいそれがディスク領域を占有しないようにするには現在128GB SSDしかないので、スワップパーティションを削除したいと思います。

これが私が毎回試し、再起動したものです。これらの各ステップは永続的ではない、またはは何もしませんでした

  1. swapoff ユーティリティを使用する:

    swapoff --all
    
  2. GParted ユーティリティの使用:

    swap パーティションを右クリックし、[スワップオフ]をクリックします。

  3. 次のファイルで swap パーティションの [〜#〜] uuid [〜#〜] をコメント化します。

    /etc/fstab
    
  4. 次のファイルで swap パーティションの [〜#〜] uuid [〜#〜] をコメント化します。

    /etc/initramfs-tools/conf.d/resume
    
  5. 最後にこれらのコマンドを実行します(この順序と逆の順序の両方):

    update-grub
    
    update-initramfs -u
    
53
  1. GParted を開いている場合は、閉じます。そのスワップオフ機能は永続的ではないようです。

  2. ターミナルを開いて rootsu );になります。 Sudo を有効にしている場合は、たとえばSudo -i;見る - man Sudo すべてのオプション):

    Sudo -i
    
  3. 特定の swap パーティションおよび/またはすべての swap sをオフにします。

    swapoff --all
    
  4. 特定の swap パーティションパーティションがオフであることを100%確認します。

    cat /proc/swaps
    
  5. このファイルに精通しているテキストエディタを開きます。 nano 不明な場合:

    nano /etc/fstab
    
  6. swap パーティションの [〜#〜] uuid [〜#〜] をコメント化/削除します。例:

    # UUID=1d3c29bb-d730-4ad0-a659-45b25f60c37d    none    swap    sw    0    0
    
  7. このファイルに精通しているテキストエディタを開きます。 nano 不明な場合:

    nano /etc/initramfs-tools/conf.d/resume
    
  8. 以前に識別された swap パーティションの [〜#〜] uuid [〜#〜] をコメント化/削除します。例:

    # RESUME=UUID=1d3c29bb-d730-4ad0-a659-45b25f60c37d
    
  9. とにかく後で必要になるので、ターミナルを閉じないでください。

注:次の手順は、 [〜#〜] cli [〜#〜] または [〜#〜] gui [〜#〜]


[〜#〜] gui [〜#〜]

  1. 開く GParted 、メニューから、またはより便利に開いたターミナルから:

    gparted
    
  2. インストールしていない場合は、インストールすることができます。その後、前のコマンドを再度実行します。

    apt-get install gparted
    
  3. 右上のメニューからドライブを選択します。

  4. GParted は起動時に swap パーティションを再アクティブ化するので、特定の swap パーティションを右クリックしてSwapoffをクリックする必要があります->これはすぐに適用されます。

  5. swap パーティションを右クリックして削除します->削除。ここで変更を適用する必要があります。

  6. 右クリックでメイン/その他のパーティションのサイズを変更します-> Resize/Move。ここで変更を適用する必要があります。

  7. ターミナルに戻って、 boot images を再作成しましょう。

    update-initramfs -u -k all
    
  8. 更新 [〜#〜] grub [〜#〜]

    update-grub
    
  9. マシンが起動することをテストする場合は、ここで再起動できます。


[〜#〜] cli [〜#〜]

[〜#〜] vm [〜#〜] sをチェックインして、私のソリューションが機能する場合は共有します。それまでの間、 この答え を参照してください。

47

ルートとして実行:

# swapoff -a

そして、その変更を永続的にするには、/etc/fstabとswapエントリを削除またはコメントアウトします。

51
maxschlepzig

/etc/fstabの関連エントリをコメント/削除して、次回の起動時に再度有効にならないようにしてから、再起動するかswapoff -aを実行して、現在実行中のシステムのスワップパーティションの使用を無効にします。

次に、スワップパーティションを削除し、システムパーティションをその未使用のスペースに拡張し、実際のファイルシステムを拡張します。グラフィカルパーティションマネージャーがそれをすべて実行できるかどうかはわかりませんが、それができない場合は、fdiskresize2fsを使用してこれを行う方法にとらわれない方法があります。

# fdisk /dev/sdX

# Display current partition table, copy/paste this output somewhere to be able to go back in case you screw up

Command (m for help): p
Device       Boot  Start    End Sectors Size Id Type
/dev/sda1        2048  22527   20480  10M ef EFI (FAT-12/16/32)
/dev/sda2       22528 186367  163840  80M 83 Linux
/dev/sda3      186368 204799   18432   9M 82 Linux swap / Solaris

# Delete the swap partition

Command (m for help): d
Partition number (1-3, default 3): 3
Partition 3 has been deleted.

# Delete the system partition

Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 has been deleted.

# Create a new system partition starting the same as the old one but ending a bit farther, at the end of the (now deleted) swap partition

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (2-4, default 2): 
# Enter the same start sector as the old part.
First sector (22528-204799, default 22528): 22528
# Enter the end sector of the old swap partition
Last sector, +sectors or +size{K,M,G,T,P} (22528-204799, default 204799): 204799

Created a new partition 2 of type 'Linux' and of size 89 MiB.

# Save the changes
Command (m for help): w
The partition table has been altered.

最後に、現在のファイルシステムを拡張して新しい空き領域を利用します(実際のファイルシステムは、基になるパーティションにさらに領域が追加されたことを認識していませんでした)。デフォルトでは、固定サイズが指定されていない限り、resize2fsはパーティション全体を使用するため、パーティションブロックデバイス以外を指定する必要はありません。ファイルシステムの拡大(縮小ではなく)は、パーティションをマウントした状態でオンラインで実行できます。

# resize2fs /dev/sda2

これで、スワップを正常に無効にし、再起動することなく未使用のスペースを取り戻しました。

Debianの手順は少し異なり、さらにいくつかのファイルを編集する必要があることに注意してください。詳細はこちら answer をご覧ください。

19
André Borie

GPartedのスワップパーティションを右クリックし、[スワップオフ]をクリックします。次に、スワップパーティションを削除し、/etc/fstabから削除して、initramfsおよびgrubを再生成します(おそらく不要です)。

スワップパーティションが存在しない場合は、initramfs更新スクリプトによってinitramfsにスワップパーティションを追加しないでください。

この投稿 によると、以下はinitramfsおよびgrubを再生成する正しい方法です。

update-initramfs -c -k <kernel>

update-grub
2
BenjiWiebe