Ändern der Größe der Startpartition mit vollständiger Festplattenverschlüsselung

12

Ich habe die Antworten auf die allgemeine Frage zur Größenänderung der Boot-Partition gesehen. In meinem Fall habe ich Ubuntu 12.04 Alternate mit voller Festplattenverschlüsselung installiert. Kann die Hauptpartition dadurch nicht beschädigt werden, da das Laufwerk während des Größenänderungsvorgangs nicht bereitgestellt werden kann?

Ich habe alles gesichert, damit ich möglicherweise eine Neuinstallation durchführen kann, aber ich weiß nicht, wie ich die Startpartitionsgröße vor der Verschlüsselung angeben soll.

Tom Stone
quelle

Antworten:

3

Ich weiß, dass diese Frage alt ist, sie taucht jedoch auf, wenn nach dem Problem der kleinen Bootpartition gesucht und die Festplattenverschlüsselung verwendet wird.

Ubuntu Installer ubiquityverwendet partmanfür die Partitionierung. Wenn die Option "Gesamte Festplatte verwenden" ausgewählt ist, stammen die Partitionskonfigurationen aus Partman-Rezeptdateien auf /lib/partman/recipes-[arch]/*und /lib/partman/recipes/*von der Live-CD. Suchen Sie das vom Installationsprogramm verwendete Rezept und ändern Sie die maximale Größe für die /bootPartition. Auf meinem System wird standardmäßig das Rezept verwendet /lib/partman/recipes/30atomic. Öffnen Sie das Terminal:

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

Gehen Sie zum Abschnitt für die Startpartition und ändern Sie die dritte Nummer (256 unten) auf die gewünschte Größe (ich würde mindestens 512 empfehlen):

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

In diesem Abschnitt wird eine Größe zwischen 128 und 256 MB mit einer Priorität von 512 angegeben, die bestimmt, wie wichtig die Größe dieser Partition im Verhältnis zu anderen ist.

Speichern Sie es mit Ctrl+ O, Enter. Starten Sie dann das Installationsprogramm und installieren Sie es wie gewohnt.

mkayaalp
quelle
2

Ich gehe davon aus, dass Sie mit vollständiger Festplattenverschlüsselung eine kleine unverschlüsselte Startpartition und eine andere Partition haben, die ein physisches Volume für die Verschlüsselung ist (dm-crypt). Wenn dazwischen kein Speicherplatz vorhanden ist, können Sie die Größe der verschlüsselten Partition nicht zerstörungsfrei ändern, um mehr Speicherplatz für / boot zu schaffen.

Schauen Sie sich meine Antwort hier an - das könnte helfen.

Marcin Kaminski
quelle
0

Ja, das Ändern der Bootgröße ist möglich, aber sehr kompliziert. Ich würde dies nur versuchen, nachdem ich ALLE Ihre Daten gesichert habe. Wenn Sie einen Fehler machen, ist das Risiko eines Datenverlusts recht hoch. Sie sollten einige bootfähige Ubuntu Live-USB / CD bereithalten, da Sie diese Vorgänge nach dem Booten von einer Live-USB / CD ausführen sollten.

Ich habe es vor einiger Zeit herausgefunden, als die Linux-Community die Anforderungen bezüglich der erforderlichen Größe der Boot-Partition änderte. Zuvor waren 100-200 MB für den Start ausreichend, aber dann hat die Community ihre Größenanforderungen verdoppelt. Dies wirkte sich auf Benutzer aus, die die vorherigen Richtlinien befolgten.

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

Bezüglich der aktuellen Anforderungen für / boot verweise ich auf die offiziellen Richtlinien.

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

Zum Zeitpunkt des Schreibens dieser Richtlinie wird ein Speicherplatz von 250 MB bis 1 GB empfohlen / gebootet. Ich würde eine separate Boot-Partition mit dem größten benötigten Speicherplatz empfehlen. Die Startpartition muss während des Startvorgangs unverschlüsselt sein. Während des Startvorgangs werden verschiedene verschlüsselte Partitionen bereitgestellt, z. B. LUKS-verschlüsselte Festplatten oder verschlüsselte HOME-Verzeichnisse, und es gibt Unterschiede zwischen diesen Ansätzen. Nach meiner Erfahrung kann die Verwendung der verschiedenen Ubuntu-Festplattenverschlüsselungsoptionen zu Problemen führen, wenn Ubuntu später aktualisiert wird und manuelle Eingriffe erforderlich sind.

Um einen allgemeinen Überblick zu erhalten, verweise ich Sie auf diesen Artikel, den ich für gut geschrieben halte.

'LUKS, das mehrere Partitionen unter Debian / Ubuntu mit einer einzigen Passphrase verschlüsselt'

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

Wenn Sie feststellen, dass Sie Ihre Partitionen ändern müssen, fand ich diesen Beitrag sehr hilfreich.

'So ändern Sie die Größe eines LUKS-verschlüsselten Dateisystems'

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

Da gparted das Verschieben verschlüsselter LUKS-Partitionen nicht unterstützt, kann dies weder mit gparted-Befehlen über die Befehlszeile noch über die GUI erfolgen. Ich habe festgestellt, dass Sie gparted verwenden können, um Partitionen zu erstellen, und dann dd verwenden können, um Ihre verschlüsselten Partitionen unter Verwendung von sektorweisen Kopien zu verschieben. Dazu gehört es, Partitionsgrößen nach Sektoren berechnen zu können. Ein Fehler bedeutet Datenverlust und eine Neuinstallation.

In meinem Fall muss ich die Größe meiner Bootpartition von 537 MB auf 1 GB erhöhen. Ich benötige dies als Teil meines Upgrades von Ubuntu 12.04 auf 14.04, damit das Ubuntu-Upgrade genügend Speicherplatz auf / boot findet. Ja, Sie können die automatische Entfernung entfernen, um Speicherplatz in / boot freizugeben, aber die allgemeinen Anforderungen haben sich geändert, sodass ich den Start vergrößerte, um ihn auch an diese Richtlinien anzupassen. Hier war mein Partitionslayout.

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

Ich habe die LUKS-verschlüsselte Festplatte in Partition 3 und meinen Start in Partition 1, sodass nicht genügend Speicherplatz zum Erweitern / Starten vorhanden war. Hinweis Gparted kann Partition 3 nicht verschieben, da es sich um eine verschlüsselte Partition handelt. Um dies zu beheben, habe ich eine vierte Partition am Ende meiner Festplatte mit der gleichen Größe in Sektoren erstellt und dd verwendet, um den Inhalt von Partition 3 auf Partition 4 zu kopieren. Ich fand es nützlich, meine Wurzel auf die erforderliche Mindestgröße zu verkleinern. Daher habe ich die folgenden Vorgänge ausgeführt, um die Größe von my / boot zu ermitteln.

  1. Verkleinern Sie das Root-Dateisystem in Partition 3
  2. Größe der Partition 3 geändert (um kleiner zu sein)
  3. Erstellt eine Partition # 4 der gleichen Größe (am Ende der Festplatte)
  4. Verwendete DD, um die Sektoren der Partition Nr. 3 auf die Partition Nr. 4 zu kopieren
  5. Löschte die Partition Nr. 3, um Speicherplatz auf der Festplatte freizugeben
  6. Mit Gparted können Sie die Größe der Partitionen 1 und 2 ändern und verschieben
  7. Erstellt eine neue Partition Nr. 3 mit derselben Größe wie die verkleinerte Partition Nr. 3 (oder Partition Nr. 4).
  8. Verwendete DD, um die Sektoren der Partition Nr. 4 auf die Partition Nr. 3 zu kopieren
  9. Löschen Sie die Partition 4
  10. Erweitern Sie die Größe der Partition 3 auf die ursprüngliche Größe 3
  11. Das Dateisystem in der verschlüsselten Partition Nr. 3 wurde auf den verbleibenden Speicherplatz aktualisiert

Auf diese Weise konnte ich Partition 3 löschen und gparted zum Verschieben und Vergrößern der Partitionen 1 und 2 verwenden. Das Durchlesen der obigen Anleitungen sollte genügend Einblicke bieten, um sich vorwärts zu bewegen. Es wird hier nicht angezeigt, aber beim Verkleinern meiner Root-Partition habe ich eine Swap-Volume-Gruppe auf derselben Partition gelöscht und am Ende neu erstellt. All dies geschieht beim Booten auf einem Linux Live-USB-Flash-Laufwerk. Im Folgenden sind einige meiner Notizen aufgeführt, die in den obigen Handbüchern nicht ohne weiteres verfügbar waren.

Ich fand blockdev nützlich, um die Größe von Partitionen in Sektoren anzuzeigen. Dies hat mir bei der Berechnung der Sektorgrößen geholfen.

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

Der Gparted-Befehl 'unit s' zeigt Ihre Partitionstabelle in Sektoren an. Die gesamte Partitionsgröße, -löschung und -erstellung erfolgt mit Gparted. Auf diese Weise können Sie die gesamte Mathematik in Sektoren durchführen. Die 'Einheit kompakt' wechselt zurück in das MB / GB-Format, wenn Sie sehen möchten, wie die Sektor-Mathematik aussieht.

(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

Der Befehl resize2fs verfügt über eine raffinierte Option zum Ändern der Größe auf das Minimum. Außerdem habe ich während dieses Teils meine Swap-Volume-Gruppe gelöscht.

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.

Wenn Sie die Größe von Partitionstabellen ändern, gehen Sie zurück und aktualisieren Sie gparted. Benutzt 4096 * 2260992 und dann blockdev, um die Mathematik hier zu überprüfen. Hier ist der Befehl 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

Beachten Sie, dass die Sektoranzahl von Partition 3 kleiner ist als meine ursprüngliche Auflistung. Auf diese Weise können Sie gparted verwenden, um die Partition 4 vor der DD-Kopie zu erstellen. Durch das Verkleinern wird mehr Speicherplatz für diese Kopie freigegeben.

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

Vergrößern Sie nach der DD-Kopie die Größe Ihrer / boot-Partition. Sie löschen die ursprüngliche Partition 3 und erstellen dann die Partition 3 an einer neuen Sektorposition nach den vergrößerten Partitionen 1 und 2 neu. Wieder wurde blockdev verwendet, um Sektorgrößen zu messen. Ich habe diese Partition Nr. 3 mit der gleichen Größe wie die Partition Nr. 4 erstellt, die ursprünglich kleiner als die Partition Nr. 3 war. Verwenden Sie DD, um die Sektoren 4 auf Partition 3 zu kopieren.

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

Löschen Sie nach dem Kopieren die Partition Nr. 4 und vergrößern Sie die Partition Nr. 3. In meinem Fall habe ich gerade die Größe der Partition 3 wiederhergestellt, als ich angefangen habe. Ich hatte genug Platz dafür.

(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

Wenn gparted die Partitionsgröße erhöht, wird das Dateisystem nicht aktualisiert. Beachten Sie, dass das Dateisystem in der verschlüsselten Partition enthalten ist, sodass es geöffnet und gemountet werden muss, um diese Änderung vorzunehmen. Verwenden Sie den folgenden Befehl, um dieses Problem zu beheben. Dies kann bei Bedarf auf dem Live-System erfolgen.

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.

Zusammenfassend ist festzuhalten, dass Gparted seine Operation zwar nicht von Haus aus unterstützt, aber ein unglaublich nützliches Tool zum Verwalten von Partitionen ist. Meiner Meinung nach ist ein wenig nützlicher als fdisk. Zwischen Gparted und DD konnte ich meine Partitionen verwalten und dann mit den Ubuntu-Tools von 12.04 LTS auf 14.04 LTS aktualisieren.

Doc
quelle
Die Startpartition muss nicht unverschlüsselt sein. Ich habe keine separate / boot-Partition, sondern nur einen Teil meiner wichtigsten verschlüsselten rootfs. Grub kann in einer solchen Konfiguration gut booten. Ich boote von meiner 1 MiB EFI Partition. Und während das Ändern der Größe / des Startvorgangs ungefähr diese Schritte ausführt, müssen sie nicht manuell ausgeführt werden. Sie können einfach KDE Partition Manager 3.0 verwenden, um alle diese Schritte auszuführen. ZB führe ich hier einige Operationen an meinen verschlüsselten Rootfs aus dem System heraus durch, ohne die Live-CD youtube.com/watch?v=FKCQ7pJN1vY zu verwenden. Live-CDs sind jedoch erforderlich, um die luks-Partition zu verschieben.
Andrius Štikonas