Jak mogę zainstalować Ubuntu zaszyfrowane za pomocą LUKS z podwójnym uruchomieniem?


73

Dysk instalacyjny Ubuntu 13.04 ma opcję instalacji Ubuntu zaszyfrowanego przy użyciu LUKS. Nie ma jednak opcji wykonania zaszyfrowanej instalacji obok istniejących partycji w scenariuszu podwójnego rozruchu.

Jak mogę zainstalować Ubuntu zaszyfrowane obok innej partycji z dysku na żywo?


Patrząc na skrypt cryptroot, ta odrzucona edycja jest właściwie poprawna. Każda linia w conf.d / cryptroot jest traktowana tak samo, jak inny argument cryptopts. Czy można użyć instalatora bez odszyfrowanej partycji stanowiącej grupę woluminów? Próbowałem i wygląda na to, że nie pozwoli mi to używać bez partycji. W moim przypadku jest to dysk SSD z 3 partycjami: Linux / boot, Linux /, Windows, z funkcją wymiany i / home na dysku twardym, więc naprawdę nie ma potrzeby korzystania z LVM. Zgaduję, że musiałbym pozostać przy moim oryginalnym pomyśle, którym było użycie debootstrap z live CD.

Przydatny przewodnik: „ Jak skonfigurować instalację Szyfrowane Ubuntu? ”, Przez Gayan na HecticGeek.com - hecticgeek.com/2012/10/...
Gabriel Staples

Odpowiedzi:


88

Przede wszystkim, jeśli chcesz zainstalować Ubuntu zaszyfrowane na dysku twardym, zastępując istniejące partycje i systemy operacyjne, możesz to zrobić bezpośrednio z instalatora graficznego. Ten ręczny proces jest wymagany tylko w przypadku podwójnego uruchamiania.

Ta odpowiedź została przetestowana w systemie Ubuntu 13.04.

  1. Uruchom komputer z dysku DVD lub pamięci USB Ubuntu i wybierz „Wypróbuj Ubuntu”.

  2. Utwórz dwie partycje za pomocą GParted zawartej w dysku na żywo. Pierwsza partycja powinna być niesformatowana i powinna być wystarczająco duża do rootowania i zamiany, w moim przykładzie tak jest /dev/sda3. Druga partycja powinna mieć kilkaset megabajtów i być sformatowana w ext2 lub ext3, będzie niezaszyfrowana i zamontowana na /boot(w moim przykładzie jest to /dev/sda4).

    Na tym zrzucie ekranu mam istniejącą, niezaszyfrowaną instalację Ubuntu w dwóch partycjach: /dev/sda1i /dev/sda5podświetl w kółku po lewej stronie. Utworzyłem niesformatowaną partycję /dev/sda3i partycję ext3 /dev/sda4, przeznaczoną do szyfrowanej instalacji Ubuntu, wyróżnioną w kółku po prawej stronie:

    Zrzut ekranu z GPart

  3. Utwórz kontener LUKS za pomocą tych poleceń. Zamień /dev/sda3na niesformatowaną partycję utworzoną wcześniej i cryptcherriesna wybraną nazwę.

    sudo cryptsetup luksFormat /dev/sda3
    sudo cryptsetup luksOpen /dev/sda3 cryptcherries
    
  4. Ostrzeżenie : Zauważysz, że luksFormatkrok został zakończony bardzo szybko, ponieważ nie usuwa on bezpiecznie podstawowego urządzenia blokowego. O ile nie eksperymentujesz i nie przejmujesz się ochroną przed różnego rodzaju atakami kryminalistycznymi, bardzo ważne jest prawidłowe zainicjowanie nowego kontenera LUKS przed utworzeniem w nim systemów plików. Zapis zer do zmapowanego kontenera spowoduje zapisanie silnych danych losowych na leżącym poniżej urządzeniu blokowym. Może to chwilę potrwać, więc najlepiej użyć pvpolecenia do monitorowania postępu:

    ### 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
    

    lub jeśli wykonujesz instalację offline i nie możesz łatwo uzyskać pv:

    sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
    
  5. Wewnątrz zamontowanego kontenera LUKS utwórz wolumin fizyczny LVM, grupę woluminów i dwa woluminy logiczne. Pierwszy wolumin logiczny zostanie zamontowany w /, a drugi będzie używany jako swap. vgcherriesjest nazwą grupy woluminów lvcherriesrooti lvcherriesswapsą to nazwy woluminów logicznych, możesz wybrać własny.

    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. Utwórz systemy plików dla dwóch woluminów logicznych: (Możesz również wykonać ten krok bezpośrednio z instalatora).

    sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot
    sudo mkswap /dev/mapper/vgcherries-lvcherriesswap
    
  7. Bez ponownego uruchamiania , zainstaluj Ubuntu za pomocą graficznego instalatora (skrót znajduje się na pulpicie w Xubuntu 18.04), wybierając ręczne partycjonowanie. Przypisania /do /dev/mapper/vgcherries-lvcherriesrooti /bootz niezaszyfrowanym przegrody utworzonej w etapie 2 (w tym przykładzie /dev/sda4).

  8. Po zakończeniu instalatora graficznego wybierz opcję „kontynuuj testowanie” i otwórz terminal.

  9. Znajdź UUID partycji LUKS ( /dev/sda3w tym przypadku), będziesz go później potrzebować:

    $ sudo blkid /dev/sda3
    /dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
    
  10. Zamontuj odpowiednie urządzenia w odpowiednich lokalizacjach /mnti chroot w nim:

    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. Utwórz plik o nazwie /etc/crypttabw środowisku chrootowanym, aby zawierał ten wiersz, zastępując wartość UUID identyfikatorem UUID partycji LUKS i vgcherriesnazwą grupy woluminów:

    # <target name> <source device> <key file> <options>
    cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
    
  12. Uruchom następujące polecenie w środowisku chrootowanym:

    update-initramfs -k all -c
    
  13. Uruchom ponownie i uruchom zaszyfrowane Ubuntu. Powinieneś zostać poproszony o podanie hasła.

  14. Sprawdź, czy używasz zaszyfrowanej partycji /, uruchamiając 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. Sprawdź, czy używasz zaszyfrowanej partycji wymiany (a nie żadnych niezaszyfrowanych partycji wymiany z innych instalacji), uruchamiając to polecenie:

    $ swapon -s
    Filename                              Type      Size   Used Priority
    /dev/mapper/vgcherries-lvcherriesswap partition 630780 0    -1
    
  16. Sprawdź, czy możesz uruchomić komputer w trybie odzyskiwania, nie chcesz później dowiadywać się, że tryb odzyskiwania nie działa :)

  17. Zainstaluj wszelkie aktualizacje, które prawdopodobnie odbudują ramdysk i zaktualizuj konfigurację grub. Uruchom ponownie i przetestuj tryb normalny i tryb odzyskiwania.


3
Mogę zweryfikować, że w 15.04 można pominąć kroki 11, 13 i 14, i że w rzeczywistości może być konieczne pominięcie tych kroków (ponieważ w ten sposób uruchomienie aktualizacji-grub spowodowało utratę mojej partycji Windows).
process91

4
@ process91 Wygląda na to, że kroki zmieniły liczby. Teraz musisz zwolnić 12, 14 i 15.
Aleksandr Dubinsky

5
Świetny przewodnik Pracowałem po raz pierwszy dla systemu Windows 10 z funkcją BitLocker i Ubuntu 16.04, pomijając kroki 12, 14 i 15 tutaj. Zauważyłem kilka innych przeszkód, które mogą pomóc w wyjaśnieniu, w szczególności to, co wybierzesz dla partycji bootloadera (instaluje się na istniejącej partycji EFI, ale prawdopodobnie możesz po prostu wybrać dysk, na którym instalujesz Ubuntu, np. / dev / sda). Każdy, kto ma pełne uprawnienia redaktora, może skopiować i wkleić z mojego zapisu: stevenmaude.co.uk/posts/…
Steven Maude

5
@unhammer właśnie zredagował odpowiedź i usunął kilka kroków, dla tych, którzy czytają komentarze i się mylą.
Flimm

3
Autor usunął już stare kroki 12,14,15. Więc NIE pomijaj żadnych kroków. Działa z Ubuntu Mate 16.04.1.
user4955663

9

Możliwe jest utworzenie zaszyfrowanej konfiguracji podwójnego rozruchu przy użyciu tylko narzędzi GUI na Ubuntu LiveCD.

Wymagania wstępne

  • Pamięć USB z instalatorem Ubuntu 19.04.
  • Jeśli masz płytę główną EFI, upewnij się, że dysk korzysta z tabeli partycji GUID (GPT). Korzystanie z dysku MBR w tej metodzie wydaje się nie działać. Możesz przekonwertować MBR na GPT za pomocą narzędzia Linux ( gdisk), ale najpierw wykonaj kopię zapasową. Jeśli przekonwertujesz tabelę partycji, musisz później naprawić moduł ładujący Windows .

Windows

  • W pasku początkowym wpisz disk partitioni wybierz pierwszą opcję (otwieranie menedżera partycji dysku z ustawień).

  • Zmniejsz partycję podstawową do żądanego rozmiaru Ubuntu (właśnie użyłem domyślnego, dzieląc mój dysk 500 GB na 240 GB systemu operacyjnego Windows i 240 GB nieprzydzielonego miejsca).

BIOS

  • Wyłącz bezpieczny rozruch (jeśli masz blokadę bitów, będziesz musiał ponownie włączyć ją, aby bezpiecznie uruchamiać się w systemie Windows za każdym razem) - dla mnie jest to w porządku, ponieważ Ubu jest moim głównym systemem operacyjnym, po prostu użyj windoze do grania.

Ubuntu LiveCD

Wreszcie - uruchom do instalatora USB 19.04

  • Włącz Enterdomyślną opcję instalacji Ubuntu .

  • Po przejściu do ekranu z informacją Wymaż cały dysk i zawierającego kilka pól wyboru kliknij opcję Coś innego (partycjonowanie ręczne). W przeciwnym razie stracisz dane systemu Windows!

Gdy menedżer partycji dysku załaduje dysk, będziesz mieć dużą nieprzydzieloną przestrzeń. Kliknij i kliknij przycisk Dodaj , aby utworzyć partycje.

  • Najpierw utwórz /bootpartycję 500 MB (podstawowa, ext4).
  • Po drugie, z resztą miejsca stwórz zaszyfrowany wolumin. Spowoduje to utworzenie pojedynczej partycji LV. Zmień go, aby był wybraną /partycją główną .
  • Następnie reszta procesu instalacji będzie działać jak zwykle.

Podczas uruchamiania po raz pierwszy zaloguj się, otwórz terminal, uruchom sudo apt-get updatei sudo apt dist-upgradeuruchom ponownie i zaloguj się ponownie.

Plik wymiany 2 GB zostanie utworzony automatycznie. Jeśli zamiast tego chcesz mieć 8 GB, przeczytaj tę odpowiedź .


4
W maju 2019 r. Jest to preferowana odpowiedź (wydaje się, że działa od 2012 r.), Bez komplikacji wiersza poleceń. W partycjonowaniu po utworzeniu woluminu fizycznego do szyfrowania nie zobaczyłem nowego /dev/mapper/sdaX_crypt na górze listy . Ten przewodnik zawiera zrzuty ekranu i wizualizuje formatowanie partycji, może być pomocny: hecticgeek.com/2012/10/10
firepol

Dobra odpowiedź, @Falieson! Ale nie rozumiałem tego przez pierwsze 14 dni i 17 godzin badań, na które spojrzałem, więc myślę, że napiszę własną odpowiedź za pomocą zrzutów ekranu. Ten artykuł opublikowany przez @firepol ( hecticgeek.com/2012/10/… ) był SUPER pomocny i dopiero PO tym, jak odpowiedź na ten artykuł była dla mnie sensowna.
Gabriel Staples

Chciałbym również dodać następnym razem, gdy powinieneś wyjść z Windows Bitlocker i przejść na VeraCrypt. Jest darmowy i open source, bez żadnych kosztów i wydaje się działać świetnie z podwójnym uruchomieniem. Używa go moja partycja Windows, a także zewnętrzne dyski twarde i niektóre lokalne woluminy oparte na plikach. Oto świetny film wprowadzający do VeraCrypt: youtube.com/watch?v=C25VWAGl7Tw oraz strona pobierania: veracrypt.fr/en/Downloads.html . Jednak w przypadku opartego na systemie Linux szyfrowania LUKS na zewnętrznych dyskach ext4 używam dołączonego narzędzia Ubuntu Disks , które ma pole wyboru szyfrowania LUKS podczas formatowania.
Gabriel Staples

5

Po pierwsze, wskazuje, dlaczego tylko szyfrowanie partycji Linux może nie być dla Ciebie wystarczająco bezpieczne:

  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

Teraz wykonałem ten samouczek:

  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

W tej odpowiedzi przedstawiam krok po kroku (ze zdjęciami) instalację Linuksa Mint 19.1 XFCEi Ubuntu 18.04.2oba są w pełni zaszyfrowane na jednym dysku. Najpierw zainstalowany Ubuntu 14.04.2na /dev/sda5i nie tworzyć partycje swap, bo Linux Mint 19.1i Ubuntu 18.04.2nie używaj ich, to znaczy, używają plików wymiany.

Ubuntu 18.04.2 Bionic Beaver

Najpierw włóż Ubuntunośnik instalacyjny i ponownie uruchom komputer w Ubuntusesji na żywo, a następnie wybierz Try Ubuntui otwórz jeden terminal

  1. sudo su -
  2. fdisk /dev/sda, a następnie utwórz następujące partycje
    • wprowadź opis zdjęcia tutaj
  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(opcjonalnie, zamiast uruchamiać lvcreate -L10G -n ubuntu_root vgubuntu, możesz uruchomić to, lvcreate -l 100%FREE -n ubuntu_root vgubuntuaby wykorzystać całe wolne miejsce na dysku, zamiast tylko 10 GB)
    • wprowadź opis zdjęcia tutaj
  8. Nie zamykaj terminalu, otwórz instalator dystrybucji, wybierz Coś innego i zainstaluj go
    • /dev/sda1montowane jako /bootpartycja z ext2formatem
    • /dev/mapper/vgubuntu-ubuntu_rootzamontowany jak /w ext4formacie.
    • /dev/sda jako instalacja modułu ładującego rozruch
    • Nie zaznaczaj nic innego
    • wprowadź opis zdjęcia tutaj
    • wprowadź opis zdjęcia tutaj
  9. Nie uruchamiaj ponownie, kliknij Kontynuuj korzystanie z systemu Linux i wybierz otwarty terminal
  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 (skopiuj UUID bez cudzysłowów i użyj go w następnym kroku)
  20. echo sda5_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • wprowadź opis zdjęcia tutaj
    • wprowadź opis zdjęcia tutaj
    • wprowadź opis zdjęcia tutaj
  21. Utwórz plik /etc/grub.d/40_custom
    • wprowadź opis zdjęcia tutaj
  22. Edytuj /etc/default/grubi ustaw
    • GRUB_TIMEOUT_STYLE=menu
    • GRUB_TIMEOUT=10
    • wprowadź opis zdjęcia tutaj
  23. update-initramfs -u
  24. update-grub
    • wprowadź opis zdjęcia tutaj
    • wprowadź opis zdjęcia tutaj
  25. exit
  26. reboot
  27. Po ponownym uruchomieniu komputera wybierz opcję Ubuntu, aby poprawnie poprosić o hasło do szyfrowania
    • wprowadź opis zdjęcia tutaj
  28. Po zalogowaniu uruchom
    • sudo apt-get update
    • sudo apt-get install gparted
  29. I otwierając gpartedto znajdziesz
    • wprowadź opis zdjęcia tutaj

Aby uzyskać bardziej szczegółowe instrukcje, przeczytaj oryginalny samouczek wskazany u góry tego pytania lub wyszukaj w Google informacje na temat korzystania z tych poleceń.


Linux Mint 19.1 Cynamon

W przypadku pozostałych instalacji systemu Linux rebooturuchom Ubuntukomputer za pomocą Mint 19.1instalatora (Live CD) i otwórz okno terminala

  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(opcjonalnie, zamiast uruchamiać lvcreate -L10G -n mint_root vgmint, możesz uruchomić to, lvcreate -l 100%FREE -n mint_root vgmintaby wykorzystać całe wolne miejsce na dysku, zamiast tylko 10 GB)
    • wprowadź opis zdjęcia tutaj
    • wprowadź opis zdjęcia tutaj
  7. Nie zamykaj terminalu, otwórz instalator dystrybucji, wybierz Coś innego i zainstaluj go
    • /dev/sda2montowane jako /bootpartycja z ext2formatem
    • /dev/mapper/vgmint-mint_rootzamontowany jak /w ext4formacie.
    • /dev/sda2jako instalacja modułu ładującego (nie wybierać /dev/sdajak wcześniej)
    • Nie zaznaczaj nic innego
    • wprowadź opis zdjęcia tutaj
    • wprowadź opis zdjęcia tutaj
  8. Nie uruchamiaj ponownie, kliknij Kontynuuj korzystanie z systemu Linux i wybierz otwarty terminal
  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 (skopiuj UUID bez cudzysłowów i użyj go w następnym kroku)
  19. echo sda6_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • wprowadź opis zdjęcia tutaj
    • wprowadź opis zdjęcia tutaj
    • wprowadź opis zdjęcia tutaj
  20. update-initramfs -u
  21. update-grub
    • wprowadź opis zdjęcia tutaj
    • wprowadź opis zdjęcia tutaj
  22. exit
  23. reboot
  24. Po ponownym uruchomieniu komputera wybierz opcję Linux Mint on /dev/sda2
    • wprowadź opis zdjęcia tutaj
  25. Następnie uruchomi się poprawnie Mint 19.1i poprosi o hasło do szyfrowania
    • wprowadź opis zdjęcia tutaj
  26. Po zalogowaniu uruchom
    • sudo apt-get update
    • sudo apt-get install gparted
  27. I otwierając gpartedto znajdziesz
    • wprowadź opis zdjęcia tutaj

Powiązane linki:

  1. Jak mogę zmienić rozmiar aktywnej partycji LVM?
  2. Jak mogę zmienić rozmiar partycji LVM? (tj .: objętość fizyczna)
  3. https://www.tecmint.com/extend-and-reduce-lvms-in-linux/
  4. Program ładujący Grub nie działa w systemie Windows 8
  5. Uruchamianie UEFI z szyfrowaniem / bootowaniem w systemie Ubuntu 14.04 LTS

1
Mam 1 dysk twardy na moim komputerze i miał jeden istniejący niezaszyfrowany Kubuntu 18.04. Zainstalowałem drugi zaszyfrowany Kubuntu 18.04 w pobliżu pierwszego niezaszyfrowanego Kubuntu na tej podstawie. Teraz oba działają dobrze na jednym dysku twardym. Dziękuję za szczegółową odpowiedź.
Ikrom

1
Część o Linux Mint powinna zostać usunięta z tej odpowiedzi. Ta część jest nie na temat, nie została zadana przez OP, sprawia, że ​​odpowiedź jest niepotrzebna długa i prowadzi do dalszych pytań poza tematem, takich jak ta .
mook765

-1 dla części związanej z mennicą.
user68186
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.