私は新しいハードドライブを購入し、最新バージョンのLinux Mintをインストールしました。これで、古いディスクからファイルを転送したいのですが(最近のバックアップはありません)、いくつかの質問があります。
- 私の新しい内部システムと外部ドライブにLVM名が競合しています(
mint-vg
Linux Mintで使用されています)。 - ディスク自体が暗号化されています。
- 私のものも
/home
暗号化されています。 - 新しいドライブも暗号化されます。
私のデータをどのように回復できますか?
答え1
インストールドライバ
(SATAドライブ用のUSBエンクロージャを使用しています。PCにドライブをマウントすることもできます。)
Mintをインストールするときにディスクを暗号化すると、ドライブにパーティションスキーム(使用fdisk -l /dev/sdb
)が含まれます。
/dev/sdb1 -> Bootable, about 500M in size, Id 83, Type "Linux" /dev/sdb2 -> Not-bootable, rest of your disk's capacity, Id 5, Type "Extended" /dev/sdb5 -> Not-bootable, rest of your disk's capacity, Id 83, Type "Extended"
パーティションが見つかったら、次のコマンドを使用してマウントしてみてください。
sudo cryptsetup luksOpen /dev/sdb5 exthdd
実際にはexthdd
何でも構いませんが、下に存在してはいけませんので、dev/mapper
まず確認できます。
パーティションのパスワードを求めるプロンプトが表示されますので、準備してください。これを失うとどうしようもない…
やり直すと、などの内容がlsblk
表示されます。mint--vg-root
mint--vg-swap_1
exthdd
LVM名競合処理
デバイスのロックが解除されたら、cryptsetup luksOpen
次を実行します。
sudo lvscan
これはあなたに次のことを伝えます
inactive '/dev/mint-vg/root' [UVW GiB] inherit inactive '/dev/mint-vg/swap_1' [XYZ GiB] inherit ACTIVE '/dev/mint-vg/root' [ABC GiB] inherit ACTIVE '/dev/mint-vg/swap_1' [DEF GiB] inherit
ご覧のとおり、ディレクトリmint-vg
の下には2つのディレクトリがあります。これらのうちの/dev
1つだけがアクセスできます(私の場合は外付けハードドライブを指します)。
幸い、デフォルトのボリュームグループはID(VG UUID)で区別されます。これらの実行IDを取得できます。
sudo vgdisplay
これにより、次の内容が表示されます(出力の略語)。
--- Volume group ---
VG Name mint-vg
...
VG Size UVW GiB
...
VG UUID UVW-ID
--- Volume group ---
VG Name mint-vg
...
VG Size ABC GiB
...
VG UUID ABC-ID
私の場合、ハードディスクのサイズを見つけて違いを解決することができましたが、もちろん外付けドライブを取り付ける前に現在のVGのIDを確認できます。
ID(UVW-ID)があるので、次のようにVGの名前を変更できます。
sudo vgrename UVW-ID newvgname
あなたはそのような資格があります。
Volume group "NAME-OF-UVW" successfully renamed to newvgname
確認後、下に2つの項目をlsblk
表示する必要があります。sdb5
newvgname-swap_1
newvgname-root
ホームディレクトリのパスワードを復号化してマウントします。
今確認すると、/dev/mapper
2つの新しいノードを見つけることができます。
/dev/mapper/newvgname-root /dev/mapper/newvgname-swap_1
走る
sudo mount /dev/mapper/newvgname-root /your/mount/point
結果を確認して
ls /your/mount/point
- チャジャン、今デバイスにアクセスできるようになります。
次に、/home
ディレクトリに移動して隠しディレクトリを見つけます.ecryptfs
。その中にはディレクトリがあります。探しているユーザー名はuser
どこにありますか?user
今走る
sudo ecryptfs-recover-private /your/mount/point/home/.ecryptfs/user/.Private/
次のアカウントのパスワードを入力するように求められますuser
。
INFO: Found [/your/mount/point/.ecryptfs/user/.Private/].
Try to recover this directory? [Y/n]: Y
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] Y
INFO: Enter your LOGIN passphrase...
Passphrase: _
Inserted auth tok with sig [...] into the user session keyring
INFO: Success! Private data mounted at [/tmp/ecryptfs.ABCXYZ]
しかし、このパスワードを忘れてしまうと絶望的です。
/tmp/ecryptfs.ABCXYZ
これで、ホームディレクトリに移動してコンテンツを表示できます。
削除
すべてを逆順に削除します。