Система не монтує розділ swap


12

Хоча розділ swap існує і встановлений для завантаження fstab, він все ще не монтується.

fdisk повертає це для розділу swap:

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

не впевнений, все ще не завантажуючи swap ... все-таки можна додати в командний рядок, і мій розділ Windows встановлюється на завантажувальному пристрої, і це також у fstab.


Ви не хочете опублікувати вміст / etc / fstab?
boehj

@boehj: зроблено ...
cesay

Ура. Тут на мене нічого не вискакує. Це здається дивним. Єдине можливе, про що я можу придумати, - це те, що, використовуючи розширені розділи, / повинен з’явитися перший, тобто / dev / sda5 і поміняти на / dev / sda6. Це просто схоплення на повітрі. Мені цікаво подивитися, як це буде вирішено. Можливо, ви могли б використовувати UUID замість / dev / sdX? Щоб знайти ці значення, зробіть sudo blkid.
boehj

@boehj: ні кістки ... все ще не завантажуються.
чес

@Tommy - Вибачте, що не міг допомогти тобі приятель. Я впевнений, що хтось тут зможе. Удачі з цим. :)
boehj

Відповіді:


8

Це здасться дурним, але спробуйте: змініть порядок, /etc/fstabщоб оставити розділ swap останнім.

Здається, що mountall -vне працює нешкідливо при запуску як користувач NON-root, і його вихід може використовуватися для діагностики того, чому mounttall не працює прямо під час завантаження. Ваш останній рядок виходу mountall -vвключає критичну підказку:

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

Іншими словами, в / etc / fstab знайдено 0 своп-дисків, 0 своп-накопичувачів.

Тепер чому не знайшов ваш диск заміни, вказаний в / etc / fstab? Хороше питання. Ймовірно, це має бути помилка mountall. Щоб діагностувати це, я скопіював ваш / etc / fstab і побіг mountall -vяк користувач, що не має права root. Редагуючи / etc / fstab випадковим чином і продовжуючи тестування mountall -v, я виявив, як змінити повідомлений в програмі plantall "swap 0/0". Щойно переупорядкування рядків / etc / fstab було достатньо, щоб змінити його на "swap 0/1", іншими словами, 1 swap-диск, знайдений в / etc / fstab. З цим може бути достатньо для належного завантаження. Якщо ні, будь ласка, опублікуйте новий результат mountall -v.


2
Я подав помилку на Launchpad: bugs.launchpad.net/ubuntu/+source/mountall/+bug/839118
bgvaughan

8

Дякую за запитання Дивлячись на це, я виявив, що в моїй системі була така ж проблема, як і у вас після вчорашнього оновлення до Натті. Я вважаю, що проблема полягає в тому, що UUID розділу swap змінився під час оновлення. Ось як я це виправив.

  1. Біжи sudo blkid. Це покаже поточні UUID усіх розділів на диску. Я підозрюю, що ви побачите, що UUID вашого розділу swap відрізняється від значення в / etc / fstab.

  2. Якщо це інше, запустіть текстовий редактор під sudo для редагування / etc / fstab. Замініть значення UUID на поточне фактичне значення, як показано blkidкомандою, вище. Не включайте лапки.

  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, як я вже згадував у своєму запитанні. що би не вплинуло на мене?
ceesay

Гаразд. Отже, ваш / etc / fstab теж не використовує UUID?
Тім

ні .. це не працює. з
уейдами

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, вам цікаво про це. Оперативна пам’ять дешева в ці дні. У мене є 4 Гб, і я розробляю Java (особливо IntelliJ використовує тону оперативної пам’яті), але я ніколи не закінчувався.

І мушу сказати, що я здивований, що у вас є такі проблеми. Ви не запускали інсталятор Ubuntu, використовуючи параметри за замовчуванням?

А може, у вас виникають усі ці проблеми через подвійне завантаження (Win / Lin)?


у нього є ця лінія, я не маю занадто багато оперативної пам’яті, і я подвійний завантаження, але це не повинно бути проблемою, тому що мої Windows не торкаються мого розділу swap, і я можу завантажити його добре свопом.
ceesay

1

У мене немає швидкої відповіді, але я поскакав і знайшов деякі речі, які ви можете перевірити, щоб спробувати усунути проблему:

  • / etc / fstab (5) має вказати розділ swap (ваше виглядає прекрасно)
  • /etc/init/mountall.conf повинен містити рядок emits all-swaps
  • якщо ви працюєте mountallяк некоріозний користувач, його відповідь повинна містити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] Додавання 10239996k своп на / dev / sda3. Пріоритет: -1 розширення: 1 поперек: 10239996k

  • free повинні повідомити щось подібне Swap: 10239996 0 10239996

Я не можу знайти будь-який вихід у dmesg про накопичувачі .. mounttall повертає помилку, і mounttall.conf має цей рядок.
ceesay

Якщо Mountall ніколи не намагався запустити swapon, це, здається, є вашою проблемою. Що таке багатослівний вихід mountall -v?
крубо

додав його до питання @krubo
caesay

дивіться, де mountall -vговорить swap 0/0? Це ідеальна підказка. Дивіться мою нову відповідь.
крубо

1

У Ubuntu 12.04 (точно) у мене /etc/fstabбула схожа проблема, але моя вже була правильною. Виявляється, щось було порушено у форматі мого розділу swap, що перешкоджало blkidта mountallвиявляти розділ swap.

Деталі:

  • Мій розділ swap був /dev/mapper/foo-swap_1- логічний том LVM на зашифрованому (LUKS) розділі.
  • Під час завантаження розділ swap ніколи не буде активним.
  • Ручний біг swapon -aпрацював.
  • lsblk показав розділ swap
  • blkid НЕ показав розділ swap
  • 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 показав ДВА різних підписи файлової системи!

Видалення обох підписів ( wipefs -a) та переформатування swap ( 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 відбулися певні невеликі аномалії, жодних більших. Мені не було відомо, що мій розділ swap не працює, поки я не спробував зібрати 14-мегапіксельний jpg з мого Olympus e330. Yikes.

Форуми на допомогу. Підказки:

blkid показує

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

але він не є активним відповідно до System Monitor, ммм'кай.

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

Перезавантаження та монітор системи показує, що це активно, так.

Гаразд, я, мабуть, був тут і знайшов команду

blkid -p /dev/mapper/foo-swap_1

Тож це підказка для когось розумнішого за мене. Сподіваюся, це допомагає.


1

Нічого вище в моєму випадку не було

Я змінив розмір swap: видалив старий, а потім зробив новий. Після того, як сталася помилка Something X session related. Я змінив UUID в / etc / fstab, але це не спрацювало. Перевірений журнал:... unknown filesystem "swap"

Рішення: у /etc/fstabзміну ext4на swapдля /swapта перезавантаження


Ласкаво просимо нового користувача! Дякуємо за ваш внесок. Ваша відповідь трохи незрозуміла. Чи можете ви змінити, щоб очистити речі? Ми хочемо переконатися, що майбутні відвідувачі з цією проблемою зможуть зрозуміти її чітко. Зокрема, ви радите змінити розмір розділу swap або призначити новий UUID? Або ви хочете сказати, що спроба не спрацювала (можливо, захочете її вимкнути, що не спрацює, щоб уникнути плутанини) Гарне форматування також може допомогти уточнити.
Nmath

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.