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


12

スワップパーティションが存在し、ロードするように設定され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にあります。


/ etc / fstabの内容を投稿してもよろしいですか?
boehj

@boehj:完了
...-caesay

乾杯。ここで私には何も飛び出していません。奇妙に思えます。私が考えることができる唯一のことは、拡張パーティションを使用しているので、/が最初に表示されること、つまり/ dev / sda5になり、/ dev / sda6にスワップされることです。ただし、これは薄い空気を把握しているだけです。この問題がどのように解決されるかを知りたいです。おそらく/ dev / sdXの代わりにUUIDを使用できますか?これらの値が何を見つけるためにsudo blkid
boehj

@boehj:サイコロなし...まだロードされていません。
caesay

@Tommy-すみません、バディを助けられませんでした。私はここにいる誰かができると確信しています。頑張ってください。:)
boehj

回答:


8

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

それはそうmountall -vNON-rootユーザーとして実行したときに無害失敗し、その出力は、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


2
Launchpadにバグを報告しました
bgvaughan

8

ご質問ありがとうございます。私がそれを見ていたとき、昨日、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
    

私はUUIDを使用していませんでした、私の質問で述べたように/ dev / sda5を使用していました。それは私に影響しませんか?
caesay

OK。あなたの/ etc / fstabもUUIDを使用していませんか?
ティム

いいえ。機能しません。uuidの有無にかかわらず
caesay

1
魅力のように働いた!
-ShuaibKunji

1

/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)のためにこれらの問題がすべて発生している可能性がありますか?


それはその行を持っています、私はあまりにも多くのRAMを持っていません、そして私はデュアルブートしていますが、私のウィンドウは私のスワップパーティションに触れないので問題ではないはずです、そして私はそれをswaponでうまくロードできます。
caesay

1

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

  • / 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

  • free のような何かを報告する必要があります Swap: 10239996 0 10239996

ドライブに関する出力をdmesgで見つけることができません。mountallがエラーを返し、mountall.confにその行があります。
caesay

mountallがswaponを実行しようとしたことがない場合、それが問題のようです。詳細出力とは何mountall -vですか?
クルーボ

質問に追加しました@krubo
caesay

mountall -vスワップ0/0の表示を参照してください。それは完璧な手がかりです。私の新しい答えをご覧ください。
クルーボ

1

Ubuntu 12.04(Precise)でも同様の問題がありましたが、/etc/fstabすでに正しかったのです。これを防止することをスワップパーティションのフォーマットについて壊れて何かがあったことが判明blkidし、mountallスワップパーティションを検出してからは。

詳細:

  • 私のスワップパーティションは/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

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

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


0

UUIDの後:

# Turn off swap swapoff "${SWAP}"

最後に:

swapon "${SWAP}"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.