パーティションの半分ほど/boot
で、コアが1つしかない場合はアップグレードできません。
他のパーティションが暗号化されている場合、サイズ変更は困難です。
解決策:/boot
暗号化されたパーティションに移動します。
背景ストーリー:Linux Mint 17を20にアップグレードすると、最新のカーネルはインストールされません。これが私のジレンマです。パーティションのサイズ変更について多くの記事が書かれています。パーティションを暗号化すると恐怖感を感じることができます!幸いなことに、代替案があります。
システムを「起動できない」ようにした後、いくつかのガイドラインを提供することにしました(私の答えは下に表示されます。)、他の人も参加してください。
答え1
信用はかなりの部分に属するギヨムムランルージュ、私は単純化しています。スーパーユーザーに質問が繰り返し表示され、ルートシェルでコマンドをsu
実行することをお勧めします(またはsudo
必要に応じてコマンドを実行し続けます)。
暗号化されたパーティション:/dev/sda5
リストパーティショニングを実行してくださいfdisk -l
。たとえば、次のようになります。
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 499711 497664 243M 83 Linux
/dev/sda2 501758 500117503 499615746 238.2G 5 Extended
/dev/sda5 501760 500117503 499615744 238.2G 83 Linux
私の暗号化されたパーティションはです/dev/sda5
。あなたのパーティションは異なる場合があります(/dev/sda5
したがって交換する必要があります)。
前提条件:LUKS1
cryptsetup luksDump /dev/sda5
コマンド出力を確認し、LUKS1を使用していることを確認してください。
Version: 1
バージョン2の場合は、続行する前にダウングレードしてください(原稿を参照)。
前提条件:GRUB2
grub-install --version
バージョン2以降のコマンド出力を確認して、GRUB2を使用していることを確認してください。
前提条件:キーボードレイアウト
アメリカのキーボードレイアウトに切り替えるときは、パスワードが同じままであることを確認してください。パスワードを変更したり(同じまま)、米国のレイアウトを使用してパスワードを設定したり(推奨しない)その他の回避策については、元の記事を参照してください。
移動する/boot
/boot
移動中のデータの変更を防ぐには、読み取り専用で再マウントしてください。
mount -oremount,ro /boot
一時ディレクトリ(暗号化されたパーティション)に繰り返しコピーします。
cp -axT /boot /boot.tmp
/boot
(空)ディレクトリを削除して削除します。
umount /boot
rmdir /boot
一時ディレクトリを再配置します。
mv -T /boot.tmp /boot
修正する/etc/fstab
このコマンドは、cat /etc/fstab
次のような内容を出力します。
UUID=38e... /boot ext2 defaults
その行をコメントアウトする必要があります(私はそれに同意しますvim
)。
GRUB2で暗号化されたマウントを有効にする
GRUB_ENABLE_CRYPTODISK=y
に追加し、/etc/default/grub
GRUB構成ファイルを生成します。
update-grub
設置し、
grub-install /dev/sda
テストするのに良い時間かもしれません
これで、すべてが正常に機能しているかどうかをテストするのに最適な時間になります。再起動してください。パスワードを入力するように求められ(不便な時間が長くなった後)、initramfsプロンプトに入力する必要があります。次のコマンドを入力します。
cryptsetup luksOpen /dev/sda5 sda5_crypt
sda5_crypt
出力を最初の引数に置き換えますcat /etc/crypttab
(コマンドを実行せずにここに来た場合はを使用してください。sda5_crypt
後で修正できます)。次のコマンドを実行します。
exit
これでシステムを起動する必要があります。そうでない場合は、回復は比較的簡単でなければなりません。 Live USBから起動し、その行のコメントを外します/etc/fstab
。 (すぐに利用可能なLive USBは非常に便利です。)
起動性能の低下
GRUBは暗号化関連のCPU命令に最適化されていません。暗号化されたパーティションのロックを解除するのに以前より時間がかかります。
任意に選択できる:無差別攻撃に対する抵抗力を犠牲にしてパフォーマンスを調整することができます。 PBKDFはArgon2よりも簡単です。 PBKDFは複数の反復を要求して無差別代入攻撃速度を遅くしますが、Argon2は追加の変数を要求して攻撃速度を遅くするので、PBKDFの調整はより簡単です。コマンドが現在使用している反復回数を確認してくださいcryptsetup luksDump /dev/sda5
。たとえば、次のようになります。
Key Slot 0: ENABLED
Iterations: 1208036
パフォーマンスを約2倍にするには(無差別抵抗を半分に減らす)、次のコマンドを使用して反復回数を半分以上減らすことができます。cryptsetup luksChangeKey --pbkdf-force-iterations 500000 /dev/sda5
Enter passphrase to be changed:
Enter new passphrase:
Verify passphrase:
既存のパスワードを再利用できます。私が知っている限り、新しいキーが追加されました。上記のキーに加えて、cryptsetup luksDump /dev/sda5
コマンドは次のように出力します。
Key Slot 1: ENABLED
Iterations: 500000
PBKDF は、すべてのキースロットを順番に試して、速度を上げるためにコマンドを実行します。cryptsetup luksOpen --test-passphrase --verbose /dev/sda5
Enter passphrase for /dev/sda5:
Key slot 1 unlocked.
Command successful.
コマンドを使用すると、cat /etc/crypttab
次の内容が表示されます。
sda5_crypt UUID=66f... none luks,discard
,key-slot=1
最後に追加します(1
上記で見つけたものと一致するように変更)。すべてが正常に動作していることをテストし、最初のパラメータ以外のパラメータを使用している場合は、次の手順に進む前に再起動してthenとsda5_crypt
入力します。コマンドの実行cryptsetup luksOpen /dev/sda5 sda5_crypt
exit
update-initramfs -u -k all
initramfs イメージをビルドして更新します。 (厳密に言えば-k all
カーネルがあるので、このガイドラインに従うと仮定するとこれは必要ありません。)
修正する/etc/fstab
コマンドlsblk -o name,uuid
出力
NAME UUID
sda
├─sda1 38e...
├─sda2
└─sda5 66f...
└─sda5_crypt B6U...
├─mint--vg-root 54f...
└─mint--vg-swap_1 fe3...
システムを起動可能にするには、次の行を追加します。/etc/fstab
UUID=54f... / ext4 defaults 0 1
コマンドを実行しupdate-grub
てgrub-install /dev/sda
再起動します。
今、起動可能なシステムがあることを願っています。
パスワードを2回入力する必要がありますが、これは残念です。解決策があるようです(原稿を参照)。記事全体を一度に読みましたが、問題が発生して起動できません(知る前にcryptsetup luksOpen /dev/sda5 sda5_crypt
)。上記の説明から、痛みが発生する可能性を減らすことを願っています。頑張ってください。