web-dev-qa-db-ja.com

フルディスク暗号化を無効にできますか?

最近Ubuntu 12.10をインストールしましたが、起動するにはパスフレーズが必要です(暗号化されたファイルシステムでインストールしました)。

標準の暗号化されていないファイルシステムに変更するには、再インストールする必要がありますか?

39
Zzealdor

Ubuntuが起動中(つまり、ログイン画面が表示される前にテキストコンソールで)暗号化パスフレーズを要求する場合、これはフルディスク暗号化方式が使用されたことを示します。 (これを行うには複数の方法がありますが、答えは一般的にします。)暗号化は、ファイルシステム自体ではなく、ファイルシステムと物理ハードドライブ間の追加のソフトウェアレイヤーによって処理されます。

これを元に戻す簡単な方法やツールはありません。 Linuxシステムがどのように機能するかについてある程度の知識があれば、それを行うことができます。ファイルシステム全体(またはすべてのファイル)を別のパーティション(十分な空き領域がある)または外部HDDに移動する必要があります。次に、暗号化されたコンテナを削除し、暗号化せずにファイルシステムを再作成します。最後に、再起動する前に、新しいファイルシステムがブートローダーとmount -aによって適切に認識されていることを確認してください。

可能であれば、この時間のかかるエラーが発生しやすい手順を避けるのが最善です。新しくインストールするだけです。新規ユーザーにとって、これは最も迅速で安全なオプションです。

PS:暗号化パスフレーズを空の文字列に変更できる可能性があります。次に、復号化にはEnterキーを押すだけです。たぶん、さらに進んで(今では役に立たない)パスフレーズプロンプトを抑制できます。ただし、これは暗号化を無効にしません。キーは簡単に推測できるため、暗号化は役に立ちませんが、データは暗号化されます。

22
Jan

以下は私の解決策でした。私はLinuxの専門家ではないため、最善の解決策ではない可能性があることに留意してください。とにかく良いものを見つけることができませんでした。

FDEインストールの暗号化されていないパーティションへの移行

NOTE:私が言うたびに、私は意味する

/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition

暗号化されたルートファイルシステムからのデータのコピー

ライブCDから起動します。 Ubuntu 13.10 32ビットデスクトップISOを使用しました。

パーティションをマウントします。

Sudo cryptsetup luksOpen /dev/sda5 crypt1

ソースデータを宛先パーティションにコピーし、dd PIDをpid変数に保存します。

Sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!

これは、USR1シグナルとddの結果ステータスで2番目のddプロセスごとにpingを実行します。

while Sudo kill -USR $pid; do sleep 1; done

DDの監視の代替

上記の「whileメソッド」が気に入らない場合は、watchを使用できます。別のターミナルウィンドウを開き、PIDを取得します。

pgrep -l '^dd$' | awk '{ print $1 }'

プロセスIDに置き換えます。

watch kill -USR1 <pid>

Dd端子に2秒ごとに出力が表示されます。

新しいルートファイルシステムとパーティションの構成

完了したら、暗号化されていないパーティションをマウントして、問題ないかどうかを確認できます。

Sudo mount /dev/sda3 /mnt

その後、パーティションをアンマウントします。

Sudo umount /dev/sda3

暗号化パーティションの解放:

Sudo cryptsetup luksClose /dev/sda5

Gpartedを実行します。 LUKSパーティション(拡張および論理の両方)を削除します。/dev/sda3のサイズを変更して左に移動します。スワップパーティションを作成します。

注:/ dev/sda3を左に移動するには時間がかかる場合があります。私にとっては、120GBのパーティションとSSDドライブで30分かかりました。 500GB以上のHDDを使用している場合は、数時間待機する準備をしてください。/dev/sda3を移動する代わりに、パーティションの前にスワップを作成することもできます。

スワップパーティションに新しいスワップファイルシステムを作成します。

Sudo mkswap /dev/sda2 

uUIDをどこかに保存します。

ルートパーティションのUUIDを取得します。

Sudo blkid /dev/sda3

Fstabを編集します。

Sudo nano /etc/fstab

Overlayfsおよびtmpfs行を削除またはコメントアウトします。

結果をblkidに置き換える行を追加します。

UUID=<uuid_root> /  ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0

ファイルを削除:

rm /etc/crypttab

「cryptsetup:evms_activateは使用できません」などのエラーを回避するために、initramfsを更新します。

Sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all

最終メモとトラブルシューティング

私にとってはうまくいきましたが、上記の手順を一歩ずつ実行してもうまくいかない可能性があります。 update-initramfsメソッドを理解する前に、カーネルを数回再インストールしていましたが、grubを変更していました。しかし、それはあなたのためのケースであってはなりません。上記の手順でデータが削除される可能性があるため、注意してBACKUPそれを進めます。

カーネルに問題がある場合(chrootedおよび/ bootがマウントされている場合):

uname -r
Sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic

もちろん、linux-image-3.X.Y-ZZをunameのカーネル日付に置き換えます。

またはGRUB(chrootの外側):

Sudo add-apt-repository ppa:yannubuntu/boot-repair && Sudo apt-get update
Sudo apt-get install -y boot-repair && (boot-repair &)

詳細: https://help.ubuntu.com/community/Boot-Repair

幸運を

20

暗号化を保持しても問題ない場合、パスフレーズプロンプトをオフにするには、「パスワード」などの簡単なパスワードを設定し、その簡単なパスワードをinitramfsにクリアテキストで保存するだけです。 LUKS暗号化パスワードを無効にする

基本的に、フックスクリプトを追加します。これにより、「キースクリプト」がinitramfsに追加されます。通常、これらのスクリプトは、USBスティックなどからBletoothを介してパスワードを取得するために使用されますが、この場合、単純なパスワードを印刷するだけです。

9
Richard A