web-dev-qa-db-ja.com

システムがスワップパーティションをマウントしていない

スワップパーティションが存在し、fstabにロードするように設定されていても、まだマウントされていません。

fdiskは、スワップパーティションに対してこれを返します。

file system: /dev/sda5
      start: 1
        end: 244
     blocks: 1951744
         id: 82
     system: Linux swap / Solaris

そして私のfstabには

file system: /dev/sda5
mount point: none
       type: swap
    options: sw
       dump: 0
       pass: 0

swapon /dev/sda5で問題なくロードできますが、起動時にロードされません。

トラブルシューティングに役立つ情報を提供できますか?他にどんな情報が役立つかわからない


要求に応じて、完全なfstabファイル:

# <file system> <mount point>   <type>  <options>            <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid  0       0
/dev/sda6       /               ext4    errors=remount-ro    0       1
/dev/sda5       none            swap    sw                   0       0
/dev/sr1        none            udf     rw,noauto            0       0

私はシステムログを見ていましたが、これを見ましたが、それが何を意味するのか、それが正常かどうかはわかりませんが、

Apr 29 17:57:24 caelan-ubuntu os-prober: debug: running /usr/lib/os-probes/50mounted-tests on /dev/sda5
Apr 29 17:57:24 caelan-ubuntu 50mounted-tests: debug: /dev/sda5 is a swap partition; skipping

mountallの出力

mountall: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
mountall: Connection is closed

mountall -vの出力

http://pastie.org/private/ras9mc7mf66yudnjoem4w

swap finished
...
local 4/4 remote 0/0 virtual 12/12 swap 0/0

わからない、まだスワップをロードしていない...まだコマンドラインで追加することができ、私のWindowsパーティションはブート時にマウントされており、それもfstabにあります。

12
caesay

これは愚かに聞こえますが、試してください:/etc/fstabを並べ替えて、スワップパーティションを最後に置きます。

非_rootユーザーとして実行するとmountall -vは無害に失敗し、その出力を使用して、ブート時にmountallが正しく機能しない理由を診断できます。 mountall -vからの出力の最後の行には、重要な手がかりが含まれています。

local 4/4 remote 0/0 virtual 12/12 swap 0/0

つまり、0個のスワップドライブがマウントされ、0個のスワップドライブが/ etc/fstabにあります。

さて、なぜマウントオールがスワップドライブを/ etc/fstabにリストしなかったのですか?良い質問。これはおそらくmountallに対するバグです。診断するために、/ etc/fstabをコピーし、mountall -vを非rootユーザーとして実行しました。/etc/fstabをランダムに編集し、mountall -vをテストし続けることで、mountallの報告された「スワップ0/0」を変更する方法を見つけました。/etc/fstabの行を並べ替えるだけで、「swap 0/1」、つまり/ etc/fstabにある1つのスワップドライブに変更できます。これで、適切に起動するのに十分かもしれません。そうでない場合は、mountall -vの新しい結果を投稿してください。

8
krubo

ご質問ありがとうございます。私がそれを見ていたとき、昨日、Nattyにアップグレードした後、私のシステムに同じ問題があることを発見しました。問題は、アップグレード中にスワップパーティションのUUIDが変更されたことです。修正方法は次のとおりです。

  1. Sudo blkidを実行します。これにより、ディスク上のすべてのパーティションの現在のUUIDが表示されます。スワップパーティションのUUIDが/ etc/fstabの値と異なることがわかると思います。

  2. 異なる場合は、Sudoでテキストエディターを実行して/ etc/fstabを編集します。上記のblkidコマンドで示されているように、UUIDの値を現在の実際の値に置き換えます。引用符は含めないでください。

  3. ファイルを保存し、システムを再起動します。 free -mを実行して、変更によって問題が修正されたことを確認します。

    $ free -m
                 total       used       free     shared    buffers     cached
    Mem:          1001        604        396          0        123        199
    -/+ buffers/cache:        281        719
    Swap:         1953          0       1953
    
8
Tim

12.04へのアップグレード後、特定の小さな異常が発生しましたが、大したことはありません。 Olympus e330から14メガピクセルのjpgをGimpしようとするまで、スワップパーティションが機能していなかったことに気付きませんでした。うわぁ。

救助のためのフォーラム。手がかり:

blkidショー

/dev/sdb6: UUID="3e0550cf-4a55-4aa8-80fa-24103c1b25a7" TYPE="swap" 

しかし、システムモニターによるとアクティブではありません。

UUIDは間違いなく正しいのですが、行きません...このコマンドにどのように到達したのかわかりません:

# blkid -p /dev/mapper/foo-swap_1
error: /dev/mapper/foo-swap_1: No such file or directory

ファイルマネージャーは、0バイトのアイコン、ファイル名コントロールを示してくれました。何によって?

$ Sudo swapon --all --verbose yielded
swapon: cannot find the device for UUID=3e0550cf-4a55-4aa80fa-24103c1b25a7

/ etc/fstabファイルを編集して追加しました

/dev/sdb6   none    swap    sw  0   0

再起動すると、システムモニターにアクティブと表示されます。

OK、私はここにいてコマンドを見つけたに違いありません

blkid -p /dev/mapper/foo-swap_1

だから、それは私より賢い人にとっての手がかりです。それが役に立てば幸い。

1
Novista

私の/etc/fstab(Debian)のコンテンツは次のとおりです。

UUID=7b533ab9-cb87-4a30-a4d8-689788f21985 none  swap sw 0 0

あなたはあなたの設定について私たちに言ったことに基づいてその行を持っている必要があります:

/dev/sda5 none swap sw 0 0

Linuxの初心者としてこれについて疑問に思っているのはなぜでしょう。 RAMは最近安価です。 4 GBあり、Java開発を行います(IntelliJは特に大量のRAMを使用します)が、それを使い果たすことはありません。

そして、私はあなたがこの種の問題を抱えていることに驚いていると言わなければなりません。デフォルトのオプションを使用してUbuntuインストーラーを実行しませんでしたか?

または、デュアルブート(Win/Lin)のためにこれらの問題がすべて発生している可能性がありますか?

1
tiktak

Ubuntu 12.04(正確)で同様の問題が発生しましたが、/etc/fstabはすでに正しかったです。 blkidmountallがスワップパーティションを検出できなかったため、スワップパーティションのフォーマットに問題があることがわかりました。

詳細:

  • スワップパーティションは/dev/mapper/foo-swap_1-暗号化(LUKS)パーティション上のLVM論理ボリュームでした。
  • スワップパーティションは、起動時にアクティブになることはありません。
  • swapon -aを手動で実行すると機能しました。
  • lsblkはスワップパーティションを示しました
  • blkidはスワップパーティションを表示しませんでした
  • blkid -p /dev/mapper/foo-swap_1は次のメッセージを出力しました:

    /dev/mapper/foo-swap_1: ambivalent result (probably more filesystems on the device, use wipefs(8) to see more details)
    
  • wipefs -n /dev/mapper/foo-swap_1は2つの異なるファイルシステム署名を示しました!

両方の署名を削除(wipefs -a)し、スワップを再フォーマット(mkswap)して問題を修正しました。

修正を自動化するスクリプトを次に示します。

#!/bin/sh

# helper functions
log() { printf %s\\n "$*"; }
error() { log "ERROR: $*" >&2; }
fatal() { error "$*"; exit 1; }
try() { "$@" || fatal "'$*' failed"; }

# path to the swap partition
SWAP=/dev/mapper/foo-swap_1

# remember the UUID of the swap partition
UUID=$(try sed -e 's/RESUME=UUID=//' /etc/initramfs-tools/conf.d/resume) || exit 1
[ -n "${UUID}" ] || fatal "couldn't read UUID"

# delete filesystem/raid signatures from the swap partition
try wipefs -a "${SWAP}"

# format the swap partition
try mkswap -f -U "${UUID}" "${SWAP}"
1
Richard Hansen

簡単な答えはありませんが、問題を絞り込むために確認できる項目をいくつか見つけました。

  • / etc/fstab(5)はスワップパーティションを一覧表示する必要があります(見た目は問題ありません)
  • /etc/init/mountall.confにはemits all-swapsという行を含める必要があります
  • mountallを非rootユーザーとして実行する場合、その応答にはswapon: /dev/sda5: open failed: Permission deniedが含まれます。
  • dmesg | lessには、私のもののようなものを含める必要があります。

[2.272092] sda:sda1 sda2 sda3

[2.272924] sd 1:0:0:0:[sda]接続されたSCSIディスク

...(sda1、sda2のマウントに関するその他の行)...

[20.298550]/dev/sda3に10239996kスワップを追加します。優先度:-1エクステント:1全体:10239996k

  • freeSwap: 10239996 0 10239996のようなものを報告する必要があります
1
krubo

UUIDの後:

# Turn off swap swapoff "${SWAP}"

最後に:

swapon "${SWAP}"

0
apos