08 Apr 2020
Quando si esegue il programma di installazione di Ubuntu, c’è un’opzione per dual-bootare Ubuntu con un’installazione Windows esistente. C’è anche un’opzione per criptare la tua installazione di Ubuntu, ma solo se cancelli tutto e installi Ubuntu. Non c’è un modo automatico per installare Ubuntu insieme a Windows 10 con crittografia. E mentre ci sono molti tutorial per il dual-boot di Ubuntu e Windows, molti di essi sono obsoleti – spesso fanno riferimento a una tabella delle partizioni MBR – e quasi nessuno di essi sembra affrontare la crittografia della partizione di Ubuntu.
Il dual-boot con storage criptato non dovrebbe essere così difficile nel 2020.
-Io, mentre cerco di capire come fare questo.
In realtà, una volta capito, non è così difficile. La cosa difficile è che questo non è ben documentato da nessuna parte! Quindi spero di risolvere questo problema con questo post sul blog. Onestamente, se si conosce abbastanza Ubuntu per impostare l’adual-boot con Windows, è solo un po’ più difficile farlo con la crittografia.Ho preparato questo tutorial su un Dell Latitude e7450, e l’ho messo a punto quando l’ho provato sul mio Dell Precision 5510. Quindi dovrebbe funzionare con quasi tutte le modifiche sulla maggior parte dei sistemi Dell, e con solo piccole modifiche (in particolare sulla configurazione del BIOS) sulla maggior parte degli altri tipi di computer.
Per scrivere questa guida, ho raccolto informazioni da diverse fonti. Ecco alcuni dei riferimenti più utili che ho trovato:
- XPS 15 9560 Dual-Boot with Encryption Notes, di luispabon. Ho seguito queste note abbastanza da vicino, ma ho modificato alcune dimensioni e nomi delle partizioni sulla base di altre guide.
- XPS 15 9570 Dual-Boot with Encryption Notes, di mdziekon, su cui si basa quanto sopra.
- Full Disk Encryption HowTo 2019, dalla Ubuntu Community Wiki. Questa è una grande risorsa, ma si occupa di crittografia senza dual-booting.
- Manual Full System Encryption, dall’Ubuntu Community Wiki. Questo è più lungo, e non è focalizzato sul dual-boot, ma fornisce grandi dettagli sul modo in cui certe cose funzionano.
Vale la pena notare che questo metodo non cripta /boot
. Mentre ci sono valide ragioni per criptare /boot, l’installatore grafico non lo cripta quando si fa un’installazione grafica con LUKS. Come tale, sto seguendo quel precedente, e mantenendo la semplicità di una partizione /boot non criptata. Così, la guida che ho compilato qui sotto è solo il modo più semplice per avere un dual-boot con crittografia LUKS.
Perché la crittografia è importante
Ho iniziato a usare l’archiviazione criptata su tutti i miei computer personali 5 o 6 anni fa dopo aver notato che tutte le aziende per cui avevo lavorato lo richiedevano, e ne avevano una buona ragione. I computer portatili vengono persi e rubati di continuo. Sono oggetti di alto valore che sono piccoli e facili da trasportare. E quando un ladro prende il tuo portatile, ci sono tonnellate di informazioni preziose su di esso che possono usare o vendere. Anche se usi una password per accedere, è facile per un malintenzionato ottenere l’accesso ai tuoi dati se il tuo disco non è criptato – per esempio, usando una chiavetta USB live. E una volta che hanno quei dati, potrebbero avere accesso a conti online, estratti conto, email e tonnellate di altri dati. Per me, un disco rigido criptato non è più opzionale – è una necessità.
Una panoramica
Quindi cosa faremo? Questo tutorial vi aiuterà a configurare un sistema per il doppio avvio di Ubuntu 20.04 e Windows 10. (Non l’ho testato, ma dovrebbe funzionare con la maggior parte delle altre versioni moderne (~16.04+) di Ubuntu o Windows). Il sistema userà un disco rigido GPT con UEFI (il tuo BIOS deve supportare UEFI). La partizione Ubuntupartition sarà criptata con LUKS.1 La partizione Windows può opzionalmente essere criptata con BitLocker. Ho intenzione di mantenere l’installazione di Ubuntu il più vicino possibile a un’installazione “predefinita” – nessun trucco fantasioso come una partizione separata, ma dovrebbe essere piuttosto facile da aggiungere da soli se si vuole veramente.
Inizio con un disco rigido vuoto, installando sia Windows 10 che Ubuntu da zero. Se avete già installato Windows e volete mantenerlo, dovreste essere in grado di ridurre la vostra partizione di Windows invece di cancellare il vostro hard disk alla fine della fase 1, e saltare la fase 2 (installazione di Windows) interamente.Attenzione che quando vi riunirete a noi nella fase 3, i vostri numeri di partizione potrebbero essere diversi dai nostri, quindi dovreste eseguire sudo sgdisk --print /dev/sda
per assicurarvi di capire la vostra tabella delle partizioni.
Per darvi una panoramica generale di dove siamo diretti, ecco cosa faremo:
- Preparare il supporto di installazione e il computer
- Installare Windows 10
- Creare una partizione criptata per Ubuntu
- Installare Ubuntu
Ovviamente, come per ogni nuova installazione del sistema operativo, si dovrebbe fare un backup di tutti i dati importanti prima di procedere. Le istruzioni che seguono cancelleranno tutti i dati sul vostro disco rigido. Procedete a vostro rischio; non sono responsabile per qualsiasi danno o perdita di dati.
Fase 1: Preparare il supporto di installazione e il computer
Siccome stiamo installando sia Windows 10 che Ubuntu da zero, avremo bisogno di una chiavetta USB per ciascuno. Se non avete già un computer con Ubuntu o Windows, fare il supporto di installazione sarà un po’ più difficile – ma ci sono dei tutorial per questo e vi lascerò capire da soli.
- Creare una chiavetta USB Windows Installer. Il modo più semplice è usare lo strumento di creazione di Windows10 Media da un computer che ha già Windows.
- Creare una chiavetta USB Ubuntu 20.04. Il modo più semplice è scaricare l’ISO e usare lo Startup Disk Creator su un computer su cui gira già Ubuntu.
Grande! Abbiamo le nostre chiavette USB pronte a partire! Un’ultima cosa prima di iniziare – dobbiamo assicurarci che il nostro BIOS sia impostato correttamente. In particolare, vogliamo assicurarci di usare UEFI per avviare il nostro sistema operativo.2
- Assicuratevi che il vostro computer abbia l’ultimo BIOS disponibile. Questo è importante perché un BIOS non aggiornato può avere dei bug, e questi bug a volte influenzano cose come UEFI, sistemi operativi non Windows, o altri componenti che andremo a toccare.
- Modificare le impostazioni del BIOS. I seguenti nomi sono probabilmente specifici di DellBIOS, ma altri produttori avranno impostazioni simili.
- Sotto
General
eBoot Sequence
, assicuratevi che il vostroBootList Option
sia impostato suUEFI
. - Sotto
General
eAdvanced Boot Options
, ho disabilitatoLegacy Option ROMs
. È importante che entrambi i sistemi operativi si installino in modalità UEFI (probabilmente potete abilitarlo quando l’installazione è completa, se vi interessa). - Sotto
Security
TPM Security
deve essere abilitato se volete impostare facilmente BitLocker in Windows. - Ho disabilitato
Secure Boot
. Non sono sicuro che questo sia assolutamente necessario, e potete provare a lasciarlo attivo o a riattivarlo quando avete finito, se volete.
- Sotto
Ora che il nostro BIOS è configurato per UEFI, stiamo per impostare il nostro disco rigido.
Per questo tutorial, il vostro BIOS deve supportare UEFI!
La maggior parte dei computer moderni lo supporta, ma se il vostro non lo fa questo tutorial non funzionerà per voi. Dovresti considerare:
- Installare solo Linux con crittografia usando l’installatore grafico.
- O installare solo Windows con crittografia.
- O fare il dual-boot Linux e Windows senza crittografia usando l’installatore grafico di Ubuntu.
- O trovare un altro tutorial o capire come farlo con un disco MBR.
- Cancellare completamente il disco rigido e impostarlo per UEFI facendo quanto segue.3
- Avvia la tua chiavetta USB di Ubuntu e usa
Try without installing
. - Apri un terminale. Fatelo a schermo intero mentre ci siete.
- Scoprire come si chiama il vostro disco rigido primario. Probabilmente sarà
/dev/sda
o/dev/nvme0n1
. È importante che non sia/dev/sda1
o/dev/nvme0n1p1
– quelle sono partizioni del disco. Un modo per capire come si chiama il vostro è eseguirelsblk
e guardare la dimensione del disco. Per tutto il resto di questa guida, farò riferimento a/dev/sda
. Se il vostro non è/dev/sda
, sostituite/dev/sda
con il vostro (forse/dev/sdb
o/dev/nvme0n1
) per il resto di questa guida. -
Eseguite i seguenti comandi. Questo inizializzerà il disco come un disco GPT e creerà una partizione di sistema EFI 550M formattata come FAT32.
$ sudo su# sgdisk --zap-all /dev/sda# sgdisk --new=1:0:+550M /dev/sda# sgdisk --change-name=1:EFI /dev/sda# sgdisk --typecode=1:ef00 /dev/sda# mkfs.fat -F 32 /dev/sda1
- Avvia la tua chiavetta USB di Ubuntu e usa
- Eseguite il boot dalla vostra chiavetta USB di Windows Installer.
- Scegliete una
Custom (advanced)
installazione per arrivare allo strumento di partizionamento di Windows. - Create una nuova partizione. La dimensione di questa partizione dovrebbe essere la quantità di spazio su disco che volete usare per Windows. In questo esempio, ho fatto 80G poiché l’SSD del mio computer è relativamente piccolo. Se non siete sicuri, fate circa la metà del vostro harddisk.
- Windows vi avviserà che sta per creare una partizione di sistema extra.Questo è un bene.4
- Installate Windows sulla partizione che avete appena fatto. Non c’è bisogno di formattare alcuna partizione – il programma di installazione di Windows si prenderà cura di questo per voi.
- Quando l’installazione di Windows è finita, fate il login e abilitate BitLocker ondrive
C:
. Questo creerà automaticamente un’altra partizione sul disco (una partizione di ripristino di Windows) – che è il motivo per cui lo stiamo facendo prima di partizionare per Ubuntu. - Eseguite il programma di installazione di Ubuntu dal desktop, e scegliete
Something else
per configurare le partizioni.- Utilizzare la nostra partizione da ~768M come
ext4
con punto di mount/boot
- Usa
/dev/mapper/ubuntu--vg-root
comeext4
con punto di montaggio/
- Usa
/dev/mapper/ubuntu--vg-swap_1
come swap - Il dispositivo di bootloader dovrebbe essere
/dev/sda
(anche se sembra che questa impostazione potrebbe non essere effettivamente utilizzata in modalità UEFI)
- Utilizzare la nostra partizione da ~768M come
- Quando il programma di installazione è finito, premere
Continue Testing
. Dobbiamo fare ancora un paio di cose prima di riavviare. - Impostare
etc/crypttab
. Questo è ciò che vi permetterà di sbloccare il vostro disco criptato digitando la vostra passphrase all’avvio.- Trovare l’UUID della partizione che avete impostato con LUKS:
sudo blkid /dev/sda6
-
Entra in una chroot nel sistema appena installato:
# mount /dev/mapper/ubuntu--vg-root /target# mount /dev/sda5 /target/boot# for n in proc sys dev etc/resolv.conf; do mount --rbind /$n /target/$n; done # chroot /target # mount -a
-
Dentro la vostra chroot (cioè nello stesso terminale), impostate
/etc/crypttab
.Usa il tuo editor preferito per modificare questo file. Io userò vi.sudo vi /etc/crypttab
Salva il seguente contenuto del file, sostituendo l’UUID con l’UUID attuale che hai trovato sopra.# <target name> <source device> <key file> <options># options used:# luks - specifies that this is a LUKS encrypted device# tries=0 - allows to re-enter password unlimited number of times# discard - allows SSD TRIM command, WARNING: potential security risk (more: "man crypttab")# loud - display all warningssda6_crypt UUID=abcdefgh-1234-5678-9012-abcdefghijklm none luks,discard
-
Esegui il seguente per applicare le modifiche appena fatte. (Ancora nella chroot.)
# update-initramfs -k all -c
Fatto! Congratulazioni, hai creato un sistema dual-boot con Ubuntu 20.04 e Windows 10 con tutti i tuoi dati criptati! Ora che entrambe le installazioni sono finite, puoi riavviare il tuo computer.
Di default, il tuo computer si avvierà in grub, che può avviare Ubuntu. Anche se Windows è elencato in grub, l’avvio di Windows da grub con BitLocker abilitato non funzionerà perché il TPM del sistema rileverà un cambiamento nella sequenza di avvio.Per evitare questo problema, dovreste avviare Windows direttamente dal menu di avvio del BIOS del computer – solitamente accessibile premendo
F12
all’avvio.Come riferimento, ecco lo stato finale del mio disco rigido (con 2 volumi logici sulla partizione rootfs per
/
eswap
):$ sudo sgdisk --print /dev/sdaDisk /dev/sda: 500118192 sectors, 238.5 GiB Number Start (sector) End (sector) Size Code Name 1 2048 1128447 550.0 MiB EF00 EFI 2 1128448 1161215 16.0 MiB 0C01 Microsoft reserved ... 3 1161216 167825076 79.5 GiB 0700 Basic data partition 4 167825408 168900607 525.0 MiB 2700 5 168900608 170473471 768.0 MiB 8301 /boot 6 170473472 500118158 157.2 GiB 8301 rootfs
Spero che abbiate trovato utile questa guida, e spero che la crittografia completa del disco con Ubuntub diventi più popolare e meglio supportata come risultato!
-
Ubuntu supporta altri tipi di crittografia. Ma la crittografia della cartella home può causare molti problemi e incompatibilità. E le pagine di manuale di cryptsetup raccomandano LUKS rispetto a dm-crypt.
-
L’avvio in UEFI è importante perché questo processo funzioni. C’è una discussione approfondita sulle modalità di avvio sul wiki della comunità di Ubuntu.
-
Qui c’è una buona risorsa per informazioni su UEFI.
-
Secondo le pagine man di sgdisk, “Se Windows deve avviarsi da un disco GPT, si raccomanda una partizione di tipo Microsoft Reserved (sgdisk internal code 0x0C01). Questa partizione dovrebbe avere una dimensione di circa 128 MiB. Normalmente segue la partizione di sistema EFI e precede immediatamente le partizioni dati di Windows”.
-
C’è una buona discussione sulle modalità di sospensione sul wiki della comunità Ubuntu, evidenziando la necessità di spazio di swap.
-
- Trovare l’UUID della partizione che avete impostato con LUKS:
OK, la fase 1 è completa. Abbiamo il nostro supporto di installazione pronto a partire e il BIOS del computer e il disco rigido sono impostati correttamente. Ora, installeremo Windows.
Fase 2: installare Windows
In questa fase, installeremo Windows. Nota che quando facciamo questo, lasceremo dello spazio non allocato per installare Linux in seguito. Questo è un buon approccio perché il programma di installazione di Windows farà un po’ di confusione con le nostre partizioni, ed è più facile lasciarglielo fare prima di finalizzare le nostre partizioni Linux.
A questo punto, è possibile iniziare a utilizzare Windows. Ma eviterei di fare ancora troppe configurazioni o personalizzazioni in modo da non doverle rifare se qualcosa va storto. Se volete controllare due volte le vostre partizioni, questo è ciò che vi rimarrà dopo aver installato Windows e abilitato BitLocker:
ubuntu@ubuntu:~$ sudo sgdisk --print /dev/sdaDisk /dev/sda: 500118192 sectors, 238.5 GiBNumber Start (sector) End (sector) Size Code Name 1 2048 1128447 550.0 MiB EF00 EFI 2 1128448 1161215 16.0 MiB 0C01 Microsoft reserved ... 3 1161216 167825076 79.5 GiB 0700 Basic data partition 4 167825408 168900607 525.0 MiB 2700
Fase 3: Partizionare il disco per Ubuntu
Controllate due volte i numeri delle vostre partizioni!
Se hai seguito esattamente questa guida, i tuoi numeri di partizione sono probabilmente identici ai miei. Ma se avete un disco NVMe o se non avete cancellato completamente il vostro disco all’inizio, dovrete assicurarvi di usare i numeri di partizione corretti per il vostro disco quando eseguite questi comandi.
Questa è la fase più difficile, poiché è qui che dobbiamo impostare manualmente i nostri dischi cifrati per Ubuntu. Lo faremo funzionare in modo molto simile al modo in cui l’installatore di Ubuntu imposterebbe le cose se si crittografasse l’intero disco.
In tutta questa sezione, farò riferimento ai comandi sgdisk
. Potreste usare gdisk
se siete a vostro agio e volete un’interfaccia interattiva, o potreste usare GParted se preferite. I comandi sgdisk
sono più facili da consultare in un tutorial. E ancora, mi riferirò a /dev/sda
, ma c’è la possibilità che il vostro si chiami come /dev/nvme0n1
– continuate a sostituire quello che avete usato.
Se volete, potete eseguire sudo sgdisk --print /dev/sda
per esaminare il partitiontable prima di andare avanti. Vedrete più partizioni create dal Windowsinstaller, e dovreste vedere dello spazio vuoto dove stiamo per installare Ubuntu.
Ora, stiamo per criptare la nostra partizione dati Linux.
Ora, tutte le nostre partizioni sono preparate. Non fermatevi qui! Continuate alla fase successiva senza uscire dall’ambiente live di Ubuntu.
0 commenti