Обновление 3:
Я решил переустановить систему с нуля, чтобы убрать всю старую грязь, которая возникла, поскольку после обновления у меня возникли и другие проблемы. Однако эта проблема сохранилась.
При чистой установке выбор установки с использованием «Зашифрованного дома» приводит к неправильной конфигурации зашифрованного свопинга.
Обновление 2:
Я исправил порядок разбиения, на который жаловался cfdisk, но проблема сохраняется. Теперь своп находится в / dev / sda6, и я могу запустить его следующим образом:
~$ sudo mkswap /dev/sda6
Setting up swapspace version 1, size = 7998460 KiB
no label, UUID=18881d0f-d9ec-43be-a23f-0cbd78ea6d22
$sudo nano /etc/crypttab # Update crypttad with new UUID
$ sudo /etc/init.d/cryptdisks reload
* Stopping remaining crypto disks...
* cryptswap1 (stopped)... [ OK ]
* Starting remaining crypto disks...
* cryptswap1 (starting)..
* cryptswap1 (started)... [ OK ]
$ sudo swapon -a
$ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 11 09:04 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 11 09:08 18881d0f-d9ec-43be-a23f-0cbd78ea6d22 -> ../../sda6
lrwxrwxrwx 1 root root 10 May 11 09:04 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda5
lrwxrwxrwx 1 root root 10 May 11 09:04 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May 11 09:04 D28230E68230D129 -> ../../sda2
lrwxrwxrwx 1 root root 10 May 11 09:08 fcc8c419-8fec-4d4d-b55e-9e4c3b04d21d -> ../../dm-0
Но после перезагрузки своп не активируется и снова выглядит так:
$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 11 09:12 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 11 09:12 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda5
lrwxrwxrwx 1 root root 10 May 11 09:12 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May 11 09:12 D28230E68230D129 -> ../../sda2
На данный момент я предполагаю, что при настройке диска как зашифрованного linux больше не распознает тип раздела и, следовательно, не загружает его должным образом, в результате чего он не регистрируется для его UUID, и поэтому cryptswap не может найти его, вызывая сбой. Но я не знаю, как это исправить ..
Обновленный вопрос:
Дальнейшее тестирование показало, что я могу запустить и запустить обмен, запустив $ mkswap / dev / sda5
а затем обновите / etc / crypttab, указав правильный UUID и выполнив действия, описанные здесь: Как настроить зашифрованный файл подкачки?
Однако проблема остается, когда я перезагружаю компьютер, / dev / sda5 не появляется при запуске
$ ls -l /dev/disk/by-uuid/
Если я сделаю:
$ cfdisk /dev/sda
Я получаю следующую ошибку:
FATAL ERROR: Bad logical partition 6: enlarged logical partitions overlap
Press any key to exit cfdisk
Графическая утилита «Диски» не выдает никаких ошибок при открытии диска с ее помощью.
$ sudo fdisk -l
Disk /dev/sda: 256.1 GB, 256060514304 bytes
255 heads, 63 sectors/track, 31130 cylinders, total 500118192 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x619aebf1
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 100870143 50331648 7 HPFS/NTFS/exFAT
/dev/sda3 191397888 192397311 499712 83 Linux
/dev/sda4 192399358 500117503 153859073 5 Extended
/dev/sda5 484118528 500117503 7999488 82 Linux swap / Solaris
/dev/sda6 192399360 484118527 145859584 83 Linux
Partition table entries are not in disk order
Оригинальный вопрос:
После обновления до 14.04 (с 13.04) мой компьютер испытывал серьезные замедления, при запуске top я заметил, что kswap0 занимает много процессорного времени. Я также заметил, что у меня не было места подкачки!
$ sudo swapon -a
swapon: /dev/mapper/cryptswap1: stat failed: No such file or directory
Кажется, есть какая-то проблема с моей зашифрованной настройкой подкачки (я даже не знал, что у меня она была)
$ cat /etc/crypttab
cryptswap1 UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 /dev/urandom swap,cipher=aes-cbc-essiv:sha256
$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 6 11:00 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 6 11:00 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda6
lrwxrwxrwx 1 root root 10 May 6 11:00 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May 6 11:00 D28230E68230D129 -> ../../sda2
И глядя на мой фстаб
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda6 during installation
UUID=19aa372c-05c8-4226-8f09-c54e5566e816 / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda3 during installation
UUID=08b07f88-6da5-4b40-b062-42b3bb1c5f00 /boot ext2 defaults 0 2
# swap was on /dev/sda5 during installation
#UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0
Я предполагаю, что в настройке sda5 что-то не так, но я не знаю, как это исправить, поскольку он настроен на шифрование. Был бы признателен за помощь, как, как действовать.
Ответы:
Известная ошибка
Существует ошибка (см. Ниже), которая перезаписывает
UUID
раздел, как только в него записываются данные. Следовательно, вы не можете использоватьUUID
ссылку на раздел, который будет использоваться для зашифрованного обмена.В наши дни пространство подкачки практически не используется. На моей машине своп используется только тогда, когда я открываю свою 40-ую вкладку. Когда у меня нет свопа, внезапно мой компьютер начинает зависать, и браузер закрывается. Или в случае
Chromium
браузера, многие вкладки внезапно «умрут».По этой причине ссылки
/dev/disk/by-uuid/
в вашем/etc/crypttab
могуществе , кажется , работает на некоторое время, но как только ваша подкачка фактически используются, он будет перезаписывать ,UUID
потому что весь раздел используется для зашифрованного хранилища данных.Easy Fix
Простое решение заключается в том, чтобы ссылаться на раздел подкачки по устройству
/etc/crypttab
, например:Предупреждение: это, вероятно, безопасно на ноутбуке (я использую его таким образом), но если вы находитесь на рабочем столе с заменяемыми дисками или у вас есть другие причины для изменения структуры диска / раздела, вы не хотите делать это, как нормальный раздел памяти может внезапно использоваться для подкачки.
Примечание. Чтобы изменения вступили в силу, необходимо перезагрузиться, поскольку только при загрузке будет
/dev/mapper/cryptswap1
создано.Правильное исправление
Правильный способ исправить это - убедиться, что часть необработанного раздела, в которой хранятся
UUID
данные, не будет перезаписана зашифрованными данными подкачки, поэтому она все равно останется при перезагрузке. Однако я не уверен, гдеUUID
написано и сколько байт занимает. Вы можете на свой страх и риск проверить это так:Обратите внимание
offset=36
.Пожалуйста, если у вас есть учетная запись Ubuntu One, войдите в систему и перейдите к ошибке # 1310058 на Launchpad и выберите (или нажмите здесь): «Эта ошибка также влияет на меня», чтобы ошибка приобрела «популярность» и стала более подверженной исправлению.
Обновление 2014-10-27
Я тоже наткнулся на это. Не проверено мной. Это похоже на
offset
трюк с большей детализацией и комментариями о восстановлении сломанного свопа.https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/1310058/comments/22
источник
У меня была точно такая же проблема в Ubuntu 14.04, и я наткнулся на эту тему; эта ссылка , предоставленная мутантом, сработала для меня. Я использовал
/dev/disk/by-id
ссылку, а не / dev / sdXY, так как эта ссылка не всегда указывает на один и тот же физический раздел. Мой/etc/crypttab
закончился как:источник
Просто используйте незашифрованный своп
... и держать / дома в зашифрованном виде
Я попробовал пару других решений, предложенных здесь. Несмотря на то, что они продолжали работать после горячей перезагрузки, в конечном итоге все они перестали работать после выключения и холодного перезапуска.
Это говорит нам о том, что мы имеем дело с двойной ошибкой:
Эти мысли также отражены в комментариях к соответствующей ошибке, поданной на Launchpad . Однако с ожидаемым переходом от Upstart к systemd мало что сделано для устранения ошибки в современных системах LTS.
В этот момент мне в голову пришли следующие мысли:
\home
раздел, больше ничего.Итак, вот мое решение восстановить подкачку как обычный незашифрованный подкачку без переустановки всей операционной системы.
blkid
:$ sudo apt-get install blkid
/etc/crypttab
и удалите всюcryptswap1
строку:$ sudo nano /etc/crypttab
linux-swap
раздел. После применения этой операции вам сообщают о новом UUID восстановленного нормального раздела подкачки. Вам предлагается возможность сохранить эту информацию. Если вы этого не сделаете, знайте, что вы всегда можете получить новый UUID из командной строки с помощьюblkid
:$ sudo blkid
Теперь пришло время восстановить
/etc/fstab
его былую славу:$ sudo nano /etc/fstab
/dev/mapper/cryptswap1
.swap
строку, удалив символ#
передUUID=...
.nano
с помощью Ctrl+ X.$ sudo swapon -a
источник
Посмотрите на это . Я исправил эту проблему, просто заменив UUID = ... на / dev / sda3 в / etc / crypttab.
источник
sudo fdisk -l
было то, что никто не говорил. Спасибо за это! :)/dev/sd*
пути могут меняться по прихоти и приводить к тому, что неверный раздел будет уничтожен данными подкачки./dev/disk/by-id
выше.У меня есть эта проблема, как и люди в вопросе 332625 . Некоторая комбинация приостановки и перезагрузки теряет UUID вашего раздела подкачки (как сказано в комментарии в вашем / etc / fstab , подтвердите это с помощью
sudo blkd
), поэтому строка в вашем / etc / crypttab для использования этого UUID в качестве зашифрованного свопа не работает.Мне не повезло переключить / etc / crypttab, чтобы использовать имя раздела
/dev
( / dev / sda6 в вашем случае) илиdev/disk/by-id/
имя вместо исчезающего UUID.К сожалению, отмена зашифрованного свопа - самое простое и пока лучшее решение.
источник