アップデート後に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 にと がある場合、通常は にマウントされます。 と があり、で にアセンブルされます。起動時のエラーは を探しています。/dev/sdb2/bootUUID="b45.../dev/md1UUID="436.../dev/sda3/dev/sdb3/UUID="8dc.../dev/md2UUID="d0d...d0d...

ライブ USB を起動して実行するblkidと、アレイが存在しました。そこで、アレイ 、 、 、 をマウントしましたprocsys確認devbootたところ/etc/mdadm.conf、すべてのARRAY行がコメント アウトされていたので、次を実行しました。

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

UUID が配列 (b45...および8dc...) で使用している 2 つのパーティションと一致していることを確認しました。次に、chrootを入力しました。

その後確認したところ、設定に/etc/mkinitcpio.confその項目がありませんでした。そこで再度追加しました。mdadm_udevHOOKS

そこから、以下の各手順を試し、再起動しました。

# 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

chrootを実行して実行する前に、 から をmkinitcpioロードしました。これは、 grub の設定を確認したかったからです。 そのため、initramfsで作成したイメージはmdadmRAID アレイ上にありました。initramfsロードされた はアレイについて何も知らずmdadm、アレイを構築していませんでした。

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

関連情報