Як я можу встановити Ubuntu зашифрований LUKS з подвійним завантаженням?


73

Установочний диск Ubuntu 13.04 має можливість встановити Ubuntu в зашифрованому вигляді за допомогою LUKS. Однак немає можливості виконати зашифровану установку уздовж існуючих розділів для сценарію з подвійним завантаженням.

Як я можу встановити зашифрований Ubuntu поряд з іншим розділом з живого диска?


Дивлячись на скрипт скрипту, це відхилене редагування насправді правильне. Кожен рядок у conf.d / cryptroot трактується так само, як був би інший аргумент cryptopts. Чи можливо використовувати інсталятор, якщо розшифрований розділ не є групою томів? Я спробував, і схоже, що це не дозволить мені використовувати його без розділів. У моєму випадку це SSD з 3-ма розділами: Linux / boot, Linux /, Windows, при цьому swap та / home знаходяться на жорсткому диску, тому LVM дійсно не потребує. Я здогадуюсь, я повинен був би залишитися зі своєю початковою ідеєю, яка полягала в тому, щоб використовувати debootstrap з прямого компакт-диска.

Корисний посібник: " Як налаштувати зашифровану установку Ubuntu? ", Автор Gayan на сайті HecticGeek.com - hecticgeek.com/2012/10/…
Габріель

Відповіді:


88

Перш за все, якщо ви хочете встановити зашифрований Ubuntu на жорсткому диску, замінивши всі існуючі розділи та операційні системи, ви можете зробити це безпосередньо з графічного інсталятора. Цей ручний процес необхідний лише для подвійного завантаження.

Цю відповідь було перевірено у Ubuntu 13.04.

  1. Завантажте з живого DVD або USB-накопичувача Ubuntu та виберіть "Спробуйте Ubuntu".

  2. Створіть два розділи за допомогою GParted, що входить до живого диска. Перший розділ повинен бути неформатованим і повинен бути досить великим для root та swap, на моєму прикладі це так /dev/sda3. Другий розділ має бути кількома сотнями мегабайт і відформатований у ext2 або ext3, він буде незашифрованим та змонтованим /boot(у моєму прикладі це так /dev/sda4).

    На цьому скріншоті у мене є наявна незашифрована установка Ubuntu у двох розділах: /dev/sda1і /dev/sda5, виділіть у колі зліва. Я створив неформатований розділ в /dev/sda3і розділ ext3 в /dev/sda4, призначений для зашифрованої установки Ubuntu, виділеної в колі праворуч:

    Знімок екрана GParted

  3. Створіть контейнер LUKS за допомогою цих команд. Замініть /dev/sda3створений раніше неформатований розділ та cryptcherriesна вибране ім’я.

    sudo cryptsetup luksFormat /dev/sda3
    sudo cryptsetup luksOpen /dev/sda3 cryptcherries
    
  4. Попередження : Ви помітите, що luksFormatкрок завершився дуже швидко, оскільки він надійно не стирає базовий блок пристрою. Якщо ви просто не експериментуєте і не піклуєтесь про захист від різних видів криміналістичної атаки, важливо правильно ініціалізувати новий контейнер LUKS, перш ніж створювати в ньому файлові системи. Запис нулів у відображений контейнер призведе до запису сильних випадкових даних у базовий блок пристрою. Це може зайняти деякий час, тому найкраще скористатися pvкомандою для контролю за ходом:

    ### Only for older releases, e.g. not for 19.04, `pv` is not included in the repo must be added first
    # sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
    # sudo apt-get update
    
    sudo apt-get install -y pv
    sudo sh -c 'exec pv -tprebB 16m /dev/zero >"$1"' _ /dev/mapper/cryptcherries
    

    або, якщо ви робите встановлення офлайн і не можете легко отримати pv:

    sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
    
  5. Всередині встановленого контейнера LUKS створіть фізичний об'єм LVM, групу томів та два логічні томи. Перший логічний том буде встановлений на /, а другий буде використовуватися як своп. vgcherriesце ім'я групи томів, а також lvcherriesrootі lvcherriesswapімена логічних томів, ви можете вибрати свій власний.

    sudo pvcreate /dev/mapper/cryptcherries
    sudo vgcreate vgcherries /dev/mapper/cryptcherries
    sudo lvcreate -n lvcherriesroot -L 7.5g vgcherries
    sudo lvcreate -n lvcherriesswap -L 1g vgcherries
    
  6. Створіть файлові системи для двох логічних томів: (Ви також можете зробити цей крок безпосередньо з інсталятора.)

    sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot
    sudo mkswap /dev/mapper/vgcherries-lvcherriesswap
    
  7. Не перезавантажуючи , встановіть Ubuntu за допомогою графічного інсталятора (ярлик знаходиться на робочому столі в Xubuntu 18.04), вибравши ручне розділення. Призначте /до /dev/mapper/vgcherries-lvcherriesrootта /bootнезашифрованому розділу, створеному на кроці 2 (у цьому прикладі /dev/sda4).

  8. Після закінчення графічного інсталятора виберіть "продовжити тестування" та відкрийте термінал.

  9. Знайдіть UUID розділів LUKS ( /dev/sda3у цьому випадку), він вам знадобиться пізніше:

    $ sudo blkid /dev/sda3
    /dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
    
  10. Встановіть відповідні пристрої у відповідні місця /mntта вкажіть на них:

    sudo mount /dev/mapper/vgcherries-lvcherriesroot /mnt
    sudo mount /dev/sda4 /mnt/boot
    sudo mount --bind /dev /mnt/dev
    sudo chroot /mnt
    > mount -t proc proc /proc
    > mount -t sysfs sys /sys
    > mount -t devpts devpts /dev/pts
    
  11. Створіть файл, названий /etc/crypttabв оточуваному середовищі, щоб містити цей рядок, замінивши значення UUID на UUID розділу LUKS та vgcherriesназвою групи томів:

    # <target name> <source device> <key file> <options>
    cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
    
  12. Виконайте таку команду в хронованому середовищі:

    update-initramfs -k all -c
    
  13. Перезавантажте та завантажте в зашифрованому Ubuntu. Вам буде запропоновано ввести пароль.

  14. Перевірте, чи використовуєте ви зашифрований розділ для /запуску mount:

    $ mount
    /dev/mapper/vgcherries-lvcherriesroot on / type ext4 (rw,errors=remount-ro)
    /dev/sda4 on /boot type ext3 (rw)
    # rest of output cut for brevity
    
  15. Переконайтеся, що ви використовуєте зашифрований розділ swap (не будь-який незашифрований розділ swap для інших установок), запустивши цю команду:

    $ swapon -s
    Filename                              Type      Size   Used Priority
    /dev/mapper/vgcherries-lvcherriesswap partition 630780 0    -1
    
  16. Перевірте, чи можете ви завантажуватися в режим відновлення, не хочете дізнаватися пізніше під час надзвичайної ситуації, що режим відновлення не працює :)

  17. Встановіть будь-які оновлення, які, ймовірно, відновлять ramdisk та оновлять конфігурацію grub. Перезавантажте і протестуйте як звичайний, так і режим відновлення.


3
Я можу переконатися, що в 15.04 ви можете пропустити кроки 11, 13 і 14, і що насправді може знадобитися пропустити ці кроки (оскільки запущене оновлення-grub таким чином призвело до втрати мого розділу Windows)
process91

4
@ process91 Схоже, що кроки змінили числа. Тепер вам потрібно пропустити 12, 14 та 15.
Олександр Дубінський

5
Чудовий путівник. Вперше працював для Windows 10, використовуючи BitLocker та Ubuntu 16.04, опускаючи кроки 12, 14 та 15 тут. Було кілька інших каменів спотикання, які я помітив, що може стосуватись уточнення, зокрема, що ви вибрали для розділу завантажувача (він встановлюється на існуючий розділ EFI, але ви, ймовірно, можете просто вибрати диск, де ви встановлюєте Ubuntu, наприклад / dev / sda). Усі, хто має повні дозволи редактора, можуть скопіювати вставити з мого запису: stevenmaude.co.uk/posts/…
Стівен Мод

5
@unhammer лише відредагував відповідь та видалив пару кроків, щоб ті, хто читав коментарі та заплутувались.
Flimm

3
Автор уже відібрав старі кроки 12,14,15. Тому НЕ пропускайте жодних кроків. Працює з Ubuntu Mate 16.04.1.
користувач4955663

9

Можна створити зашифровані установки з подвійним завантаженням, використовуючи лише інструменти графічного інтерфейсу Ubuntu LiveCD.

Передумови

  • USB-накопичувач із встановленням Ubuntu 19.04.
  • Якщо у вас є материнська плата EFI, переконайтеся, що на диску використовується таблиця розділів GUID (GPT). Використання диска MBR за допомогою цього методу здається невдалим. Ви можете конвертувати MBR в GPT за допомогою інструментів Linux ( gdisk), але спершу слід зробити резервну копію. Якщо ви перетворите таблицю розділів, вам потрібно буде потім виправити завантажувач Windows .

Windows

  • На панелі запуску введіть disk partitionі виберіть перший варіант (відкриття диспетчера розділів диска у налаштуваннях).

  • Зменшіть ваш основний розділ до потрібного розміру Ubuntu (я просто використав за замовчуванням, розділив свій 500 Гб диск на ОС 240 ГБ і нерозподілений простір 240 ГБ).

BIOS

  • Вимкнути безпечне завантаження (якщо у вас є бітлокер, вам потрібно буде переймати його, щоб надійно завантажуватись у Windows кожного разу) - це добре для мене, оскільки Ubu - моя основна ОС, просто використовуйте windoze для ігор.

Ubuntu LiveCD

Нарешті - завантажте USB-програму встановлення 19.04

  • Натисніть Enterна стандартну опцію Встановити Ubuntu .

  • Коли ви перейдете до екрана, на якому написано « Стерти весь диск» та є деякі прапорці, натисніть на « Щось інше» (ручне розділення). Інакше ви втратите ваші дані Windows!

Як тільки диспетчер розділів диска завантажить ваш диск, у вас з'явиться великий нерозподілений простір. Клацніть по цьому і натисніть кнопку Додати для створення розділів.

  • По-перше, створіть 500MB /bootрозділ (основний, ext4).
  • По-друге, з решти місця зробіть зашифрований об'єм. Це створить єдиний розділ LV. Змініть його на вибраний кореневий /розділ.
  • Тоді решта інсталяційного процесу буде працювати як завжди.

Коли ви завантажуєтесь вперше, увійдіть, відкрийте термінал, запустіть sudo apt-get updateі sudo apt dist-upgrade, перезавантажте та увійдіть знову.

Файл підкачки 2 Гб буде створено автоматично. Якщо замість цього вам потрібен 8 Гб, прочитайте цю відповідь .


4
У травні 2019 року це найкраща відповідь (здається, працює з 2012 року, власне), не потрібно ускладнювати командний рядок. У розділі, після створення фізичного обсягу для шифрування, я не побачив нового /dev/mapper/sdaX_crypt вгорі списку . Цей посібник має скріншоти та візуалізує форматування розділів, це може бути корисно: hecticgeek.com/2012/10/…
firepol

Гарна відповідь, @Falieson! Але, я не розумів цього протягом перших 14 днів і 17 годин досліджень, на який я дивився, тому думаю, що буду писати власну відповідь на скріншотах. Ця стаття, опублікована @firepol ( hecticgeek.com/2012/10/… ), була СУПЕР корисною, і лише ПІСЛЯ наступної статті ваша відповідь мала для мене сенс.
Габріель Степлес

Крім того, я хотів би додати наступного разу, коли вам слід вийти з програми Windows Bitlocker & перейти на VeraCrypt. Це безкоштовно та з відкритим кодом, без витрат, і, здається, чудово працює з подвійним завантаженням. Мій розділ Windows використовує його, а також мої зовнішні жорсткі диски та деякі локальні файлові файли. Ось чудове вступне відео до VeraCrypt: youtube.com/watch?v=C25VWAGl7Tw та сторінка їх завантажень: veracrypt.fr/uk/Downloads.html . Для Linux на основі шифрування LUKS на зовнішніх накопичувачах ext4 я використовую включену утиліту Ubuntu Disks , яка має формат для шифрування LUKS під час форматування.
Габріель Степлес

5

По-перше, вкажіть, чому тільки шифрування розділу Linux може бути недостатньо безпечним для вас:

  1. https://superuser.com/questions/1013944/encrypted-boot-in-a-luks-lvm-ubuntu-installation
  2. https://security.stackexchange.com/questions/166075/encrypting-the-boot-partition-in-a-linux-system-can-protect-from-an-evil-maid-a
  3. https://www.reddit.com/r/linux/comments/6e5qlz/benefits_of_encrypting_the_boot_partition/
  4. https://unix.stackexchange.com/questions/422860/why-should-we-encrypt-the-system-partition-and-not-only-home
  5. https://www.coolgeeks101.com/howto/infrastructure/full-disk-encryption-ubuntu-usb-detached-luks-header/
  6. https://superuser.com/questions/1324389/how-to-avoid-encrypted-boot-partition-password-prompt-in-lvm-arch-linux

Тепер я дотримувався цього підручника:

  1. https://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive
  2. http://web.archive.org/web/20160402040105/http://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive

У цій відповіді я представляю покрокову (із зображеннями) інсталяцію Linux Mint 19.1 XFCEі Ubuntu 18.04.2обидва повністю зашифровані на одному диску. По- перше , я встановив Ubuntu 14.04.2на /dev/sda5і я не створював розділів підкачки , так як Linux Mint 19.1і Ubuntu 18.04.2не використовувати їх, тобто, вони використовують файли підкачки.

Ubuntu 18.04.2 Біонічний бобер

Спочатку вставіть Ubuntuінсталяційний носій та перезавантажте машину у Ubuntuпрямому сеансі, потім виберіть Try Ubuntuі відкрийте один термінал, потім

  1. sudo su -
  2. fdisk /dev/sda, тоді створіть такі розділи
    • введіть тут опис зображення
  3. cryptsetup luksFormat /dev/sda5
  4. cryptsetup luksOpen /dev/sda5 sda5_crypt
  5. pvcreate /dev/mapper/sda5_crypt
  6. vgcreate vgubuntu /dev/mapper/sda5_crypt
  7. lvcreate -L10G -n ubuntu_root vgubuntu
    • lvcreate -l 100%FREE -n ubuntu_root vgubuntu(необов’язково, замість запуску lvcreate -L10G -n ubuntu_root vgubuntuви можете запустити це, lvcreate -l 100%FREE -n ubuntu_root vgubuntuщоб використовувати весь вільний простір на диску, а не лише 10 Гб)
    • введіть тут опис зображення
  8. Не закривайте термінал і не відкривайте інсталятор дистрибутива, виберіть Щось інше та встановіть його
    • /dev/sda1монтується як /bootрозділ з ext2форматом
    • /dev/mapper/vgubuntu-ubuntu_rootмонтується як /у ext4форматі.
    • /dev/sda як установка завантажувача
    • Не позначайте нічого іншого
    • введіть тут опис зображення
    • введіть тут опис зображення
  9. Не перезавантажуйте, натисніть на Продовжити використання Linux і виберіть відкритий термінал
  10. mkdir /mnt/newroot
  11. mount /dev/mapper/vgubuntu-ubuntu_root /mnt/newroot
  12. mount -o bind /proc /mnt/newroot/proc
  13. mount -o bind /dev /mnt/newroot/dev
  14. mount -o bind /dev/pts /mnt/newroot/dev/pts
  15. mount -o bind /sys /mnt/newroot/sys
  16. cd /mnt/newroot
  17. chroot /mnt/newroot
  18. mount /dev/sda1 /boot
  19. blkid /dev/sda5 (скопіюйте UUID без лапок і використовуйте його на наступному кроці)
  20. echo sda5_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • введіть тут опис зображення
    • введіть тут опис зображення
    • введіть тут опис зображення
  21. Створіть файл /etc/grub.d/40_custom
    • введіть тут опис зображення
  22. Відредагуйте /etc/default/grubта встановіть
    • GRUB_TIMEOUT_STYLE=menu
    • GRUB_TIMEOUT=10
    • введіть тут опис зображення
  23. update-initramfs -u
  24. update-grub
    • введіть тут опис зображення
    • введіть тут опис зображення
  25. exit
  26. reboot
  27. Після перезавантаження комп'ютера виберіть параметр, Ubuntuі він правильно запитає ваш пароль шифрування
    • введіть тут опис зображення
  28. Після входу в систему запустіть
    • sudo apt-get update
    • sudo apt-get install gparted
  29. І, відкривши, gpartedви це знайдете
    • введіть тут опис зображення

Щоб отримати детальніші інструкції, прочитайте оригінальний посібник, зазначений у верхній частині цього питання, або пошукайте в Google про використання цих команд.


Linux Mint 19.1 Кориця

Для решти інсталяцій Linux rebootВаш Ubuntuкомп'ютер завантажиться з установкою Mint 19.1(Live CD) та відкрийте вікно терміналу

  1. sudo su -
  2. cryptsetup luksFormat /dev/sda6
  3. cryptsetup luksOpen /dev/sda6 sda6_crypt
  4. pvcreate /dev/mapper/sda6_crypt
  5. vgcreate vgmint /dev/mapper/sda6_crypt
  6. lvcreate -L10G -n mint_root vgmint
    • lvcreate -l 100%FREE -n mint_root vgmint(необов’язково, замість запуску lvcreate -L10G -n mint_root vgmintви можете запустити це, lvcreate -l 100%FREE -n mint_root vgmintщоб використовувати весь вільний простір на диску, а не лише 10 Гб)
    • введіть тут опис зображення
    • введіть тут опис зображення
  7. Не закривайте термінал і не відкривайте інсталятор дистрибутива, виберіть Щось інше та встановіть його
    • /dev/sda2монтується як /bootрозділ з ext2форматом
    • /dev/mapper/vgmint-mint_rootмонтується як /у ext4форматі.
    • /dev/sda2як установка завантажувача (не вибирайте /dev/sdaяк раніше)
    • Не позначайте нічого іншого
    • введіть тут опис зображення
    • введіть тут опис зображення
  8. Не перезавантажуйте, натисніть на Продовжити використання Linux і виберіть відкритий термінал
  9. mkdir /mnt/newroot
  10. mount /dev/mapper/vgmint-mint_root /mnt/newroot
  11. mount -o bind /proc /mnt/newroot/proc
  12. mount -o bind /dev /mnt/newroot/dev
  13. mount -o bind /dev/pts /mnt/newroot/dev/pts
  14. mount -o bind /sys /mnt/newroot/sys
  15. cd /mnt/newroot
  16. chroot /mnt/newroot
  17. mount /dev/sda2 /boot
  18. blkid /dev/sda6 (скопіюйте UUID без лапок і використовуйте його на наступному кроці)
  19. echo sda6_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • введіть тут опис зображення
    • введіть тут опис зображення
    • введіть тут опис зображення
  20. update-initramfs -u
  21. update-grub
    • введіть тут опис зображення
    • введіть тут опис зображення
  22. exit
  23. reboot
  24. Після перезавантаження комп'ютера виберіть параметр Linux Mint on /dev/sda2
    • введіть тут опис зображення
  25. Потім він правильно запуститься Mint 19.1і запитає пароль шифрування
    • введіть тут опис зображення
  26. Після входу в систему запустіть
    • sudo apt-get update
    • sudo apt-get install gparted
  27. І, відкривши, gpartedви це знайдете
    • введіть тут опис зображення

Пов’язані посилання:

  1. Як я можу змінити розмір активного розділу LVM?
  2. Як я можу змінити розмір розділу LVM? (тобто фізичний обсяг)
  3. https://www.tecmint.com/extend-and-reduce-lvms-in-linux/
  4. Ланцюговий навантажувач Grub не працює з Windows 8
  5. Завантаження UEFI із зашифрованим / завантажувальним пристроєм на Ubuntu 14.04 LTS

1
У мене на жорсткому диску один комп’ютер, і на ньому був один існуючий незашифрований Kubuntu 18.04. Я встановив другий зашифрований Kubuntu 18.04 поблизу першого незашифрованого Kubuntu на основі цього. Зараз обидва добре працюють на одному жорсткому диску. Дякую за детальну відповідь.
Ікром

1
Частина про Linux Mint повинна бути видалена з цієї відповіді. Ця частина є поза темою, її не задавали ОП, вона робить відповідь непотрібною довгою та призводить до питань поза тематики, як ця .
mook765

-1 для пов'язаної з монетною частиною частини.
user68186
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.