Система не монтирует раздел подкачки


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

не уверен, все еще не загружая swap ... все еще можно добавить в командной строке, и мой раздел Windows монтируется при загрузке, и это тоже в fstab.


Не могли бы вы опубликовать содержимое / etc / fstab?
Boehj

@boehj: сделано ...
caesay

Приветствия. Ничто не прыгает на меня здесь. Это кажется странным. Единственное, о чем я могу думать, это то, что, поскольку вы используете расширенные разделы, сначала должен появиться /, т.е. / dev / sda5 и поменяться местами как / dev / sda6. Это только хватается в воздухе однако. Мне интересно посмотреть, как этот будет решен. Возможно, вы могли бы использовать UUID вместо / dev / sdX? Чтобы найти эти значения, сделайте sudo blkid.
Boehj

@boehj: без игры в кости ... все еще не загружается.
Цезай

@ Томми - Извини, я не смог помочь тебе, приятель. Я уверен, что кто-то здесь сможет, хотя. Удачи с этим. :)
Boehj

Ответы:


8

Это будет звучать глупо, но попробуйте: переупорядочить, /etc/fstabчтобы поместить раздел подкачки последним.

Кажется, что он mountall -vне приносит вреда при запуске от имени пользователя без полномочий root, и его вывод можно использовать для диагностики, почему mountall не работает прямо при загрузке. Ваша последняя строка вывода mountall -vвключает критическую подсказку:

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

Другими словами, установлено 0 сменных дисков, 0 найдено в / etc / fstab.

Теперь, почему mountall не нашел ваш диск подкачки, указанный в / etc / fstab? Хороший вопрос. Это должно быть ошибка против mountall. Для диагностики я скопировал ваш файл / etc / fstab и запустил его mountall -vкак пользователь без полномочий root. Случайно отредактировав / etc / fstab и продолжив тестирование mountall -v, я обнаружил, как изменить сообщение о замене mountall на «swap 0/0». Достаточно просто изменить порядок строк в / etc / fstab, чтобы он изменился на «swap 0/1», другими словами, 1 файл подкачки находится в / etc / fstab. При этом может быть достаточно для правильной загрузки. Если нет, пожалуйста, опубликуйте новый результат mountall -v.


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

8

Спасибо Вам за Ваш вопрос. Когда я смотрел на нее, я обнаружил, что моя система имела ту же проблему, что и ваша, после обновления до Natty вчера. Я считаю, что проблема в том, что UUID раздела подкачки изменился во время обновления. Вот как я это исправил.

  1. Беги sudo blkid. Это покажет текущий UUID всех разделов на диске. Я подозреваю, что вы увидите, что UUID вашего раздела подкачки теперь отличается от значения в / 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, как я упоминал в своем вопросе. это не повлияет на меня?
Цезай

Ok. Итак, ваш / etc / fstab тоже не использует UUID?
Тим

нет, это не работает. с или без uuid
caesay

1
Работал как шарм!
ShuaibKunji

1

My /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 Installer, используя параметры по умолчанию?

Или, может быть, вы получаете все эти проблемы из-за двойной загрузки (Win / Lin)?


у него есть эта строка, у меня нет слишком большого количества оперативной памяти, и я имею двойную загрузку, но это не должно быть проблемой, потому что мои окна не касаются моего раздела подкачки, и я могу нормально загрузить его с помощью swapon.
Цезай

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] Добавление 10239996k swap на / dev / sda3. Приоритет: -1 Экстенты: 1 через: 10239996k

  • free должен сообщить что-то вроде Swap: 10239996 0 10239996

я не могу найти вывод в dmesg о дисках .. mountall возвращает ошибку, и mountall.conf имеет эту строку.
Цезай

Если mountall никогда не пытался запустить swapon, похоже, это ваша проблема. Что такое подробный вывод mountall -v?
Крубо

добавил это к вопросу @krubo
caesay

видите где mountall -vговорит своп 0/0? Это идеальный ключ. Смотрите мой новый ответ.
Крубо

1

У меня была похожая проблема на Ubuntu 12.04 (Precise), но моя /etc/fstabбыла уже правильной. Оказывается, что-то было сломано в формате моего раздела подкачки, что помешало blkidи не mountallобнаружило раздел подкачки.

Детали:

  • Мой раздел подкачки был /dev/mapper/foo-swap_1- логический том LVM на зашифрованном (LUKS) разделе.
  • Раздел подкачки никогда не будет активным при загрузке.
  • Ручная работа 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 показал две разные подписи файловой системы!

Обнуление обеих сигнатур ( 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 произошли определенные небольшие аномалии, не важно. Я не знал, что мой раздел подкачки не работал, пока я не попытался Gimp 14-мегапиксельную JPG от моего Olympus E330. Хлоп.

Форумы на помощь. Ключи:

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

Ничего выше не было в моем случае

Я изменил размер свопа. Но сначала удалил его, а затем сделал новый больше. Я изменил UUID в / etc / fstab, но он не работал. Проверенный журнал:... unknown filesystem "swap"

Решение: в /etc/fstabизменении , ext4чтобы swapдля /swapи перезагрузки


Приветствую нового пользователя! Спасибо за ваш вклад. Ваш ответ немного неясен. Не могли бы вы внести изменения, чтобы прояснить ситуацию? Мы хотим убедиться, что будущие посетители с этой проблемой смогут четко ее понять. В частности, вы советуете изменить размер раздела подкачки или назначить новый UUID? Или вы говорите, что попытка не сработала (возможно, вы хотите исключить такие вещи, которые не работают, чтобы избежать путаницы). Хорошее форматирование также может помочь уточнить.
NMath

0

После UUID:

# Turn off swap swapoff "${SWAP}"

В конце:

swapon "${SWAP}"

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.