Arch Linuxシステムを修復してアップグレードしようとしています。元のインストールよりも新しいバージョンのLive USBから起動します。次に、sdaとchrootをそのマウントポイントにマウントします。 mkinitcpio -p linux
を実行すると、タイトルからエラーが発生します。
'/lib/modules/4.9.8-1-Arch' is not a valid kernel module directory
lib/modules/
には4.13.3-1-Archがあります。代わりにこのディレクトリを使用するようにmkinitcpio
に指示するにはどうすればよいですか?
問題は、Linuxカーネルを含むシステム全体をアップグレードしたときに、ブートパーティションを/boot
にマウントするのを忘れたことです。 pacman
とPGPキーのいくつかの問題に対処した後、ようやくpacman -S filesystem linux
を実行し、HDDから起動できるようになりました。 (この問題を修正するためにfilesystem
が必要かどうかはわかりませんが、他のソースで参照されていました。)
ちょうどfyi、私は同様の問題があり、pacman -S linux
。ファイルシステムが必要だったとは思いません。
同じ問題が発生し、_pacman -S linux
_で再インストールしても解決しませんでした。実際、_linux-aarch64
_を最初に更新するとエラーが発生しました。これにより、mkinitcpio
のトランザクション後フックがトリガーされます。
私の場合の問題は、_/etc/mkinitcpio.d/linux-aarch64.preset
_が更新によって置き換えられず、_.pacnew
_ファイルがインストールされたことでした。そのため、プリセットはまだ古いモジュールディレクトリを指しています。新しいプリセットを所定の位置に移動すると修正されました。
_# mv /etc/mkinitcpio.d/linux-aarch64.preset{.pacnew,}
# pacman -S linux-aarch64
_