ブートパーティションのサイズ変更に関する一般的な質問に対する回答を見ました。私の場合、Ubuntu 12.04 Alternateをフルディスク暗号化でインストールしました。サイズ変更操作中にドライブをマウントできないため、メインパーティションが破損しませんか?
潜在的に再インストールを実行できるようにすべてをバックアップしましたが、暗号化の前にブートパーティションサイズを指定する方法がわかりません。
私はこの質問が古いことを知っていますが、小さなブートパーティションの問題を検索し、ディスク暗号化を使用すると出てきます。
Ubuntuインストーラーubiquity
は、パーティション化にpartman
を使用します。 「ディスク全体を使用」オプションが選択されている場合、パーティション構成は、ライブCDの/lib/partman/recipes-[Arch]/*
および/lib/partman/recipes/*
にあるパートマンレシピファイルから取得されます。インストーラーが使用するレシピを見つけて、/boot
パーティションの最大サイズを変更します。私のシステムでは、使用されるデフォルトのレシピは/lib/partman/recipes/30atomic
です。ターミナルを開きます。
ubuntu@ubuntu:~$ Sudo nano /lib/partman/recipes/30atomic
ブートパーティションのセクションに移動し、3番目の数字(以下の256)を必要なサイズに変更します(少なくとも512を推奨します)。
128 512 256 ext2
$defaultignore{ }
method{ format }
format{ }
use_filesystem{ }
filesystem{ ext2 }
mountpoint{ /boot }
このセクションでは、サイズが128Mから256Mの間で、優先度が512であり、このパーティションのサイズが他のパーティションに対してどれほど重要かを決定します。
で保存 Ctrl+O、 Enter。次に、インストーラーを起動し、通常どおりインストールします。
完全なディスク暗号化とは、小さな暗号化されていないブートパーティションと、暗号化用の物理ボリューム(dm-crypt)である別のパーティションがあることを意味します。それらの間にスペースがない場合、/ bootのためのより多くのスペースを作成するために、暗号化されたパーティションを非破壊的にサイズ変更することはできません。
私の答えを見てください here -これが役立つかもしれません。
はい、ブートのサイズ変更は可能ですが、非常に複雑です。すべてのデータをバックアップした後にのみ、これを試みます。間違えた場合、データ損失の可能性は非常に高くなります。ライブUSB/CDから起動した後にこれらの操作を実行する必要があるため、起動可能なUbuntuライブUSB/CDを用意する必要があります。
Linuxコミュニティがブートパーティションに必要なサイズに関する要件を変更したとき、私はしばらく前に難しい方法を見つけました。以前は、ブートには100〜200 MBで十分でしたが、コミュニティはそのサイズ要件を2倍にしました。これは、以前のガイドラインに従っていたユーザーに影響を与えました。
https://serverfault.com/questions/334663/what-is-the-recommended-size-for-a-linux-boot-partition
/ bootの現在の要件については、公式のガイドラインを参照してください。
https://help.ubuntu.com/community/DiskSpace
この記事の執筆時点では、ガイドラインでは/ bootを250MBから1GBのスペースに推奨しています。必要なスペースが最も大きい別のブートパーティションをお勧めします。ブートプロセス中は、ブートパーティションを暗号化解除する必要があります。起動プロセスでは、LUKS暗号化ディスクや暗号化されたHOMEディレクトリなど、さまざまな暗号化パーティションがマウントされますが、これらのアプローチには違いがあります。私の経験では、さまざまなUbuntuハードディスク暗号化オプションを使用すると、後で手動で介入する必要があるUbuntuをアップグレードするときに問題が発生する傾向があります。
一般的な概要については、よく書かれていると思われるこの記事を参照します。
「Debian/Ubuntu上の複数のパーティションを単一のパスフレーズで暗号化するLUKS」
パーティションを変更する必要があると感じたとき、私はこの投稿が非常に役立つことを発見しました。
「LUKS暗号化ファイルシステムのサイズを変更する方法」
https://ubuntuforums.org/showthread.php?t=726724
Gpartedは暗号化されたLUKSパーティションの移動をサポートしていないため、コマンドラインまたはGUIからgpartedコマンドを使用してこれを行うことはできません。 gpartedを使用してパーティションを作成し、ddを使用して、セクターごとのコピーを使用して暗号化されたパーティションを移動できることがわかりました。これには、セクターの観点からパーティションサイズを計算できることが含まれます。間違いを犯すことは、データの損失と再インストールを意味します。
私の場合、ブートパーティションのサイズを537MBから1GBに増やす必要があります。 Ubuntu 12.04から14.04へのアップグレードの一部としてこれが必要です。これにより、Ubuntuのアップグレードで/ bootに十分なスペースを見つけることができます。はい、autoremoveを削除して/ bootのスペースを解放できますが、一般的な要件が変更されたため、これらのガイドラインに合わせてブートを調整しました。これが私のパーティションレイアウトです。
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
パーティション#3にLUKS暗号化ディスクがあり、パーティション#1にブートがあるため、/ bootを拡張するのに十分なスペースがありませんでした。注Gpartedは暗号化されたパーティションであるため、パーティション#3を移動できません。これを修正するために、セクターの同じサイズの4番目のパーティションをディスクの最後に作成し、ddを使用してパーティション#3の内容をパーティション#4にコピーしました。ルートのサイズを必要な最小サイズに変更すると便利です。したがって、次の操作を実行して/ bootのサイズに対処しました。
このようにして、パーティション#3を削除し、gpartedを使用してパーティション#1および#2を移動および拡大できました。上記のガイドに目を通すことで、前進するための十分な洞察が得られます。ここには表示されていませんが、ルートパーティションを縮小する際に、同じパーティション上のスワップボリュームグループを削除し、最後に再作成しました。これらはすべて、Linux Live USBフラッシュドライブから起動しながら実行されます。以下は、上記のガイドでは簡単に入手できなかった私のメモの一部です。
Blockdevは、セクターのパーティションのサイズを表示するのに役立ちます。これは、セクターサイズを計算するときに役立ちます。
Sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712
Gpartedコマンド 'unit s'は、パーティションテーブルをセクターで表示します。パーティションのサイズ変更、削除、作成はすべてGpartedを使用して行われます。この方法では、すべての計算をセクターで行うことができます。セクター計算がどのように見えるかを確認したい場合、「ユニットコンパクト」はMB/GB形式に戻ります。
(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
Resize2fsコマンドには、最小サイズに変更するための気の利いたオプションがあります。また、このパートでスワップボリュームグループを削除しました。
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.
パーティションテーブルのサイズを変更すると、戻ってgpartedを更新します。 4096 * 2260992とblockdevを使用して、ここで計算を確認しました。これが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
パーティション#3のセクターカウントサイズは、元のリストよりも小さいことに注意してください。つまり、gpartedを使用して、DDコピーの前に#4パーティションを作成できます。縮小することで、そのコピーのためにより多くのディスク容量が解放されます。
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
DDコピー後、/ bootパーティションのサイズを拡大します。元の#3パーティションを削除してから、拡大した#1および#2パーティションの後に新しいセクターの場所でパーティション#3を再作成します。繰り返しになりますが、blockdevはセクターサイズの測定に使用されました。この#3パーティションは、元々#3より小さい#4パーティションと同じサイズとして作成しました。 DDを使用して、#4セクターを#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
コピー後、#4パーティションを削除し、#3パーティションのサイズを拡張します。私の場合、私は開始時のサイズに#3パーティションに復元しました。これを行うのに十分なスペースがありました。
(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
Gpartedがパーティションサイズを増やした場合、ファイルシステムは更新されません。ファイルシステムは暗号化されたパーティション内に含まれているため、この変更を行うには、ファイルシステムを開いてマウントする必要があります。これを修正するには、次のコマンドを使用します。これは、必要に応じてライブシステムで実行できます。
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.
結論として、Gpartedは彼の操作をネイティブにサポートしていませんが、パーティションを管理するための非常に便利なツールです。私の意見では、fdiskよりも少し便利です。 GpartedとDDの間で、パーティションを管理し、Ubuntuツールを使用して12.04 LTSから14.04 LTSにアップグレードすることができました。