Linux luksパーティションが破損し、起動時にエラーメッセージなしでinitramfsを受け取りました。

Linux luksパーティションが破損し、起動時にエラーメッセージなしでinitramfsを受け取りました。

この問題を解決するために約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 luksOpenLVMコンポーネントを検索し、正常な状態で有効にすることです。

音量を縮小してダメージを受けたため、検出できますが、自動的にはアクティブにならない場合があります。 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

これが真であれば、次のステップはファイルシステムの種類を確認することです。そうでない場合がありますが、ext4Linuxディストリビューションとインストール時に選択した内容によって異なる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他のファイルシステムツールext2ext3ext4適用されません。これを使用しようとすると有害です。

コマンドがファイルシステムの種類を認識しない場合は、fileファイルシステムが破損している可能性があります。あるいは、単にライブLinux環境が実際のインストールより古いか、より制限的であり、特定のファイルシステムタイプを完全にサポートしていないからです。 。

ファイルシステムの種類を正常に識別できる場合は、次のコマンドを使用してファイルシステムのマウントを試みることができます。

mount -o ro /dev/mapper/data-root /mnt    #or whatever you want to use as a mount point

LVM論理ボリュームが複数ある場合は、すべて同じ方法でマウントする必要があります。

おすすめ記事