У меня был тот же вопрос, вот как я это сделал на Ubuntu 12.04.1 и 12.10,
- перед началом убедитесь, что у вас есть резервная копия, а также вы можете загрузить вашу систему с помощью Ubuntu CD или USB; как если бы вы допустили ошибку, ваша система может больше не загружаться или вы можете потерять данные. я предполагаю, что у вас есть зашифрованная система Ubuntu с LUKS, внутри LUKS у вас есть 3 раздела: SYSTEM-BOOT (не зашифрованный), SYSTEM-SWAP (зашифрованный) и SYSTEM-OS (зашифрованный) -
вам нужно настроить UUIDs, SYSTEM-SWAP_crypt, SYSTEM-OS_crypt, SYSTEM-SWAP, SYSTEM-OS в соответствии с вариантом, используемым в вашей системе, пожалуйста, смотрите ссылку ниже моего решения для получения дополнительной информации
Получить UUID:
blkid
Подготовить>
swapoff /dev/mapper/SYSTEM-SWAP_crypt
cryptsetup luksClose SYSTEM-SWAP_crypt
Скажите cryptsetup для вычисления ключевой фразы раздела подкачки из ключа дешифрования тома, содержащего корневую файловую систему>
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksFormat /dev/mapper/SYSTEM-SWAP --key-file -
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksOpen /dev/mapper/SYSTEM-SWAP SYSTEM-SWAP_crypt --key-file -
mkswap /dev/mapper/SYSTEM-SWAP_crypt
расскажите системе о разделе подкачки, отредактируйте crypttab>
nano /etc/crypttab
знак равно убедитесь, что две строки совпадают
SYSTEM-OS_crypt UUID=uuid-of-luks-containing-osroot none luks
SYSTEM-SWAP_crypt UUID=uuid-of-luks-containing-swap SYSTEM-OS_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
расскажите системе о разделе подкачки, отредактируйте fstab>
nano /etc/fstab
знак равно убедитесь, что у вас есть эта строка
/dev/mapper/SYSTEM-SWAP_crypt swap swap sw 0 0
рассказать системе о разделе подкачки, отредактировать резюме>
nano /etc/initramfs-tools/conf.d/resume
знак равно убедитесь, что у вас есть эта строка
RESUME=UUID=uuid-of-encrypted-swap-SYSTEM-SWAP_crypt
обновить initramfs в загрузочном разделе>
update-initramfs -u -k all
Ссылка
Ответ, вдохновленный настройкой зашифрованной системы Debian (заархивированная ссылка):
Если вы используете зашифрованную систему Debian, у вас, вероятно, есть некоторые требования безопасности, которым нужно соответствовать. Если это так, вы также должны использовать зашифрованный раздел подкачки.
Раздел подкачки может быть зашифрован двумя способами:
- он может быть воссоздан при каждой загрузке, используя случайную фразу-пароль или
- это может быть создано как другие зашифрованные тома с постоянной парольной фразой
Если вы хотите использовать suspend-to-disk, вы не можете использовать первый подход, поскольку он перезапишет ваш объем памяти, хранящийся в разделе подкачки. Кроме того, вы не можете использовать файл ключа, как и другие разделы, так как корневая файловая система не монтируется (и не должна) быть подключена к моменту запуска процесса возобновления и должна прочитать дешифрованный раздел подкачки.
Я решил это, сказав cryptsetup вычислить парольную фразу раздела подкачки из ключа дешифрования тома, содержащего корневую файловую систему; пакет cryptsetup реализует это с /lib/cryptsetup/scripts/decrypt_derived
. Таким образом, чтобы настроить раздел подкачки, я делаю следующее, предполагая hda2
, что раздел содержит зашифрованный раздел и корневая файловая система находится в hda5_crypt
:
swapoff /dev/mapper/hda2_crypt
cryptsetup luksClose hda2_crypt
dd if=/dev/urandom of=/dev/hda2
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
| cryptsetup luksFormat /dev/hda2 --key-file -
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
| cryptsetup luksOpen /dev/hda2 hda2_crypt --key-file -
mkswap /dev/mapper/hda2_crypt
Чтобы сообщить системе об этом разделе подкачки, нам нужно добавить его в
/etc/crypttab
и /etc/fstab
; убедитесь, что эти файлы содержат строки, подобные следующим:
/etc/crypttab:
hda2_crypt /dev/hda2 hda5_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
/etc/fstab:
/dev/mapper/hda2_crypt swap swap sw 0 0
Благодаря этому, как только вы сконфигурируете систему для приостановки на диск, раздел подкачки будет автоматически настроен рядом с корневой файловой системой очень рано во время последовательности загрузки. Чтобы выяснить, какой раздел подкачки сделать доступным в этот момент, cryptsetup проверяет следующее: asfasfafs - строка, подобная RESUME=/dev/mapper/hda2_crypt
in /etc/initramfs-tools/conf.d/resume
- настройка устройства возобновления в /etc/uswsusp.conf
(см. uswsusp.conf(5)
) - запись в /etc/suspend.conf
- a resume=/dev/mapper/hda2_crypt
в командной строке ядра
Вы можете проверить, /usr/share/initramfs-tools/hooks/cryptroot
если вы хотите узнать больше об этом.