/dev/mapper/cryptswap1 ...
в моем /etc/fstab
все о.Я сделал что-то к Bork моя подкачка, потому что на следующей начальной загрузке, я (перефразировал) сообщение:
Дисковод для/dev/mapper/cryptswap1 еще не готов или не существует. Ожидайте для продолжения. Нажмите S для пропуска или M для ручного восстановления.
(Как примечание стороны, нажатие S или M, казалось, не сделал ничего различного от просто ожидания.)
Вот то, что я попробовал:
mkswap
управляйте сбоями, потому что устройство занято. /etc/initramfs-tools/conf.d/resume
и /etc/fstab
отразить новый UUID, сгенерированный от форматирования раздела как подкачка. Это все еще не работало; вместо /dev/mapper/cryptswap1
не существующий, "Дисковод с UUID = [подкачивает UUID раздела], еще не готово или не существует..."/etc/fstab
а также удаленный /etc/initramfs-tools/conf.d/resume
и /etc/crypttab
. В этой точке основную систему нельзя считать поврежденной, потому что нет никакого раздела подкачки и никаких инструкций смонтироваться один, правильно? Я не получил ошибок во время запуска. Я следовал тем же инструкциям, чтобы создать и зашифровать раздел подкачки, начиная с создания раздела для подкачки, хотя я думаю fdisk
сказанный перезагрузка была необходима для наблюдения изменений. Я был уверен, что 3-й процесс выше будет работать, но проблема все же сохраняется.
Некоторая соответствующая информация (/dev/sda8
раздел подкачки):
/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>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda6 during installation
UUID=4c11e82c-5fe9-49d5-92d9-cdaa6865c991 / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda5 during installation
UUID=4031413e-e89f-49a9-b54c-e887286bb15e /boot ext4 defaults 0 2
# /home was on /dev/sda7 during installation
UUID=d5bbfc6f-482a-464e-9f26-fd213230ae84 /home ext4 defaults 0 2
# swap was on /dev/sda8 during installation
UUID=5da2c720-8787-4332-9317-7d96cf1e9b80 none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0
вывод sudo mount
:
/dev/sda6 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda5 on /boot type ext4 (rw)
/dev/sda7 on /home type ext4 (rw)
/home/undisclosed/.Private on /home/undisclosed type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=cbae1771abd34009,ecryptfs_fnek_sig=7cefe2f59aab8e58)
gvfs-fuse-daemon on /home/undisclosed/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=undisclosed)
вывод sudo blkid
(отметьте это /dev/sda8
отсутствует):
/dev/sda1: LABEL="SYSTEM" UUID="960490E80490CC9D" TYPE="ntfs"
/dev/sda2: UUID="D4043140043126C0" TYPE="ntfs"
/dev/sda3: LABEL="Shared" UUID="80F613E1F613D5EE" TYPE="ntfs"
/dev/sda5: UUID="4031413e-e89f-49a9-b54c-e887286bb15e" TYPE="ext4"
/dev/sda6: UUID="4c11e82c-5fe9-49d5-92d9-cdaa6865c991" TYPE="ext4"
/dev/sda7: UUID="d5bbfc6f-482a-464e-9f26-fd213230ae84" TYPE="ext4"
/dev/mapper/cryptswap1: UUID="41fa147a-3e2c-4e61-b29b-3f240fffbba0" TYPE="swap"
вывод sudo fdisk -l
:
Disk /dev/mapper/cryptswap1 doesn't contain a valid partition table
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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: 0xdec3fed2
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 409599 203776 7 HPFS/NTFS/exFAT
/dev/sda2 409600 210135039 104862720 7 HPFS/NTFS/exFAT
/dev/sda3 210135040 415422463 102643712 7 HPFS/NTFS/exFAT
/dev/sda4 415424510 625141759 104858625 5 Extended
/dev/sda5 415424512 415922175 248832 83 Linux
/dev/sda6 415924224 515921919 49998848 83 Linux
/dev/sda7 515923968 621389823 52732928 83 Linux
/dev/sda8 621391872 625141759 1874944 82 Linux swap / Solaris
Disk /dev/mapper/cryptswap1: 1919 MB, 1919942656 bytes
255 heads, 63 sectors/track, 233 cylinders, total 3749888 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: 0xaf5321b5
/etc/initramfs-tools/conf.d/resume
файл:
RESUME=UUID=5da2c720-8787-4332-9317-7d96cf1e9b80
/etc/crypttab
файл:
cryptswap1 /dev/sda8 /dev/urandom swap,cipher=aes-cbc-essiv:sha256
вывод sudo swapon -as
:
Filename Type Size Used Priority
/dev/mapper/cryptswap1 partition 1874940 0 -1
вывод sudo free -m
:
total used free shared buffers cached
Mem: 1476 1296 179 0 35 671
-/+ buffers/cache: 590 886
Swap: 1830 0 1830
Так, как это может быть зафиксировано?
У меня была такая же проблема при использовании зашифрованного раздела подкачки. Ни общее Swap FAQ , решение Puny Geek для «cryptswap1 еще не готово или не присутствует» сообщение , ни ответ Брайама на на этот вопрос [ 1113] решил проблему для меня - иногда своп был доступен, иногда нет. После многих перезагрузок и некоторых поисков, я думаю, что нашел основную причину:
Путь к разделу подкачки, как /dev/sda3
, иногда отличается, например, /dev/sdb3
. Поскольку файл /etc/crypttab
по умолчанию, кажется, идентифицирует раздел подкачки по этому пути, иногда он может найти его (если этот раздел получает тот же путь при загрузке) или нет (если раздел получает другой путь, назначенный при загрузке) .
Похоже, что я был не единственным, кто столкнулся с этой проблемой , поскольку, как описано здесь , лучшим решением было бы связать раздел подкачки через его идентификатор диска вместо его пути /dev/sd*
. Это можно найти, запустив
ls -l /dev/disk/by-id/
, в котором перечислены идентификаторы дисков для всех разделов, включая раздел подкачки, который в моем случае был
ata-TOSHIBA_MQ01UBD100_73JATD5GT-part3 -> ../../sdb3
Дважды проверьте в программе, подобной Disk Utility, что часть -> ../../sdb*
этой строки действительно является разделом, который вы намереваетесь использовать для обмена, так как это (как я уже говорил) иногда может менять имена. Как всегда, имейте это в виду:
Осторожно: возиться с cryptsetup и дисковыми устройствами опасно для данных и ОС. Я лично сделал полную резервную копию на отдельном диске, а затем отключил его, чтобы убедиться, что он не будет вовлечен в любую неудачу.
blockquote>Затем отредактируйте файл
/etc/crypttab
, используя ссылку ID вместо «сырого» пути, в моем случае эта строка
cryptswap1 /dev/disk/by-id/ata-TOSHIBA_MQ01UBD100_73JATD5GT-part3 /dev/urandom swap,cipher=aes-cbc-essiv:sha256
Я думаю, этот метод должен использоваться по умолчанию для новых установок, так как, очевидно, никогда нельзя быть уверенным в путях
/dev/sd*
... что меня несколько беспокоит, так как у меня есть ощущение, что существует гораздо больше сценариев и программного обеспечения, которые все еще полагаются на эти пути (вместо идентификаторов, меток или UUID) остаются неизменными при перезагрузках.TODO:
Я не проверял, работает ли возобновление выхода из спящего режима с этой настройкой, поскольку, похоже, это зависит от UUID (которого у моего раздела подкачки не было ), как указано на этой странице: https://altinukshini.wordpress.com/2012/10/15/devmappercryptswap1-is-not-ready-yet-or-not-present/
[ 1129] Обновление:
Спящий режим пока работает нормально. Надеюсь, что это решает эти проблемы и для других!
У Вас должно быть это в /etc/crypttab
:
cryptswap1 /dev/sda4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256
и эта строка в конце /etc/fstab
/dev/mapper/cryptswap1 none swap sw 0 0
Удостоверьтесь, что Вы не используете uuid в crypttab файле.
Теперь давайте использовать прием для нормализации поведения подкачки прямо перед перезагрузкой или завершением работы:
Создайте сценарий /etc/init.d/cryptswap.sh
с этой внутренней частью:
#!/bin/bash
/etc/init.d/cryptdisks-early restart
Сделайте это исполняемым файлом с:
sudo chmod +x /etc/init.d/cryptswap.sh
Чтобы сделать вещи правильно, давайте использовать ссылки и числа, чтобы заставить его выполниться в правильный момент при движении или для перезагрузки или для завершения работы:
cd /etc/rc6.d
sudo ln -s ../init.d/cryptswap.sh S10cryptswap.sh
cd /etc/rc0.d
sudo ln -s ../init.d/cryptswap.sh S10cryptswap.sh
Важной вещью здесь является номер 10 на имя, потому что сценарий должен работать перед S40, который начинает удалять подкачку; еще позже другой сценарий удалит шифруемые устройства. Точка является исходными сбоями последовательности, и нам нужен перезапуск, чтобы позволить ей пройти гладко.
Именно!
Примечание: это - грязный взлом, и это может произойти, что перезапуск не может зафиксировать то независимо от того, что продолжается иногда. Кто-то среди разработчиков, отвечающих и за подкачку и за cryptsetup, должен пойти глубоко и видеть, почему после приостановки подкачку оставляют в состоянии, которое делает swapoff /dev/mapper/cryptswap1
и /etc/init.d/cryptdisks-early stop
сбой. При выполнении тех команд, Вы будете видеть, что swapoff жалуется на заголовок своп-файла. Кроме того, Вы будете видеть cryptdisks-early
отправка "сбоя" при попытке остановиться /dev/mapper/cryptswap1
.
Сначала я думал, что его проблема была подключена к поведению ядра libblk, вероятно, ошибка (не предназначенный). Кажется, что проблеме редактировали таблицу разделов различные "файловые системы". Ядро отказывается заполнять /dev/disk/by-uuid/
потому что это обнаруживает несколько подписей файловых систем, редактируя таблицу разделов. Это казалось важным, учитывая, что сценарий /usr/bin/ecryptfs-setup-swap
использование UUID к ссылкам это создает для /etc/crypttab
.
Фиксация должна быть должна воссоздать все разделы от той же файловой системы путем начальной загрузки на некоторых живых медиа. См.: http://forums.fedoraforum.org/showthread.php?t=288890
Однако это не работает, потому что ecryptfs/crypttab "переформатировал" раздел подкачки на каждой начальной загрузке; Вы не видите uuid для раздела подкачки после выполнения ecryptfs-setup-swap и перезагрузка, потому что Вы, как не предполагается. это означает это после начальной загрузки, привычка раздела быть найденным crypttab, если ссылается uuid, как указано в другом ответе.
При продолжении возможная фиксация должна была бросить использовать uuids и просто заменить их в/etc/crypttab с другой нотацией: только/dev/sdXX работает, потому что другие потеряны, когда mkswap выполняется в crypttab сценариях. Это - способ, которым форумы предлагают решить проблему. Выполнение этого требуется.
Это не работало полностью все же. Я размышлял, что была некоторая ошибка в crypttab (/etc/rcS.d/S26cryptdisks-early
-> /etc/init.d/cryptdisks-early
-> /lib/cryptsetup/cryptdisks.functions
). Таким образом, я пошел, роя там и ничего не нашел. На самом деле, выполнение /etc/init.d/cryptdisks-early restart
работы, хорошо когда-то загруженные, /dev/mapper/cryptswap1
ссылка сгенерирована.
Одна возможная фиксация, которую я видел в той точке, должен был переместить подкачку в "файл", который занимает все место в разделе подкачки. Это грязно, требует точки монтирования, и т.д. Идея состоит в том, что Вы создали бы файл размера всего раздела, который будет смонтирован, как регулярный ext4 в говорит что подкачка / и использование зашифрованный файл как подкачка. Что-то вроде этого:
В формате GParted как ext4; заметьте, что это отформатирует раздел и генерирует новый UUID; не использовать sudo mkswap /dev/sdXX
так как раздел будет автоматическим, смонтировался, если отмечено как подкачка
sudo mkdir /swap
ls -l /dev/disk/by-uuid/
sudo gedit /etc/fstab
# добавить UUID=XXXXXXXXXXXXXXXXXXXXXXXXX /swap ext4 defaults 0 2
sudo mount /dev/sdXX /swap
sudo dd if=/dev/zero of=/swap/swapfile bs=1024 count=800000
sudo mkswap /swap/swapfile
sudo swapon /swap/swapfile
sudo ecryptfs-setup-swap
Но я ненавидел его, таким образом, я не попробовал его.
Другой возможная фиксация, которую я видел, должен был настроить ручной отказ от автоматизированного поколения случайного ключа, как это: http://wiki.drewhess.com/wiki/Creating_an_encrypted_filesystem_on_a_partition#External_links
После исследования немного ручного места проведения, я так или иначе починил вещи путем выполнения что /usr/bin/ecryptfs-setup-swap
делает сначала (проверьте его, чтобы видеть, как это работает, это просто редактирует /etc/crypttab
и /etc/fstab
) и затем вручную запуская скрипт, которые работают на начальной загрузке: /etc/init.d/cryptdisks-early restart
; Но это повредилось снова. Заново обдумав о проблеме резюме, я нашел шаблон. Это повреждается на перезагрузке, которая следует за приостановкой и остается поврежденной. Для перефиксации его нужно сделать:
sudo /etc/init.d/cryptdisks-early restart
После этого подкачка смонтирована успешно и без worning, пока Вы не приостанавливаете. Это - то, куда сценарий, предложенный в коротком ответе, прибывает из.
У меня была та же проблема, и я нашел решение, которое работало на меня в этом сообщении.
В основном:
Открытый fstab:
sudo gedit /etc/fstab
Измените эту строку:
/dev/mapper/cryptswap1 none swap sw 0 0
к этому:
/dev/mapper/cryptswap1 none swap sw,noauto 0 0
Затем перейдите в
sudo gedit /etc/rc.local
и сразу прежде
exit 0
добавьте эти две строки:
sleep 5
swapon /dev/mapper/cryptswap1
Если Вы затем хотите проверить, что Ваша ПОДКАЧКА на самом деле смонтирована и работающий открытый много использующих RAM приложений, и проверьте его через терминальный ввод:
free -m
... и сохраните / домой зашифрованным
Я попробовал несколько других решений, предложенных здесь. Даже при том, что они сохранили обработанными после "горячей" перезагрузки, в конечном счете они все перестали работать после завершения работы и "холодного" перезапуска.
Это говорит нам, что мы на самом деле имеем дело с двойной ошибкой:
Эти мысли также отражаются в комментариях к принадлежащей ошибке, зарегистрированной в Launchpad. Однако с незаконченным перемещением от Выскочки к 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