LVMボリュームマネージャーに含まれていないLUKS暗号化パーティションがあります。ハードドライブの最後にあり、サイズは250 GBですが、さらに50GBを追加したいと思います。
私は通常、そのような操作にGPartedを使用しますが、LUKSパーティションでは、移動すらできず、何もできません。
データを失うことなくこれを行うにはどうすればよいですか? (私はそれをバックアップする他の場所がありません)
これは私の(GUID)パーティションテーブルです:
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): D630E573-66C0-4902-A4A2-A9D56AE54544
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 262922206 sectors (125.4 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 411647 200.0 MiB EF00
2 411648 63326207 30.0 GiB 8300 Linux filesystem
3 189155328 273041407 40.0 GiB AF00
4 273041408 304498687 15.0 GiB 8300
5 336732160 337141759 200.0 MiB 0700
6 337141760 347627519 5.0 GiB 8200
8 452485120 976773134 250.0 GiB 8300 Linux filesystem
これはGPartedでどのように見えるかです:
ご覧のとおり、sda6とsda8の間の50GBをsda8に追加したいと思います。
/ dev/sda8を後方に移動して、暗号化されたボリュームとその中のファイルシステムを拡張できるようにするのを手伝ってもらえますか?
これは実際には思ったより難しいです。その理由は、ロックされている場合、LUKS
パーティションは、暗号化を解除するために、パーティションテーブルで参照されているディスク上の非常に特定の場所を参照する必要があるためです。その場所はLUKS
パーティションの左端にあり、暗号化するファイルシステムの開始の数バイト前だと思います。 LUKS
ファイルシステムは、LUKS
パーティションが暗号化されていない場合にのみ拡張できます。したがって、左に展開すると多くの問題が発生する可能性があるため、左に展開するよりも右に展開する方が簡単であることがわかります。
KDE Partition Manager 3.3.1
ブータブルUSBを使用して、KDE Neon
でこれを行うことができました。ただし、バージョンKDE Partition Manager
より前に導入された2.2.0
のバグに遭遇したことに注意してください。私のセットアップは、拡張(論理)パーティションの前にある暗号化されたLUKSパーティションで、拡張パーティションの前のハードディスクに40GBの空き領域がありました。拡張パーティションを左に移動してから、LUKS
パーティションを左に拡張パーティションの前に移動し、次にLUKS
パーティションの暗号化を解除し、LUKS
パーティションを右に展開する必要がありました。新しいデータを含め、最後にLUKS
パーティションを再度暗号化します。 KDE Partition Manager
の初期バージョン(1.x
からapt-get
で取得したUbuntu 16.04 LTS
)は、左側のパーティションを拡張できましたが、その変更を受け入れることに不安を感じていました。 KDE Partition Manager
は特にLUKS
をサポートしていなかったため、GRUB
がパーティションを見つけて、再起動後にロックを解除できるかどうかは完全にはわかりませんでした。そこで、KDE Partition Manager 2.2.0
ブート可能USBでUbuntu 16.04 LTS
をコンパイルしようとしましたが、アプリケーションは、バージョン1.x
と同じ方法で拡張パーティションを物理的に左にドラッグできませんでした。そのため、起動可能なUSBにUbuntu 18.04 LTS
デイリービルドをロードし、そのデバイスでKDE Partition Manager 3.3.1
を(KDE Core 3.3.0
とともに)コンパイルしました。同じ問題。しかし、どちらの場合も、Makeファイルを直接編集して回避しなければならないコンパイルの問題がいくつかありました。その理由は、ネイティブKDEライブラリを使用するUbuntuのフレーバーではなくUbuntuでコンパイルしていたためです。そこで、起動可能なUSBにNeonをインストールし、ソフトウェアダウンローダーを介して直接ダウンロードしてKDE Partition Manager 3.3.1
をインストールしましたが、同じバグが再び発生しました。拡張ボリュームを左に移動できませんでした。これで、gparted
はこれを問題なく実行できますが、LUKS
はサポートされていません。それで私は信仰を飛躍させ、次のことをしました。
Sudo apt-get install gparted
on KDE Neon
。gparted
を使用して拡張パーティションを40GB左に移動し、変更を保存しました。 (最初にスワップスペースをオフにする必要があったと思います。)これにより、拡張パーティション内のLUKS
ボリュームの左側に40GBの空きスペースが作成されました。次に、gparted
を終了しました。これに対する私の主な懸念は、gparted
がLUKSをサポートしていないため、位置合わせの理由でLUKS
ボリュームの前面が移動し、実際に開くことができなくなるのではないかと心配していました。そのため、編集を行う前にLUKS
パーティションが開始された正確なディスクセクターを注意深くメモし、それらのメモを使用する必要はありませんでした。KDE Partition Manager 3.3.1
で、(暗号化された)LUKS
ボリュームを左に移動しました。 LUKS
ボリュームを右クリックし、Resize/Move
を選択すると、GUIのアイコンを左にドラッグするだけだと思います。 LUKS
パーティションは移動の前後で赤くなり、常にロックされていることを示しているため、これを正しく行うことができます(したがって、パーティションテーブルは基本的にディスク上のスポットの新しい場所を記録していますLUKSは先に進み、ユーザーがログインしたときに暗号化を解除します)。それから私はApply changes
をクリックして待ちました。KDE Partition Manager 3.3.1
で、LUKS
ボリュームを右クリックし、Unencrypt
(おそらくopen
)を選択して、パスワードを入力しました。次に、同じパーティションを右クリックし、Resize/Move...
をクリックしました。次に、パーティションの右端を右にドラッグして、40GBの空き領域を囲みました。次に、もう一度Apply changes
をクリックしました。LUKS
パーティションを右クリックし、再度暗号化しました。アイコンが水色から赤に戻りました。KDE Partition Manager
を終了し、パーティションを作成したばかりのプライマリハードドライブを使用してシャットダウンして再起動しました。ドライブの暗号化を解除して、問題なくログインできました。ふぅ!この本当に便利なアプリケーションを維持してくれたAndriusStikonasに感謝します。前回LUKSパーティションを移動したときは、使用していた これらの手順 そしてそれは悪夢でした。
CLIからKDE Partition Manager
を使用して実行すると、コンソールに出力されるSudo partitionmanager
からの出力は次のとおりです。
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Loaded backend plugin: "pmlibpartedbackendplugin"
"Using backend plugin: pmlibpartedbackendplugin (1)"
"Scanning devices..."
"Device found: ATA ST500LM021-1KJ15"
blkid: unknown file system type "" on "/dev/sda4"
"Partition ‘/dev/sda4’ is not properly aligned (last sector: 976773167, modulo: 48)."
"Device found: USB DISK 2.0"
getting smart status failed for "/dev/sdb" : Operation not supported
"Partition ‘/dev/sdb2’ is not properly aligned (first sector: 404, modulo: 404)."
"Partition ‘/dev/sdb2’ is not properly aligned (last sector: 5139, modulo: 1044)."
"Scan finished."
"Add operation: Move partition ‘/dev/sda8’ to the left by 40.50 GiB"
"Applying operations..."
"Using backend plugin: pmlibpartedbackendplugin (1)"
"Scanning devices..."
"Device found: ATA ST500LM021-1KJ15"
"Partition ‘/dev/sda4’ is not properly aligned (last sector: 976773167, modulo: 48)."
"Device found: USB DISK 2.0"
getting smart status failed for "/dev/sdb" : Operation not supported
"Partition ‘/dev/sdb2’ is not properly aligned (first sector: 404, modulo: 404)."
"Partition ‘/dev/sdb2’ is not properly aligned (last sector: 5139, modulo: 1044)."
"Scan finished."
"Add operation: Grow partition ‘/dev/sda8’ from 101.77 GiB to 142.26 GiB"
"Applying operations..."
"Using backend plugin: pmlibpartedbackendplugin (1)"
"Scanning devices..."
"Device found: ATA ST500LM021-1KJ15"
"Partition ‘/dev/sda4’ is not properly aligned (last sector: 976773167, modulo: 48)."
"Device found: USB DISK 2.0"
getting smart status failed for "/dev/sdb" : Operation not supported
"Partition ‘/dev/sdb2’ is not properly aligned (first sector: 404, modulo: 404)."
"Partition ‘/dev/sdb2’ is not properly aligned (last sector: 5139, modulo: 1044)."
"Scan finished."
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
kdeinit5: preparing to launch '/usr/lib/x86_64-linux-gnu/libexec/kf5/klauncher'
kdeinit5: Launched KLauncher, pid = 28349, result = 0
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
kdeinit5: opened connection to :0
kdeinit5: Got EXEC_NEW '/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/file.so' from launcher.
kdeinit5: preparing to launch '/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/file.so'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
kdeinit5: Got EXEC_NEW '/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/file.so' from launcher.
kdeinit5: preparing to launch '/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/file.so'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
kdeinit5: PID 28354 terminated.
kdeinit5: PID 28353 terminated.
blkid: unknown file system type "" on "/dev/sda4"
という行を参照してください。 /dev/sda4
は私の拡張パーティションであり、blkid
プロセスからのこのNULL応答がバグの原因である可能性があります。しかし、私は本当に知りません。とにかく、それがあなたを助けることを願っています。
KDE Partition Manager2.2.0以降を使用してください。 LUKSパーティションの移動、作成、さらにはサイズ変更もサポートしています。
編集:KPMの使用:基本的にGUIは自明であり、GPartedに似たパーティションマップを表示します(元の質問の画像を参照)。次に、移動ボタンをクリックするだけで、LUKSパーティションを移動できます。 LUKSパーティションのサイズを変更するには、最初にロックを解除する必要があります。KDEPartitionManagerは内部ファイルシステムのサイズを変更する必要があるため、LUKScryptがロックされている間はサイズを変更できません。したがって、2つのステップでそれを行う必要があります。最初に、ロックされたLUKパーティションを移動してから、ロックを解除/サイズ変更します。