Come realizzare ciò con LVM e una singola partizione crittografata
avvertimento
Innanzitutto 128M è troppo piccolo per l'avvio! Io uso 1G. Altrimenti, ciò che è destinato a succedere è che potresti dimenticare di rimuovere i vecchi kernel e / boot si riempirà, e dovrai affrontare il dolore di provare a rimuovere i vecchi kernel dal sistema in modo da poter ottenere apt
o apt-get
lavorare ancora. Anche con 1G, assicurati di rimuovere di tanto in tanto i vecchi kernel.
I passaggi successivi non sono destinati agli utenti inesperti.
AGGIORNAMENTO: ho creato uno script che eseguirà le seguenti operazioni per te e altro! Tutto quello che devi fare è eseguirlo dal sistema operativo Live prima dell'installazione. Puoi trovare un articolo sul mio blog .
Preinstallazione dal sistema operativo live
Volete installare LUKS e LVM mentre partizionate manualmente! Ho provato questo su Ubuntu 16.04.2
Avvia Ubuntu da un sistema operativo live e seleziona l'opzione per provare Ubuntu senza installarlo. Segui i passaggi che ho indicato di seguito. Supponiamo che tu stia installando su / dev / sdb.
- Partiziona il disco con il tuo strumento preferito: ho usato fdisk per impostare il mio su una tabella delle partizioni msdos come segue:
- altre partizioni: sistemi operativi esistenti - non ci interessa
- sdb1: / boot (1G)
- sdb2: partizione LUKS (il resto del disco)
- Imposta LUKS
sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
- Sebbene non sia necessario, è una buona idea riempire la partizione LUKS di zeri in modo che la partizione, in uno stato crittografato, sia piena di dati casuali.
sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M
ATTENZIONE, questo potrebbe richiedere molto tempo!
- Imposta LVM su / dev / mapper / CryptDisk
sudo pvcreate /dev/mapper/CryptDisk
sudo vgcreate vg0 /dev/mapper/CryptDisk
sudo lvcreate -n swap -L 2G vg0
sudo lvcreate -n root -L 10G vg0
sudo lvcreate -n home -l +100%FREE vg0
Installazione da sistema operativo live
- Ora sei pronto per l'installazione. Quando arrivi alla parte "Tipo di installazione" dell'installazione, scegli l'opzione "Qualcos'altro". Quindi assegnare manualmente le partizioni / dev / mapper / vg0- * come si desidera avere configurato. Non dimenticare di impostare / dev / sdb1 come / boot. la partizione / boot non deve essere crittografata. Se lo è, non saremo in grado di avviarlo. Modificare il "Dispositivo per l'installazione del boot loader" in / dev / sdb e continuare con l'installazione.
- Al termine dell'installazione, non riavviare ! Scegli l'opzione "Continua test".
Configurazione post-installazione dal sistema operativo live
Questo bit è davvero importante se vuoi che il tuo sistema si avvii! Ho trascorso un bel po 'di tempo a ricercare questo per capire questi passaggi post-installazione. Nel mio caso, lo stavo effettivamente facendo perché volevo personalizzare la dimensione di / boot su / dev / sda, ma tutto quel lavoro dovrebbe essere portato anche alla tua situazione.
- In un terminale, digitare quanto segue e cercare l'UUID di / dev / sdb2. Prendi nota di tale UUID per dopo.
sudo blkid | grep LUKS
- La riga importante sulla mia macchina legge
/dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
Successivamente, riavviamo il sistema appena installato in modo da poter apportare ulteriori modifiche.
sudo mount /dev/vg0/root /mnt
sudo mount /dev/vg0/home /mnt/home
# questo probabilmente non è necessario
sudo mount /dev/sdb1 /mnt/boot
sudo mount --bind /dev /mnt/dev
# Non sono del tutto sicuro che ciò sia necessario
sudo mount --bind /run/lvm /mnt/run/lvm
- (Solo se stai usando EFI):
sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
Ora corri sudo chroot /mnt
per accedere al sistema installato
- Dal chroot, monta un altro paio di cose
mount -t proc proc /proc
mount -t sysfs sys /sys
mount -t devpts devpts /dev/pts
- Setup crypttab. Usando il tuo editor di testo preferito, crea il file / etc / crypttab e aggiungi la seguente riga, cambiando l'UUID con l'UUID del tuo disco.
CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
- Infine, ricostruire alcuni file di avvio.
update-initramfs -k all -c
update-grub
- Riavvia e il sistema dovrebbe richiedere una password da decrittografare all'avvio!
Un ringraziamento speciale va a Martin Eve , EGIDIO DOCILE e alla gente su blog.botux.fr per i tutorial che hanno pubblicato. Tirando pezzi dai loro post e facendo qualche piccolo problema in più, sono stato finalmente in grado di capirlo.
L'ho provato diverse volte e ho fallito più volte. La parte che ho dovuto elaborare da solo sulla base di messaggi di errore erasudo mount --bind /run/lvm /mnt/run/lvm