Своп пропал после перезагрузки

9

Я установил Kubuntu 14.04 с зашифрованным домашним каталогом. Хотя во время установки у меня был настроен своп, места подкачки не было после установки. Это случилось со многими людьми, кажется, где-то есть ошибка. Я погуглил и нашел решение здесь .

Я выполнил все шаги, оставив те, которые были связаны с резюме, потому что это все равно отключено в моей установке. Так я и сделал:

sudo swapoff -a (turns off swap)
comment existing swap configuration in /etc/crypttab
comment existing swap configuration in /etc/fstab
re-format swap partition with gparted as linux-swap
sudo mkswap /dev/sdXX 
sudo swapon /dev/sdXX 
sudo ecryptfs-setup-swap 

Затем у меня был рабочий обмен, и я был счастлив, пока не перезагрузил свой ноутбук и не вернулся к исходной точке. Глядя на раздел с помощью gparted, он говорит, что файловая система неизвестна (бывшему) разделу подкачки, и нет необходимости говорить, что у меня нет свободного места подкачки.

Итак, теперь мой вопрос: почему форматирование файловой системы (как linux-swap) не пережило перезагрузку? Что я могу с этим поделать?

Если я сделаю blkid, раздел подкачки не появится вообще, поэтому моя проблема, похоже, отличается от этого вопроса .

Редактировать: все еще работаю над этим, поэтому я снова выполнил описанную выше процедуру, после чего / etc / crypttab выглядит так:

cryptswap1 UUID=xxxx /dev/urandom swap,cipher=aes-cbc-essiv:sha256

плюс несколько строк, которые закомментированы. И / etc / fstab содержит эту строку:

/dev/mapper/cryptswap1 none swap sw 0 0

Обе новые строки, однако, выглядят точно так же (кроме UUID), как то, что было сгенерировано последние два раза. Так что у меня нет больших надежд на то, что он останется после перезагрузки. Gparted теперь показывает раздел, который я использую как linux-swap. (До перезагрузки) Также blkid дает следующую строку:

/dev/sda7: UUID="xxxx" TYPE="swap" 

Я протестировал своп, и он работает, то есть я запустил программу, которая использовала много памяти и проверил, сколько было загружено в своп в системном мониторе.

Edit2: Оказывается, что 3 не волшебное число, которое решает эту проблему. Содержимое этих двух файлов не изменяется, blkid больше не показывает строку с / dev / sda7, а gparted показывает раздел подкачки как «неизвестный».

Любые предложения по выводу того, что я мог бы посмотреть или что еще я мог бы попробовать, действительно приветствуются. Мой обходной путь на данный момент - просто не перезагружаться, но иногда, когда происходит обновление, мой ноутбук действительно хочет перезагрузиться.

Edit3: неужели нет ничего другого, чтобы попытаться это исправить? Любые команды, которые я мог попробовать? Любой вывод я мог посмотреть?

fifaltra
источник

Ответы:

8

Этого не происходит при перезагрузке. После завершения настройки (работает ecryptfs-setup-swap), вернитесь gpartedи перезагрузить таблицу и откройте терминал и выполните команду: sudo fdisk -l /dev/sda. Вы обнаружите, что этот раздел все еще имеет Id 83Linux Swap и стал в неизвестном формате .

Это почему?! Это уже стало зашифрованным разделом.

В /etc/fstab:

  • Старый раздел подкачки был прокомментирован.
  • Новый сопоставленный вставлен:

    /dev/mapper/cryptswap1 none swap sw 0 0
    

Это хорошо.

В /etc/crypttab:

  • Добавлена ​​новая строка для сопоставления свопа:

    cryptswap1 UUID=xxxx /dev/urandom swap,cipher=aes-cbc-essiv:sha256
    

Но здесь что-то не так, имеет ли зашифрованный раздел UUID (незашифрованный)? !!!

  1. Так что установите путь к dev прямо как в этом примере:

    cryptswap1 /dev/sdXX /dev/urandom swap,cipher=aes-cbc-essiv:sha256
    
  2. Перезагрузитесь, тогда своп будет включен.

Кстати, об этом следует сообщать как об ошибке. ecryptfs-setup-swapследует использовать путь устройства вместо uuid.

Обновление: я мог найти тот же ответ на вопрос, который также включает отчет об ошибке.

Он содержит канонический ответ, добавив offset=в опции crypttab.

user.dz
источник
Извините, что у меня ушло так много времени, чтобы добраться до этого, я немного параноидален в отношении резервных копий, поэтому я хотел сначала сделать резервную копию ... Я попробовал то, что вы предлагали, перезагрузил один раз, без свопа, перезагрузил снова, своп работал, повернулся выкл, загрузился снова, без свопа, перезагрузился снова, без свопа ... очень странно, последние два раза было также сообщение о том, что / dev / mapper / cryptswap не готов
fifaltra
к сожалению, это не работает для меня, своп все еще исчезает после некоторых перезагрузок. метод смещения также не работает
fifaltra
а с помощью метода смещения я имею в виду то, что описано в ответе на связанный вопрос и что описано в сообщении об ошибке ...
fifaltra
@fifaltra, возможно, отдельная ошибка, но я постараюсь, если смогу воспроизвести ее или найти обходной путь.
user.dz
@fifaltra, как обходной путь sudo /etc/init.d/cryptdisks restartработает для меня после загрузки (я получил 1 без обмена в 10 перезагрузках, которые я сделал).
user.dz
-2

Вы можете попробовать это из терминала:

 sudo -i
 umount -a
 gedit /etc/fstab

а затем введите это внизу:

 uuid   name   mount  type
 xxxxx  swap   /       sw   sw   errors=noremount   0

а затем введите это в терминале:

 mount -a

и затем используйте gpart, и установите swap диск swap /. и это может работать нормально таким образом.

Майкл
источник