最近、グラブのインストールが中止されました。 UbuntuディストリビューションとArch Linuxディストリビューションで次のコマンドを実行して問題を解決しようとしました。
sudo os-prober
sudo grub-mkconfig /boot/grub/grub.cfg
sudo grub-install --efi-directory=/boot/EFI /dev/nvme0n1
grubはインストールされているすべてのオペレーティングシステムを再表示し、それを使用してインストールされている両方のオペレーティングシステムから起動できるようになりました。ただし、1つのメニュー項目ではまだそのLinuxディストリビューションを起動できません。選択すると、ノートブックのスタート画面(大きなLenovoアイコン)が表示され、それ以降は何も起こりません。この問題を解決する方法についてのヒントや、問題が発生しない理由に関する追加情報を収集できますか?
以下からロードされていないグルーブメニュー項目/boot/grub/grub.cfg
:
menuentry 'Arch Linux (rolling) (on /dev/nvme0n1p2)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-c53daa31-996c-468d-bd57-df5b73cb87cc' {
savedefault
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 0DD8-ECF1
else
search --no-floppy --fs-uuid --set=root 0DD8-ECF1
fi
linux /vmlinuz-linux root=UUID=c53daa31-996c-468d-bd57-df5b73cb87cc rw loglevel=3 quiet
initrd /intel-ucode.img
}
UUIDが53daa31-996c-468d-bd57-df5b73cb87cc
正しいドライブ(/dev/nvme0n1p5
)に対応し、コマンドのUUIDがEFI Bootsearch
に対応していることをblkidで再確認しました。/dev/nvme0n1p1
編集する:@Recctが提案したように「quiet」を削除し、ログレベルを7に上げました。これにより、下の図でエラーが発生します。最も関連性の高い部分は次のとおりです。
No filesystem could mount root, tried:
Kernell panic - not syncing VFS: Unable to mount root fs on unknown-block(0, 0)
編集2:
2番目に、grub.cfgファイルに別のディストリビューションを正常に追加し、今回はブートしたので(私が何をしたのかわかりません)、initrdコマンドに/initramfs-linux.imgを追加することは本質的に変更です。
私が理解したのは、このファイルは/etc/grub.dと/etc/default/grubに基づいてgrub-mkconfigによって自動的に生成されることです。この問題を永久に解決するには、/etc/grub.dの設定をどのように変更する必要がありますか?
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-c53daa31-996c-468d-bd57-df5b73cb87cc' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 0DD8-ECF1
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=c53daa31-996c-468d-bd57-df5b73cb87cc rw loglevel=7
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-c53daa31-996c-468d-bd57-df5b73cb87cc' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-c53daa31-996c-468d-bd57-df5b73cb87cc' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 0DD8-ECF1
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=c53daa31-996c-468d-bd57-df5b73cb87cc rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-c53daa31-996c-468d-bd57-df5b73cb87cc' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 0DD8-ECF1
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=c53daa31-996c-468d-bd57-df5b73cb87cc rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux-fallback.img
}
menuentry 'Arch Linux, with Linux linux (recovery mode)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-recovery-c53daa31-996c-468d-bd57-df5b73cb87cc' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 0DD8-ECF1
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=c53daa31-996c-468d-bd57-df5b73cb87cc rw single
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux-fallback.img
}
}