この問題を解決するために約10時間以上検索しましたが、まだ解決策が見つからず、ここにあります。
簡単に言えば、デュアルブートWindowsパーティション用のスペースを増やすために、ライブUSBブートでサイズを縮小してネイティブLinuxブートドライブ(luks暗号化を使用)を壊しました。
コンピュータを起動して正常にドライブを復号化するまではすべて問題ありませんでしたが、ディスクを復号化した後にログなしのinitramfsコンソール(initramfs)を見つけました。
いくつかのアプローチを試しましたが、調査を通じて推論できる内容は次のとおりです。
*私のドライブに有効なluksヘッダーがあります(パスワードを知っています)プロンプトは表示されません。
この問題を解決するのに役立ついくつかの結果をコマンドに書きます。私は数週間前にLinuxに移動したので、これは私にとって新しいものです:/
さて、ライブ実行時にこのコマンドを入力しています。私の主要なLinuxパーティションはsda3にあります。お役に立てば幸いです。
root@pop-os:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 2G 1 loop /rofs
sda 8:0 0 223.6G 0 disk
├─sda1 8:1 0 498M 0 part
├─sda2 8:2 0 4G 0 part
├─sda3 8:3 0 146.5G 0 part
│ └─luks-077248fb-b2bf-4ddb-9762-3c69af031c2c 253:0 0 146.5G 0 crypt
├─sda4 8:4 0 4G 0 part [SWAP]
└─sda5 8:5 0 67G 0 part /media/pop-os/c
sdb 8:16 0 1.8T 0 disk
├─sdb1 8:17 0 16M 0 part
└─sdb2 8:18 0 1.8T 0 part
sdc 8:32 1 14.5G 0 disk
├─sdc1 8:33 1 2.1G 0 part /cdrom
├─sdc2 8:34 1 4M 0 part
└─sdc3 8:35 1 12.3G 0 part /var/crash
root@pop-os:~# sudo blkid grep LUKS |
/dev/sda3: UUID="077248fb-b2bf-4ddb-9762-3c69af031c2c" TYPE="crypto_LUKS" PARTUUID="fa8127eb-222e-48ab-93ba-23fde42b29bf"
root@pop-os:~# sudo blkid |
/dev/mapper/luks-077248fb-b2bf-4ddb-9762-3c69af031c2c: UUID="FMjQHW-a72R-7Z4K-37pV-dioz-vvIb-QJsKhm" TYPE="LVM2_member"
root@pop-os:~# sudo fdisk -l /dev/sda3
Disk /dev/sda3: 146.5 GiB, 157286400000 bytes, 307200000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
root@pop-os:~# cryptsetup luksDump /dev/sda3
[luks header in full]
root@pop-os:~# sudo mke2fs -n /dev/mapper/luks-077248fb-b2bf-4ddb-9762-3c69af031c2c
mke2fs 1.45.5 (07-Jan-2020)
/dev/mapper/luks-077248fb-b2bf-4ddb-9762-3c69af031c2c contains a LVM2_member file system
Proceed anyway? (y,N) y
Creating filesystem with 38395904 4k blocks and 9601024 inodes
Filesystem UUID: 5eedce5b-bea9-405e-85ed-0316ea3ba13c
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
root@pop-os:~# file -s /dev/sda3
/dev/sda3: LUKS encrypted file, ver 2 [, , sha256] UUID: 077248fb-b2bf-4ddb-9762-3c69af031c2c
ライブブートファイルマネージャでパーティションを復号化して開こうとすると、次のものが返されます。
/media/pop-os/<8num>-<4num>-<4num>-<4num>-<12num>に/dev/dm-1をインストール中にエラーが発生しました./dev/Superblockエラーで無効"ファイルシステムの種類、無効なオプションが発生しました。
まだヘッダーがあるので回復が可能でなければなりません。時間をいただきありがとうございます。
答え1
実行mke2fs -n
すると、暗号化されたボリュームに/dev/mapper/luks-077248fb-b2bf-4ddb-9762-3c69af031c2c
ファイルシステムだけでなくLVM物理ボリュームも含まれていることがわかりました。したがって、ボリュームのロックを解除した後(必要に応じて手動で)、次のステップはcryptsetup luksOpen
LVMコンポーネントを検索し、正常な状態で有効にすることです。
音量を縮小してダメージを受けたため、検出できますが、自動的にはアクティブにならない場合があります。 LVMと関連のudev
自動化は通常、エラーなしでVGを自動的に有効にするためです。したがって、実際の環境では次のコマンドが必要です。
vgscan
vgchange -Pay --activationmode partial
これは、一部の部品が欠落しているように見えても、LVMボリュームグループ(ロック解除されたボリュームを含む)を見つけてアクティブにするようにシステムに指示します。これらのコマンドで診断、警告、および/またはエラーメッセージが表示されることがあります。
LVM物理ボリュームを含むLUKS暗号化ボリュームよりも大きいと主張してVGがアクティブ化を拒否した場合は、まずLUKSコンテナを縮小前のサイズに再拡張する必要があります。
これらのコマンドが成功した場合は、システムの構成方法に応じてマウントできるLVM論理ボリュームが少なくとも1つ以上必要です。lvs
および/またはコマンドを使用して確認してください。 LVM論理ボリュームをまたはlsblk
として指定できます。/dev/<VG name>/<LV name>
/dev/mapper/<VG name>-<LV name>
data
ライブブートファイラーのエラーメッセージによれば、LVMボリュームグループの名前がルートファイルシステムLVの名前であると推測されますroot
。
これが真であれば、次のステップはファイルシステムの種類を確認することです。そうでない場合がありますが、ext4
Linuxディストリビューションとインストール時に選択した内容によって異なるxfs
場合があります。btrfs
だから:
file -Ls /dev/mapper/data-root
ファイルシステムタイプがの場合、ext4
応答は次のようになります。
/dev/mapper/data-root: Linux rev 1.0 ext4 filesystem data, UUID=12345678-abcd-1234-abcd-123456789abcd, volume name [...]
ファイルシステムタイプがの場合、xfs
応答は次のようになります。
/dev/mapper/data-root: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
ext4
ファイルシステムの種類がそうext3
でない場合/ ext2
// systemtypeファミリに関連するe2fsck
他のファイルシステムツールext2
ext3
ext4
適用されません。これを使用しようとすると有害です。
コマンドがファイルシステムの種類を認識しない場合は、file
ファイルシステムが破損している可能性があります。あるいは、単にライブLinux環境が実際のインストールより古いか、より制限的であり、特定のファイルシステムタイプを完全にサポートしていないからです。 。
ファイルシステムの種類を正常に識別できる場合は、次のコマンドを使用してファイルシステムのマウントを試みることができます。
mount -o ro /dev/mapper/data-root /mnt #or whatever you want to use as a mount point
LVM論理ボリュームが複数ある場合は、すべて同じ方法でマウントする必要があります。