Sistem tidak memasang partisi swap

12

Meskipun partisi swap ada, dan diatur untuk memuat fstab, itu masih belum dipasang.

fdisk mengembalikan ini untuk partisi swap:

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

dan di fstabdalamnya dikatakan

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

dan saya bisa memuatnya dengan baik swapon /dev/sda5tetapi tidak mau memuat saat boot.

Apakah ada informasi lain yang bisa saya berikan untuk membantu memecahkan masalah? Saya tidak tahu info apa yang bisa berguna


Seperti yang diminta, fstabfile lengkap :

# <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

Saya melihat log sistem dan saya melihat ini, tidak yakin apa artinya atau apakah itu normal tetapi:

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

output dari 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

output dari mountall -v

http://pastie.org/private/ras9mc7mf66yudnjoem4w

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

tidak yakin, masih belum memuat swap ... masih bisa ditambahkan di commandline, dan partisi windows saya sedang di-mount saat boot, dan itu juga ada di fstab.

caesay
sumber
Apakah Anda keberatan memposting konten / etc / fstab?
boehj
@ Boehj: selesai ...
caesay
Bersulang. Tidak ada yang melompat ke arahku di sini. Sepertinya aneh. Satu-satunya hal yang mungkin bisa saya pikirkan adalah bahwa, karena Anda menggunakan partisi extended, / harus muncul pertama yaitu / dev / sda5 dan swap sebagai / dev / sda6. Ini hanya menangkap udara tipis namun. Saya tertarik untuk melihat bagaimana ini akan diselesaikan. Mungkin Anda bisa menggunakan UUID sebagai ganti / dev / sdX? Untuk menemukan nilai-nilai ini lakukan sudo blkid.
boehj
@ Boehj: tidak ada dadu ... masih belum dimuat.
caesay
@Tommy - Maaf saya tidak bisa membantu Anda, sobat. Saya yakin seseorang di sini akan dapat melakukannya. Semoga beruntung. :)
boehj

Jawaban:

8

Ini kedengarannya bodoh, tetapi cobalah: menyusun ulang /etc/fstabuntuk menempatkan partisi swap terakhir.

Tampaknya mountall -vgagal tanpa bahaya saat dijalankan sebagai pengguna NON-root, dan hasilnya dapat digunakan untuk mendiagnosis mengapa mountall tidak berfungsi saat boot. Baris keluaran terakhir Anda dari mountall -vtermasuk petunjuk penting:

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

Dengan kata lain, 0 swap drive terpasang, 0 swap drive ditemukan di / etc / fstab.

Sekarang mengapa tidak menemukan drive swap Anda terdaftar di / etc / fstab? Pertanyaan bagus. Ini mungkin bug terhadap mountall. Untuk mendiagnosisnya, saya menyalin / etc / fstab Anda dan berlari mountall -vsebagai pengguna non-root. Dengan mengedit / etc / fstab secara acak dan terus menguji mountall -v, saya menemukan cara mengubah mountall yang dilaporkan "swap 0/0". Hanya menata ulang baris / etc / fstab sudah cukup untuk mengubahnya menjadi "swap 0/1", dengan kata lain, 1 swap drive ditemukan di / etc / fstab. Dengan itu, mungkin cukup untuk boot dengan benar. Jika tidak, silakan kirim hasil baru dari mountall -v.

Krubo
sumber
2
Saya mengajukan bug di Launchpad: bugs.launchpad.net/ubuntu/+source/mountall/+bug/839118
bgvaughan
8

Terima kasih atas pertanyaan anda Ketika saya melihatnya, saya menemukan bahwa sistem saya memiliki masalah yang sama seperti milik Anda setelah memutakhirkan ke Natty, kemarin. Saya percaya masalahnya adalah bahwa UUID partisi swap berubah selama peningkatan. Inilah cara saya memperbaikinya.

  1. Lari sudo blkid. Ini akan menampilkan UUID tentang semua partisi pada disk saat ini. Saya menduga Anda akan melihat bahwa UUID partisi swap Anda sekarang berbeda dari nilai di / etc / fstab.

  2. Jika berbeda, jalankan beberapa editor teks di bawah sudo untuk mengedit / etc / fstab. Ganti nilai UUID dengan nilai aktual saat ini seperti yang ditunjukkan oleh blkidperintah, di atas. Jangan sertakan tanda kutip.

  3. Simpan file dan reboot sistem Anda. Jalankan free -muntuk memastikan perubahan memperbaiki masalah:

    $ free -m
                 total       used       free     shared    buffers     cached
    Mem:          1001        604        396          0        123        199
    -/+ buffers/cache:        281        719
    Swap:         1953          0       1953
    
Tim
sumber
saya tidak menggunakan UUID, saya menggunakan / dev / sda5 seperti yang saya sebutkan di pertanyaan saya. itu tidak akan mempengaruhi saya?
caesay
Baik. Jadi, / etc / fstab Anda tidak menggunakan UUID?
Tim
tidak .. itu tidak bekerja. dengan atau tanpa uuid's
caesay
1
Bekerja seperti pesona!
ShuaibKunji
1

My /etc/fstab(Debian) memiliki konten berikut:

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

Seharusnya Anda memiliki garis itu berdasarkan apa yang Anda beri tahu tentang konfigurasi Anda:

/dev/sda5 none swap sw 0 0

Saya bertanya-tanya mengapa sebagai pemula di Linux Anda bertanya-tanya tentang ini. RAM murah hari ini. Saya punya 4 GB, dan melakukan pengembangan Java (IntelliJ khususnya menggunakan satu ton RAM misalnya) tapi saya tidak pernah kehabisan.

Dan saya harus mengatakan saya terkejut Anda punya masalah seperti ini. Apakah Anda tidak menjalankan Penginstal Ubuntu menggunakan opsi default?

Atau mungkin Anda mendapatkan semua masalah ini karena dual boot (Win / Lin)?

tiktak
sumber
memang memiliki baris itu, saya tidak punya terlalu banyak ram, dan saya dual boot tetapi seharusnya tidak menjadi masalah karena windows saya tidak menyentuh partisi swap saya, dan saya dapat memuatnya dengan swapon.
caesay
1

Saya tidak punya jawaban cepat, tetapi saya mencari-cari dan menemukan beberapa hal yang bisa Anda periksa untuk mencoba mempersempit masalahnya:

  • / etc / fstab (5) harus mendaftar partisi swap (milik Anda terlihat baik-baik saja)
  • /etc/init/mountall.conf harus menyertakan baris emits all-swaps
  • jika Anda dijalankan mountallsebagai pengguna non-root, jawabannya harus mencakupswapon: /dev/sda5: open failed: Permission denied
  • dmesg | less harus mencakup sesuatu seperti milik saya:

[2.272092] sda: sda1 sda2 sda3

[2.272924] sd 1: 0: 0: 0: [sda] Terlampir pada disk SCSI

... (lebih banyak baris tentang pemasangan sda1, sda2) ...

[20.298550] Menambahkan swap 10239996k di / dev / sda3. Prioritas: -1 luasan: 1 melintasi: 10239996k

  • free harus melaporkan sesuatu seperti Swap: 10239996 0 10239996
Krubo
sumber
i cant menemukan output di dmesg tentang drive .. mountall mengembalikan kesalahan, dan mountall.conf memang memiliki garis itu.
caesay
Jika mountall tidak pernah mencoba menjalankan swapon, itu sepertinya menjadi masalah Anda. Apa output verbose mountall -v?
Krubo
menambahkannya ke pertanyaan @krubo
caesay
lihat di mana mountall -vkata swap 0/0? Itu petunjuk yang sempurna. Lihat jawaban baru saya.
krubo
1

Saya memiliki masalah yang sama pada Ubuntu 12.04 (Precise), tetapi saya /etc/fstabsudah benar. Ternyata ada sesuatu yang rusak tentang format partisi swap saya yang mencegah blkiddan mountallmendeteksi partisi swap.

Detail:

  • Partisi swap saya adalah /dev/mapper/foo-swap_1- volume logis LVM pada partisi terenkripsi (LUKS).
  • Partisi swap tidak akan pernah aktif saat boot.
  • Menjalankan secara manual swapon -aberhasil.
  • lsblk menunjukkan partisi swap
  • blkid TIDAK menunjukkan partisi swap
  • blkid -p /dev/mapper/foo-swap_1 dicetak pesan berikut:

    /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 menunjukkan DUA tanda tangan sistem file yang berbeda!

Nuking kedua tanda tangan ( wipefs -a) dan memformat ulang swap ( mkswap) memperbaiki masalah bagi saya.

Berikut ini skrip yang mengotomatiskan perbaikannya:

#!/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}"
Richard Hansen
sumber
1

Setelah upgrade ke 12,04, beberapa keganjilan kecil terjadi, bukan masalah besar. Saya tidak tahu partisi swap saya tidak berfungsi sampai saya mencoba untuk Gimp 14 megapiksel jpg dari Olympus e330 saya. Astaga.

Forum untuk menyelamatkan. Petunjuk:

blkid menunjukkan

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

tetapi tidak aktif menurut System Monitor, mmm'kay.

UUID itu benar tetapi tidak pergi ... tidak yakin bagaimana saya sampai pada perintah ini:

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

Manajer file menunjukkan kepada saya ikon 0 byte, kontrol nama file, - jadi apa yang seharusnya ditulis di sana? Naik apa?

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

Saya mengedit file / etc / fstab menambahkan

/dev/sdb6   none    swap    sw  0   0

Reboot dan Monitor Sistem menunjukkannya aktif, ya.

OK, saya pasti sudah di sini dan menemukan perintah

blkid -p /dev/mapper/foo-swap_1

Jadi itu petunjuk bagi seseorang yang lebih pintar dariku. Semoga ini bisa membantu.

Novista
sumber
0

Setelah UUID:

# Turn off swap swapoff "${SWAP}"

Pada akhirnya:

swapon "${SWAP}"

apos
sumber