Cambiar el tamaño de la partición de arranque con cifrado de disco completo

12

He visto las respuestas a la pregunta general sobre el cambio de tamaño de la partición de arranque. En mi caso, he instalado Ubuntu 12.04 Alternativo con cifrado de disco completo. Dado que la unidad no se puede montar durante la operación de cambio de tamaño, ¿no dañará la partición principal?

Tengo una copia de seguridad de todo, por lo que podría hacer una reinstalación, pero no sé cómo especificar el tamaño de la partición de arranque antes del cifrado.

Tom Stone
fuente

Respuestas:

3

Sé que esta pregunta es antigua, pero aparece cuando se busca el pequeño problema de partición de arranque y se usa el cifrado de disco.

El instalador de Ubuntu ubiquityusa partmanpara particionar. Cuando se selecciona la opción "Usar todo el disco", las configuraciones de partición provienen de los archivos de recetas de partman en /lib/partman/recipes-[arch]/*y /lib/partman/recipes/*en el CD en vivo. Encuentre la receta utilizada por el instalador y modifique el tamaño máximo para la /bootpartición. En mi sistema, la receta predeterminada utilizada es /lib/partman/recipes/30atomic. Abre la terminal:

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

Vaya a la sección para la partición de arranque y cambie el tercer número (256 a continuación) al tamaño que desee (recomendaría al menos 512):

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

Esta sección dice que el tamaño estará entre 128M y 256M con una prioridad de 512, lo que determina la importancia del tamaño de esta partición con respecto a los demás.

Guárdelo con Ctrl+ O, Enter. Luego inicie el instalador, instálelo como de costumbre.

mkayaalp
fuente
2

Supongo que por cifrado de disco completo, se refiere a tener una pequeña partición de arranque sin cifrar y otra partición que es un volumen físico para el cifrado (dm-crypt). Si no hay espacio entre ellos, no podrá cambiar el tamaño de forma no destructiva de la partición cifrada para crear más espacio para / boot.

Echa un vistazo a mi respuesta aquí , esto podría ayudar.

Marcin Kaminski
fuente
0

Sí, es posible cambiar el tamaño del arranque, pero es muy complicado. Solo intentaría esto después de hacer una copia de seguridad de TODOS sus datos. Si comete un error, el potencial de pérdida de datos es bastante alto. Querrá tener listo un USB / CD en vivo de Ubuntu de arranque, ya que debe realizar estas operaciones después de iniciar en un USB / CD en vivo.

Descubrí el camino difícil hace un tiempo cuando la comunidad de Linux cambió los requisitos con respecto al tamaño requerido de la partición de arranque. Anteriormente, 100-200 MB eran suficientes para el arranque, pero luego la comunidad duplicó sus requisitos de tamaño. Esto afectó a los usuarios que seguían las pautas anteriores.

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

Para conocer los requisitos actuales de / boot, lo remitiría a las pautas oficiales.

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

Al momento de escribir esto, las pautas recomiendan / iniciar desde 250 MB a 1 GB de espacio. Recomendaría una partición de arranque separada con el mayor espacio requerido. La partición de arranque debe estar sin cifrar durante el proceso de arranque. El proceso de arranque montará diferentes particiones cifradas en el camino, por ejemplo, discos cifrados LUKS o directorios HOME cifrados, y existen diferencias entre estos enfoques. En mi experiencia, el uso de las diversas opciones de cifrado del disco duro de Ubuntu tiende a generar problemas al actualizar Ubuntu más tarde, lo que requiere una intervención manual.

Para una descripción general, lo remitiré a este artículo que considero bien escrito.

'LUKS encripta múltiples particiones en Debian / Ubuntu con una sola frase de contraseña'

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

Cuando encuentre la necesidad de cambiar sus particiones, esta publicación me pareció muy útil.

'Cómo cambiar el tamaño de un sistema de archivos cifrados LUKS'

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

Ahora, debido a que gparted no admite el movimiento de particiones LUKS cifradas, esto no se puede hacer usando los comandos de gparted desde la línea de comandos ni la GUI. He descubierto que puede usar gparted para crear particiones y luego usar dd para mover sus particiones cifradas usando copias sector por sector. Esto implica poder calcular tamaños de partición en términos de sectores. Cometer un error significa pérdida de datos y una reinstalación.

En mi caso, necesito aumentar el tamaño de mi partición de arranque de 537 MB a 1 GB. Necesito esto como parte de mi actualización de Ubuntu 12.04 a 14.04 para que la actualización de Ubuntu pueda encontrar suficiente espacio en / boot. Sí, puede eliminar el movimiento automático para liberar espacio en / arranque, pero los requisitos generales habían cambiado, por lo que estaba ampliando el arranque para ajustarme también a esas pautas. Aquí estaba mi diseño de partición.

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

Tengo el disco cifrado LUKS en la partición n. ° 3 y mi arranque en la partición n. ° 1, por lo que no había suficiente espacio para extender / arrancar. Nota: Gparted no puede mover la partición n. ° 3, ya que es una partición cifrada. Para solucionar esto, creé una cuarta partición al final de mi disco del mismo tamaño en sectores y usé dd para copiar el contenido de la partición # 3 a la partición # 4. Me pareció útil cambiar el tamaño de mi raíz al tamaño mínimo necesario. Por lo tanto, realicé las siguientes operaciones para abordar el tamaño de mi / boot.

  1. Redujo el sistema de archivos raíz en la partición # 3
  2. Se redimensionó la partición n. ° 3 (para que sea más pequeña)
  3. Creó una partición # 4 del mismo tamaño (al final del disco)
  4. Se usó DD para copiar los sectores de la partición # 3 a la partición # 4
  5. Se eliminó la partición n. ° 3 para liberar espacio en el disco
  6. Usó Gparted para cambiar el tamaño y mover las particiones n. ° 1 y n. ° 2
  7. Creó una nueva partición n. ° 3 del mismo tamaño que la n. ° 3 reducida (o la partición n. ° 4)
  8. Se usó DD para copiar los sectores de la partición # 4 a la partición # 3
  9. Eliminar la partición # 4
  10. Expanda el tamaño de la partición n. ° 3 al tamaño original n. ° 3
  11. Se actualizó el sistema de archivos contenido en la partición cifrada n. ° 3 al espacio restante

De esta manera podría eliminar la partición # 3 y usar gparted para mover y agrandar las particiones # 1 y # 2. Leer las guías anteriores debería proporcionar suficiente información para navegar hacia adelante. No se muestra aquí, pero al reducir mi partición raíz, eliminé un grupo de volumen de intercambio en la misma partición y lo recreé al final. Todo esto se hace mientras se inicia en una unidad flash USB Live de Linux. Las siguientes son algunas de mis notas que no estaban disponibles en las guías anteriores.

Encontré blockdev útil para mostrar el tamaño de las particiones en sectores. Esto me ayudó cuando estaba calculando los tamaños de sector.

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

El comando Gparted 'unit s' mostrará su tabla de particiones en sectores. Todo el tamaño, la eliminación y la creación de la partición se realiza mediante Gparted. De esta manera, puedes hacer todas las matemáticas en sectores. La 'unidad compacta' volverá al formato MB / GB, si desea ver cómo es la matemática del sector.

(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

El comando resize2fs tiene una opción ingeniosa para cambiar el tamaño al Mínimo. Además, eliminé mi grupo de volumen de intercambio durante esta parte.

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.

Cuando cambie el tamaño de las tablas de particiones, regrese y actualice gparted. Usé 4096 * 2260992 y luego blockdev para verificar las matemáticas aquí. Aquí está el comando 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

Tenga en cuenta que el tamaño de conteo de sector de la partición # 3 es más pequeño que mi listado original, es decir, de esta manera puede usar gparted para crear la partición # 4 antes de la copia DD. La reducción libera más espacio en disco para esa copia.

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

Después de la copia DD, continúe y amplíe el tamaño de su partición / boot. Eliminará la partición # 3 original y luego volverá a crear la partición # 3 en una nueva ubicación del sector después de las particiones ampliadas # 1 y # 2. Nuevamente, blockdev se usó para medir tamaños de sector. Creé esta partición n. ° 3 con el mismo tamaño que la partición n. ° 4, que es más pequeña que la n. ° 3 original. Use DD para copiar los sectores # 4 a la partición # 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

Después de copiar, elimine la partición # 4 y expanda el tamaño de la partición # 3. En mi caso, acabo de restaurar a la partición # 3 al tamaño que tenía cuando comencé. Tenía suficiente espacio para hacer esto.

(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

Cuando gparted aumenta el tamaño de la partición, no actualiza el sistema de archivos. Tenga en cuenta que el sistema de archivos está contenido dentro de la partición cifrada, por lo que debe abrirse y montarse para realizar este cambio. Use el siguiente comando para arreglar esto. Esto se puede hacer en el sistema en vivo si es necesario.

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 conclusión, aunque Gparted no admite su operación de forma nativa, es una herramienta increíblemente útil para administrar particiones. En mi opinión es un poco más útil que fdisk. Entre Gparted y DD pude administrar mis particiones y luego usar las herramientas de Ubuntu para actualizar de 12.04 LTS a 14.04 LTS.

Doc
fuente
La partición de arranque no tiene que estar sin cifrar. No tengo una partición separada / de arranque, es solo parte de mis principales rootfs encriptados. Grub puede arrancar en esa configuración muy bien. II arranque desde mi partición 1 MiB EFI. Y aunque el cambio de tamaño / arranque requiere aproximadamente estos pasos, no hay necesidad de hacerlos manualmente. Simplemente puede usar KDE Partition Manager 3.0 para realizar todos estos pasos. Por ejemplo, realizo algunas operaciones aquí en mis rootfs encriptados desde el interior del sistema sin siquiera usar live cd youtube.com/watch?v=FKCQ7pJN1vY Aunque live cd es necesario para mover la partición de luks.
Andrius Štikonas