現象記述
コマンドの実行中またはシステム起動プロセス中に、VFS: Unable to mount root fs on unknown-block またはerror: file '/boot/initramfs-`uname -r`.img' not found などのエラーメッセージが表示されます。
考えられる原因
1. システムの起動に失敗し、VFS: Unable to mount root fs on unknown-block が出力される場合、initramfsまたはinitrdに問題がある可能性があり、initramfsまたはinitrdを再生成する必要があります。以下の図に示す通りです。
2. システムの起動に失敗し、error: file '/boot/initramfs-`uname -r`.img' not found が出力される場合、/bootディレクトリにinitramfs/initrdファイルが欠落している可能性があります。以下の図に示す通りです。
上記の2つのケースいずれにおいても、システムは正常に起動できなくなります。トラブルシューティングを参照し、initramfs/initrdを確認して再生成してください。 トラブルシューティング
2. そこに記載されているmountやchrootなどのコマンドを実行します。
mkdir -p /mnt/vm1
mount /dev/vda1 /mnt/vm1
mount -o bind /dev /mnt/vm1/dev
mount -o bind /dev/pts /mnt/vm1/dev/pts
mount -o bind /proc /mnt/vm1/proc
mount -o bind /run /mnt/vm1/run
mount -o bind /sys /mnt/vm1/sys
chroot /mnt/vm1 /bin/bash
3. 以下のコマンドを実行し、initramfs/initrdを再生成します。
ドメインの名前解決に失敗する問題が発生した場合、/etc/hostsに169.254.0.3 mirrors.tencentyun.comを設定してソフトウェアリポジトリの名前解決を行うことができます。追加後の内容は以下の図の通りです。
以下のように出力されれば、initramfsまたはinitrdの新規作成が完了です。