J'essaie de configurer un disque crypté complet avec une /boot
partition séparée et j'ai des problèmes.
J'écrirai la procédure que j'ai suivie lors d'une session Ubuntu 15.04 Live DVD.
Remplissez le disque avec des «données aléatoires»
sudo dd if=/dev/urandom of=/dev/sda1 bs=4096 #ok
Créer les partitions (en utilisant gparted)
- Créer une table de partition - gpt 2.
- / dev / sda1 ext2 1,5 Go #boot
- / dev / sda2 linux-swap 4GB #swap
- / dev / sda3 ext4 15 Go #root
- / dev / sda4 ext4 FREESPACE #home
- Créer une table de partition - gpt 2.
Chiffrer les volumes
cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda1 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda2 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda3 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 /dev/sda4
Cryptovolume ouvert
cryptsetup luksOpen /dev/sda1 boot cryptsetup luksOpen /dev/sda2 swap cryptsetup luksOpen /dev/sda3 root cryptsetup luksOpen /dev/sda4 home
Format
mkfs.ext2 /dev/mapper/boot mkswap /dev/mapper/swap mkfs.ext4 /dev/mapper/root mkfs.ext2 /dev/mapper/home
Installer (en utilisant Ubiquity)
- chargeur de démarrage sur / dev / sda
- / dev / sda1 - utiliser comme ext2 - point de montage / démarrage
- / dev / sda2 - utiliser comme ext2 - point de montage / démarrage
- / dev / sda3 - utiliser comme ext2 - point de montage / démarrage
- / dev / sda4 - utiliser comme ext2 - point de montage / démarrage
À la fin, le programme d'installation avertit que l'installation de grub a échoué (car le volume de démarrage est crypté), choisissez donc «continuer sans chargeur de démarrage».
Nettoyer le volume de démarrage
mkfs.ext2 /dev/mapper/boot
Monter le volume
mkdir /mnt/root mount /dev/mapper/root /mnt/root mount /dev/mapper/boot /mnt/root/boot
Mettre à jour fstab et crypttab
sudo blkid [/dev/sr0: UUID="2015-10-21-16-17-40-00" LABEL="Ubuntu 15.10 amd64" TYPE="iso9660" PTUUID="429817b4" PTTYPE="dos" /dev/sda1: UUID="...#1" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda2: UUID="...#2" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda3: UUID="...#3" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda4: UUID="...#4" TYPE="crypto_LUKS" PARTUUID="..." /dev/mapper/boot: UUID="..." TYPE="ext2" /dev/mapper/swap: UUID="..." TYPE="swap" /dev/mapper/root: UUID="..." TYPE="ext4" /dev/mapper/home: UUID="..." TYPE="ext4"]
fstab
#<file system> <mount point> <type> <options> <dump> <pass> UUID=#1 /boot ext2 defaults 0 2 UUID=#2 none swap sw 0 0 UUID=#3 / ext4 errors=remount-ro 0 1 UUID=#4 /home ext4 defaults 0 2
crypttab
boot UUID=#1 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool, time=3000 swap UUID=#2 luks,swap,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=3000 root UUID=#3 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=3000 home UUID=#4 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=5000
Mettre à jour l'image initramfs
cd /mnt sudo chroot root mount -t proc proc /proc mount -t sysfs sys /sys mount -t devpts devpts /dev/pts update-initramfs -u #ok
Configurer le chargeur de démarrage (
/etc/default/grub
)GRUB_ENABLE_CRYPTODISK=y GRUB_PRELOAD_MODULES="luks cryptodisk" GRUB_CMDLINE_LINUX="cryptdevice=UUID#3:root root=/dev/mapper/root resume=/dev/mapper/swap crypto=whirlpool:twofish-xts-plain64:512:0:"
créer un fichier de configuration
$ grub-mkconfig -o /boot/grub/grub.cfg [/usr/sbin/grub-probe: error: failed to get canonical path of `/dev/mapper/root'.]
essayez dehors
$ exit $ grub-mkconfig -o /boot/grub/grub.cfg [/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.]
Ai-je fait une erreur avant ça? Comment continuer à configurer et installer correctement grub?
la source
grub
+ votre titre. Je suppose que vous avez trouvé votre procédure de cryptage sur pavelkogan.com/2014/05/23/luks-full-disk-encryption (qui est la première recherche google sur ce sujet). sinon, cela peut aider. Bonne question! et bonne chance!/boot
comme point de montage pour tout. J'espère que c'est une faute de frappe. 2. Vous n'avez pas monté/dev
en chrootant, mais vous avez monté des devpts. OoRéponses:
Vous avez fait des erreurs, mais le principal problème est l'ubiquité et la bouffe. Fondamentalement, lorsque vous définissez
/
une partition chiffrée et que vous ne créez pas de partition distincte pour/boot
, grub affiche un message d'erreur comme:Un aperçu du processus
/boot
partition non chiffrée et un btrfs chiffré/
à l'aide du programme d'installation standard.chroot
apportons d'importantes modifications à la configuration, réinstallez grub dans la partition système EFI et recréons initrd.Les étapes détaillées
sudo apt update && sudo apt upgrade
pour mettre à jour les composants du programme d'installationfdisk
,gparted
ou un autre outil pour créer 3 partitions:/boot
Préparez la partition chiffrée
Installez Ubuntu
/dev/sda1
tant queEFI System Partition
/dev/sda2
en ext2, formaté, avec point de montage de/boot
/dev/mapper/sda3_crypt
tant que btrfs avec point de montage de/
Copiez le contenu de
/boot
et faites unchroot
(Tout se passe maintenant comme
chroot
dans votre nouveau système.)Ajouter une ligne à
/etc/default/grub
Ajoutez une ligne à
/etc/crypttab
. Vous devrez d'abord exécutersudo blkid
pour trouver l'UUID de/dev/sda3
(NOT/dev/mapper/sda3_crypt
).Modifiez
/etc/fstab
et supprimez la ligne pour/boot
. Les autres entrées sont correctes.Installez grub sur la partition système EFI, générez un nouveau grub.cfg et préparez initrd.
Double vérification facultative: double vérification qui
/boot/efi/EFI/ubuntu/grub/grub.cfg
contient les lignes qui incluentinsmod luks
,cryptomount -u <UUID>
les entrées de démarrage correctes, etc. Et double vérification que votre initrd contient lecryptsetup
binaire. Si ces éléments manquent, c'est parce que grub-mkconfig et / ou update-initrd n'ont pas pu comprendre comment les volumes que vous avez montés ou spécifiés dans fstab sont liés au volume chiffré dans crypttab. (Il y a beaucoup de configuration automatique magique qu'ils font.) Cela peut se produire si vous divergez de ce guide en utilisant, par exemple, ZFS ou en essayant de partitionner sda3_crypt.(Si vous utilisez ZFS au lieu de btrfs) grub-mkconfig et update-initrd ne reconnaîtront pas ZFS. La solution implique (pendant chroot, avant grub-mkconfig / update-initrd) édition
/usr/sbin/grub-mkconfig
ajouter|| true
à la ligne 139 (qui commence parGRUB_DEVICE=
), en ajoutantGRUB_DEVICE="/dev/mapper/sda3_crypt"
à/etc/default/grub
, la création du fichier/usr/share/initramfs-tools/conf-hooks.d/forcecryptsetup
avec le contenuexport CRYPTSETUP=y
et le fichier/etc/initramfs-tools/conf.d/cryptroot
avec le contenutarget=sda3_crypt,source=UUID=<UUID of sda3>,key=none,discard
. Tout cela s'ajoute aux étapes que vous suivriez si vous ne chiffriez pas la partition ZFS (comme l'installation des utilitaires de l'espace utilisateur zfs dans le système en direct et pendant le chroot et la suppression de la ligne qui monte/
dans fstab).Quittez chroot et redémarrez dans votre nouveau système
Vous devriez voir grub vous demander votre mot de passe. Ensuite, vous obtiendrez le menu de démarrage. Après avoir choisi Ubuntu, il vous sera demandé à nouveau votre mot de passe. Ensuite, vous serez dans votre système. En savoir plus sur la façon dont Ubuntu utilise BTRFS .
TODO : Créez un échange crypté (indice: cela implique la modification de crypttab, fstab et la réexécution
update-initrd
).Mises à jour
grub-mkconfig
commande.grub-install
commande personnalisée .Autres notes
la source
fstab
et necrypttab
sont pas corrects dans la question.crypttab
devrait pointer vers les périphériquesuuid
bruts/dev/sdxY
;fstab
devrait pointer vers les périphériques de cryptage ouverts à/dev/mapper/label
.grub-install
instruction, vous avez un--bootloader=ubuntu
paramètre. Je n'arrive pas à trouver cet argument dans les manuels d' Ubuntu ou de GNU . Pourriez-vous clarifier ce qu'il fait ou où il est documenté?