アップデート後、RAIDアレイから起動できなくなりました。

アップデート後、RAIDアレイから起動できなくなりました。

最近システムを更新して再起動した後、次のメッセージが表示されます。

ERROR: device ‘UUID=...’ not found. Skipping fsck.
mount: /new_root: can’t find UUID=...
You are now being dropped into an emergency shell.

私のルートファイルシステムがRAIDアレイにあり、blkid緊急シェルで実行されている場合、そのアレイはリストされていないとマークされます。

私はそれをRAID1に持っていて/dev/sda2、通常はにインストールされます。一つがあり、一つに組み立てられます。そしてRAID0には通常1つあり、1つに組み立てられます。検索の開始中にエラーが発生しました。/dev/sdb2/bootUUID="b45.../dev/md1UUID="436.../dev/sda3/dev/sdb3/UUID="8dc.../dev/md2UUID="d0d...d0d...

ライブUSBで起動して実行しましたが、blkidアレイがそこにありました。だから配列、、、およびprocsysインストールしました。確認してみると、すべての行がコメントアウトされたので、次のように実行しました。devboot/etc/mdadm.confARRAY

# mdadm --detail --scan >> /mnt/etc/mdadm.conf

UUIDが配列に使用した2つのパーティション(b45...および)と一致することを確認しました。8dc...それからchroot参加しました。

その後、確認して/etc/mkinitcpio.confみると設定mdadm_udevに欠けていることがわかりましたHOOKS。だからその文章を読んだ。

そこで次のことを試した後、再起動しました。

# pacman -S linux
# mkinitcpio -p linux
# mkinitcpio -P

私が見ることができるすべてのフックについて次のようにmdadm_udev伝えます。

Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays

ただし、再起動すると同じエラーが発生し、blkid緊急シェルを使用すると、私のRAIDアレイがリストされていないと表示されます(ただし、それを構成するパーティションはそこにあり、UUIDはにあるものと一致しますmdadm.conf)。

raid0.default_layout=2また、同じ結果でカーネルパラメータを追加しました。以前は存在したことはありませんが、Wikiには必要だとマークされているようです。

Linuxパッケージは、linux-5.12.6.arch1-1エラーが発生する前に次のように通知します。

Starting version 248.3-2-arch

起動時にアレイの組み立てに失敗する原因は何ですか?

答え1

最初にこの問題の原因が何であるかはまだわかりません。しかし、解決策はとても簡単で、愚かな感じがします。

問題は私が実行したことです。

# mount /dev/md1 /mnt/boot

chrootmkinitcpiogrubの設定を確認したかったので、ingと実行前にライブUSBからインポートしました。だからinitramfs私が作成したイメージはmdadmRAIDアレイにあります。ロードされたコンテンツはinitramfsこれについて何も知らないため、配列はmdadm構築されません。

mkinitcpio解決策は、chrootアレイをマウントせずに実行することです/boot

関連情報