tl;drの場合は、一番下までスキップしてください。
ドライブの先頭にはMac OS Xがあり、ドライブの最後には3つのGNU / Linuxパーティションを持つデュアルブート設定があります。fdisk
ダンプを取得できる関連マシンはありませんが、元のディスクレイアウトの概要は次のとおりです。
/dev/sda1: EFI System Partition
/dev/sda2: Macintosh HD (main OS X partition)
/dev/sda3: Recovery HD (part of OS X's recovery system)
/dev/sda4: /
/dev/sda5: /home inside a LUKS container
/dev/sda6: swapspace inside a LUKS container
このシステムにGNU / Linuxを再インストールしており、その一部として/
。しかし、/boot
このパーティションを作成するには、Macintosh HDのサイズを変更し、Recovery HDをMacintosh HDの最後に戻しました。私もこの機会を利用して私のビジネスをより大きくしました/
。最終結果は次のディスクです。
/dev/sda1: EFI System Partition
/dev/sda2: Macintosh HD (main OS X partition) (smaller than before)
/dev/sda3: Recovery HD (part of OS X's recovery system)
/dev/sda4: /boot
/dev/sda5: / (larger than before, and now inside a LUKS container)
/dev/sda6: /home inside a LUKS container
/dev/sda7: swapspace inside a LUKS container
長すぎます。:問題は、構成順序のためにcryptsetup
中間に作成されたLUKSコンテナがあることです/dev/sda5
。途中でロック解除/インストール/復元をしようと探しても何もありません。暗号化コンテナをパーティションの先頭に移動するにはどうすればよいですか?これには2つの異なるステップが含まれます(実際には発見するディスクに保存し、その情報を使用して移動します。)わかりません。 Google 検索結果がありません。
ベストアンサー1
LUKSには独自のヘッダーがあり、次のことで可能なオフセットを見つけることができますgrep
。
# grep -a -b --only-matching 'LUKS' /dev/sda5
1832480940:LUKS
1959072314:LUKS
2019974297:LUKS
見つかった可能なオフセットごとにループデバイスを作成し、有効なLUKSデバイスであることを確認できます。
# losetup --find --show --offset 1832480940 --read-only /dev/sda5
/dev/loop3
# cryptsetup luksOpen /dev/loop3 luksloop3
...mount -o ro, ls, backup, umount...
# cryptsetup luksClose luksloop3
# losetup -d /dev/loop3
正しいオフセットが見つかったら、それをパーティションの先頭に移動できますdd
。これは危険、オフセットが間違っているか、操作がキャンセルされるとデータが失われます。したがって、何が起こっても最初にバックアップする必要があります。
# dd if=/dev/sda5 of=/dev/sda5 bs=1M iflag=skip_bytes skip=1832480940
動作していることを確認してください。
# cryptsetup luksOpen /dev/sda5 luks
それ以外の場合は、バックアップから復元します。