web-dev-qa-db-ja.com

LVM / LUKS暗号化パーティションをハードドライブの最後に移動しますか?

別のパーティションを拡張するには、LUKS暗号化パーティションをハードドライブの最後に移動する必要があります。
これを行う方法を知っている人はいますか?

他のパーティション編集プログラムでこれを行うことは可能ですか?

GpartedはLUKS/LVMをサポートしていません enter image description here

編集:
これを修正する方法についての簡単なチュートリアルを作成しました: http://matthiaslee.com/moving-a-luks-encrypted-lvm-with-dd-and-sfdisk/

8
madmaze

最も簡単な方法は、ディスクの最後に新しいパーティションを作成し、古いパーティションの内容を新しいパーティションにコピーすることです。ディスクが本当に不利にパーティション化されているため、これは不可能です。 PCパーティションテーブルは、4つのプライマリパーティションのみを保持できます。このため、4番目のプライマリパーティションはディスクの最後にある必要があります。 sda4の後ろに別のパーティションを追加することはできないため、ディスクの最後にsda4を配置しないことは非常にばかげた考えでした。

したがって、唯一の方法は、sda4の開始と終了を手動で計算し、それを削除し、ディスクの最後に新しく作成して、コンテンツを新しく作成したものに移動することです。ただし、これは非常に危険な操作であるため、最初にハードディスクのフルディスクイメージを作成する必要があります。ディスクイメージを作成するには、KnoppixのようなレスキューCDを起動し、次のようにします。

dd if=/dev/sda of=/some/mountpoint/from/sdb bs=512

他のすべての手順もレスキューCDを使用して実行する必要があります。

バックアップ後、sfdisk -luSでハードディスクの形状を確認してください。出力には、各パーティションの開始と終了が表示されます。これは私のディスクの例です:

ディスク/ dev/sda:60801シリンダー、255ヘッド、63セクター/トラック
ユニット= 512バイトのセクター、0から数える
 
デバイスの起動開始終了#sectors Id System 
/dev/sda1 * 63 1959929 1959867 83 Linux 
/dev/sda2 1959930 3919859 1959930 82Linuxスワップ/Solaris
/dev/sda3 3919860 976768064 9728482055拡張
/dev/sda4 0-0 0 Empty 
/dev/sda5 3919923 19551104 15631182 83 Linux 
/dev/sda6 19551168 976768064 957216897 83 Linux 

たとえば、パーティション5はセクター3919923で始まり、15631182セクターが含まれています。各セクターには512バイトがあります。パーティションの開始セクターとサイズを書き留める必要があります。後で読めるように書き留めておいてください。 ;-)

その後、sda4を消去して、同じサイズのディスクの最後に新しいsda4を作成できます。

これで、次のコマンドを使用して、古いsda4の内容を新しいsda4に移動できます。

dd if=/dev/sda of=/dev/sda bs=512 skip=BEGIN_OLD_SDA4 count=SIZE_SDA4 seek=BEGIN_NEW_SDA4

書き留めたサイズを挿入する必要があります。

幸運を。

5
ceving