Redimensionnement de la partition de démarrage avec chiffrement complet du disque

12

J'ai vu les réponses à la question générale concernant le redimensionnement de la partition de démarrage. Dans mon cas, j'ai installé Ubuntu 12.04 Alternate avec un chiffrement complet du disque. Étant donné que le lecteur ne peut pas être monté pendant l'opération de redimensionnement, cela ne corrompra-t-il pas la partition principale?

J'ai tout sauvegardé pour que je puisse potentiellement faire une réinstallation, mais je ne sais pas comment spécifier la taille de la partition de démarrage avant le chiffrement.

Tom Stone
la source

Réponses:

3

Je sais que cette question est ancienne, mais se pose lors de la recherche du petit problème de partition de démarrage et de l'utilisation du chiffrement de disque.

Le programme d'installation d'Ubuntu ubiquityutilise partmanpour le partitionnement. Lorsque l'option "Utiliser l'intégralité du disque" est sélectionnée, les configurations de partition proviennent de fichiers de recettes partman dans /lib/partman/recipes-[arch]/*et /lib/partman/recipes/*sur le CD live. Recherchez la recette utilisée par le programme d'installation et modifiez la taille maximale de la /bootpartition. Sur mon système, la recette par défaut utilisée est /lib/partman/recipes/30atomic. Ouvrez le terminal:

ubuntu@ubuntu:~$ sudo nano /lib/partman/recipes/30atomic

Accédez à la section de la partition de démarrage et modifiez le troisième numéro (256 ci-dessous) à la taille souhaitée (je recommande au moins 512):

128 512 256 ext2
    $defaultignore{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext2 }
    mountpoint{ /boot }

Cette section indique que la taille va être comprise entre 128M et 256M avec une priorité de 512, ce qui détermine l'importance de la taille de cette partition par rapport aux autres.

Économisez avec Ctrl+ O, Enter. Ensuite, démarrez le programme d'installation, installez comme d'habitude.

mkayaalp
la source
2

Je suppose que par chiffrement complet du disque, vous voulez dire avoir une petite partition de démarrage non chiffrée et une autre partition qui est un volume physique pour le chiffrement (dm-crypt). S'il n'y a pas d'espace entre eux, vous ne pourrez pas redimensionner de manière non destructive la partition chiffrée pour créer plus d'espace pour / boot.

Jetez un oeil à ma réponse ici - cela pourrait aider.

Marcin Kaminski
la source
0

Oui, le redimensionnement du démarrage est possible mais c'est très compliqué. Je ne tenterais cela qu'après avoir sauvegardé TOUTES vos données. Si vous faites une erreur, le potentiel de perte de données est assez élevé. Vous voudrez avoir un Ubuntu live USB / CD amorçable prêt car vous devriez effectuer ces opérations après le démarrage sur un USB / CD live.

J'ai découvert la voie difficile il y a quelque temps lorsque la communauté Linux a modifié les exigences concernant la taille requise de la partition de démarrage. Auparavant, 100 à 200 Mo suffisaient pour le démarrage, mais la communauté a doublé ses exigences de taille. Cela a eu un impact sur les utilisateurs qui suivaient les directives précédentes.

/server/334663/what-is-the-recommended-size-for-a-linux-boot-partition

Pour les exigences actuelles pour / boot, je vous renvoie aux directives officielles.

https://help.ubuntu.com/community/DiskSpace

Au moment d'écrire ces lignes, les directives recommandent / démarrent de 250 Mo à 1 Go d'espace. Je recommanderais une partition de démarrage distincte avec le plus grand espace requis. La partition de démarrage doit être non chiffrée pendant le processus de démarrage. Le processus de démarrage montera différentes partitions cryptées en cours de route, par exemple des disques cryptés LUKS ou des répertoires HOME cryptés et il existe une différence entre ces approches. D'après mon expérience, l'utilisation des différentes options de chiffrement du disque dur Ubuntu a tendance à entraîner des problèmes lors de la mise à niveau d'Ubuntu plus tard, nécessitant une intervention manuelle.

Pour un aperçu général, je vous renvoie à cet article que je considère bien écrit.

'LUKS chiffrant plusieurs partitions sur Debian / Ubuntu avec une seule phrase secrète'

https://www.martineve.com/2012/11/02/luks-encrypting-multiple-partitions-on-debianubuntu-with-a-single-passphrase/

Lorsque vous trouvez la nécessité de changer vos partitions, j'ai trouvé ce message très utile.

«Comment redimensionner un système de fichiers crypté LUKS»

https://ubuntuforums.org/showthread.php?t=726724

Maintenant, car gparted ne prend pas en charge le déplacement des partitions LUKS chiffrées, cela ne peut pas être fait à l'aide des commandes gparted à partir de la ligne de commande ou de l'interface graphique. J'ai découvert que vous pouvez utiliser gparted pour créer des partitions, puis utiliser dd pour déplacer vos partitions chiffrées à l'aide de copies secteur par secteur. Cela implique de pouvoir calculer la taille des parties en termes de secteurs. Faire une erreur signifie une perte de données et une réinstallation.

Dans mon cas, je dois augmenter la taille de ma partition de démarrage de 537 Mo à 1 Go. J'ai besoin de cela dans le cadre de ma mise à niveau d'Ubuntu 12.04 à 14.04 pour que la mise à niveau d'Ubuntu puisse trouver suffisamment d'espace sur / boot. Oui, vous pouvez supprimer le retrait automatique pour libérer de l'espace dans / boot mais les exigences générales ont changé, donc j'agrandissais le boot pour l'adapter également à ces directives. Voici ma disposition de partition.

Partition Table: gpt

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   240GB  239GB

J'ai le disque crypté LUKS dans la partition # 3 et mon démarrage dans la partition # 1 donc il n'y avait pas assez d'espace pour étendre / boot. Remarque Gparted ne peut pas déplacer la partition # 3 car il s'agit d'une partition chiffrée. Pour résoudre ce problème, j'ai créé une quatrième partition à la fin de mon disque de la même taille dans les secteurs et utilisé dd pour copier le contenu de la partition # 3 vers la partition # 4. J'ai trouvé utile de redimensionner ma racine à la taille minimale nécessaire. Ainsi, j'ai effectué les opérations suivantes pour traiter la taille de mon / boot.

  1. Réduit le système de fichiers racine dans la partition # 3
  2. Redimensionné la partition # 3 (pour être plus petite)
  3. Création d'une partition # 4 de la même taille (à la fin du disque)
  4. DD utilisé pour copier les secteurs de la partition # 3 vers la partition # 4
  5. Suppression de la partition # 3 pour libérer de l'espace sur le disque
  6. Gparted utilisé pour redimensionner et déplacer les partitions # 1 et # 2
  7. Création d'une nouvelle partition # 3 de la même taille que la partition # 3 réduite (ou partition # 4)
  8. DD utilisé pour copier les secteurs de la partition # 4 vers la partition # 3
  9. Supprimer la partition # 4
  10. Augmentez la taille de la partition # 3 à la taille originale # 3
  11. Mise à jour du système de fichiers contenu dans la partition chiffrée n ° 3 vers l'espace restant

De cette façon, je pouvais supprimer la partition # 3 et utiliser gparted pour déplacer et agrandir les partitions # 1 et # 2. La lecture des guides ci-dessus devrait fournir suffisamment d'informations pour vous permettre d'avancer. Il ne s'affiche pas ici, mais en réduisant ma partition racine, j'ai supprimé un groupe de volumes de swap sur la même partition et l'ai recréé à la fin. Tout cela se fait pendant le démarrage sur un lecteur flash USB Linux Live. Voici quelques-unes de mes notes qui n'étaient pas facilement disponibles dans les guides ci-dessus.

J'ai trouvé blockdev utile pour afficher la taille des partitions dans les secteurs. Cela m'aide alors que je calculais la taille des secteurs.

sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712

La commande Gparted 'unit s' affichera votre table de partition en secteurs. Le dimensionnement, la suppression et la création de la partition sont entièrement effectués à l'aide de Gparted. De cette façon, vous pouvez simplement faire tout le calcul dans les secteurs. Le 'unité compacte' repassera au format MB / GB, si vous voulez voir à quoi ressemble la mathématique du secteur.

(parted) unit s
(parted) p                                                                
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start     End         Size        File system  Name  Flags
 1      2048s     1050623s    1048576s    fat32              boot
 2      1050624s  1550335s    499712s     ext2
 3      1550336s  456656896s  455106561s

La commande resize2fs a une option astucieuse pour redimensionner au minimum. De plus, j'ai supprimé mon groupe de volumes d'échange au cours de cette partie.

ubuntu@ubuntu:~$ sudo resize2fs -M -p /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Resizing the filesystem on /dev/ubuntu-vg/root to 2261211 (4k) blocks.
Begin pass 3 (max = 1600)
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/ubuntu-vg/root is now 2260992 blocks long.

Lorsque vous redimensionnez les tables de partition, revenez en arrière et mettez à jour gparted. Utilisez 4096 * 2260992 puis blockdev pour vérifier les mathématiques ici. Voici la commande gparted.

(parted) resizepart 3
End?  [224419843s]? 225970179s 
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes                                                               
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on  failed: No such device or address
(parted) p                                                                
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start     End         Size        File system  Name  Flags
 1      2048s     1050623s    1048576s    fat32              boot
 2      1050624s  1550335s    499712s     ext2
 3      1550336s  225970179s  224419844s

Notez que la taille du nombre de secteurs de la partition # 3 est plus petite que ma liste d'origine, c'est-à-dire que vous pouvez utiliser gparted pour créer la partition # 4 avant la copie DD. Le rétrécissement libère plus d'espace disque pour cette copie.

ubuntu@ubuntu:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=1550336 count=224419844 seek=244437218
224419844+0 records in
224419844+0 records out
114902960128 bytes (115 GB) copied, 2146.1 s, 53.5 MB/s

Après la copie DD, continuez et agrandissez la taille de votre partition / boot. Vous allez supprimer la partition # 3 d'origine, puis recréer la partition # 3 à un nouvel emplacement de secteur après les partitions # 1 et # 2 agrandies. Blockdev a de nouveau été utilisé pour mesurer la taille des secteurs. J'ai créé cette partition # 3 de la même taille que la partition # 4 qui est plus petite que la partition # 3 à l'origine. Utilisez DD pour copier les secteurs # 4 sur la partition # 3.

ubuntu@ubuntu:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=244437218 count=224419844 seek=9242624

Après la copie, supprimez la partition # 4 et augmentez la taille de la partition # 3. Dans mon cas, je viens de restaurer la partition # 3 à la taille qu'elle était quand j'ai commencé. J'avais assez d'espace pour le faire.

(parted) resizepart 3                                                     
End?  [464349185s]? 464349184s                                           
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? y                                                                 
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on  failed: No such device or address
(parted) p                                                                
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start     End         Size        File system  Name  Flags
 1      2048s     4192255s    4190208s    fat32              boot
 2      5146624s  9242623s    4096000s    ext2
 3      9242624s  464349184s  455106561s

Lorsque gparted a augmenté la taille de la partition, il ne met pas à jour le système de fichiers. Notez que le système de fichiers est contenu dans la partition chiffrée, il doit donc être ouvert et monté pour effectuer cette modification. Utilisez la commande suivante pour résoudre ce problème. Cela peut être fait sur le système en direct si nécessaire.

user@zagyg:/$ sudo resize2fs /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/ubuntu-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 13
The filesystem on /dev/ubuntu-vg/root is now 54266880 blocks long.

En conclusion, bien que Gparted ne supporte pas son fonctionnement nativement mais c'est un outil incroyablement utile pour gérer les partitions. À mon avis, est un peu plus utile que fdisk. Entre Gparted et DD, j'ai pu gérer mes partitions et ensuite utiliser les outils Ubuntu pour passer de 12.04 LTS à 14.04 LTS.

Doc
la source
La partition de démarrage ne doit pas être non chiffrée. Je n'ai pas de partition séparée / boot, elle fait juste partie de mes principaux rootfs cryptés. Grub peut démarrer dans une telle configuration très bien. II démarre à partir de ma partition EFI 1 MiB. Et bien que le redimensionnement / démarrage prenne à peu près ces étapes, il n'est pas nécessaire de les faire manuellement. Vous pouvez simplement utiliser KDE Partition Manager 3.0 pour effectuer toutes ces étapes. Par exemple, j'exécute certaines opérations ici sur mes rootfs cryptés depuis l'intérieur du système sans même utiliser le live cd youtube.com/watch?v=FKCQ7pJN1vY Bien que le live cd soit nécessaire pour déplacer la partition luks.
Andrius Štikonas