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.
Uruchom komputer z dysku DVD lub pamięci USB Ubuntu i wybierz „Wypróbuj Ubuntu”.
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/sda1
i /dev/sda5
podświetl w kółku po lewej stronie. Utworzyłem niesformatowaną partycję /dev/sda3
i partycję ext3 /dev/sda4
, przeznaczoną do szyfrowanej instalacji Ubuntu, wyróżnioną w kółku po prawej stronie:
Utwórz kontener LUKS za pomocą tych poleceń. Zamień /dev/sda3
na niesformatowaną partycję utworzoną wcześniej i cryptcherries
na wybraną nazwę.
sudo cryptsetup luksFormat /dev/sda3
sudo cryptsetup luksOpen /dev/sda3 cryptcherries
Ostrzeżenie : Zauważysz, że luksFormat
krok 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ć pv
polecenia 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
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. vgcherries
jest nazwą grupy woluminów lvcherriesroot
i lvcherriesswap
są 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
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
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-lvcherriesroot
i /boot
z niezaszyfrowanym przegrody utworzonej w etapie 2 (w tym przykładzie /dev/sda4
).
Po zakończeniu instalatora graficznego wybierz opcję „kontynuuj testowanie” i otwórz terminal.
Znajdź UUID partycji LUKS ( /dev/sda3
w tym przypadku), będziesz go później potrzebować:
$ sudo blkid /dev/sda3
/dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
Zamontuj odpowiednie urządzenia w odpowiednich lokalizacjach /mnt
i 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
Utwórz plik o nazwie /etc/crypttab
w środowisku chrootowanym, aby zawierał ten wiersz, zastępując wartość UUID identyfikatorem UUID partycji LUKS i vgcherries
nazwą grupy woluminów:
# <target name> <source device> <key file> <options>
cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
Uruchom następujące polecenie w środowisku chrootowanym:
update-initramfs -k all -c
Uruchom ponownie i uruchom zaszyfrowane Ubuntu. Powinieneś zostać poproszony o podanie hasła.
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
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
Sprawdź, czy możesz uruchomić komputer w trybie odzyskiwania, nie chcesz później dowiadywać się, że tryb odzyskiwania nie działa :)
Zainstaluj wszelkie aktualizacje, które prawdopodobnie odbudują ramdysk i zaktualizuj konfigurację grub. Uruchom ponownie i przetestuj tryb normalny i tryb odzyskiwania.