お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2022-05-01 17:12:42

yotto
新しいメンバ
登録日: 2022-05-01

Windowsを起動すると次回PC起動時にGRUBがエラーになります

Ubuntu 20.04.4 LTSとWindows 10をデュアルブートで使用しています。
PCはLIFEBOOK P772/G FMVNP8A8です。
PCの電源を入れたとき、GRUBの画面が表示されず、以下のエラーが表示されてしまいます。

Failed to open \EFI\ubuntu\???S? - Invalid Parameter
Failed to load image \EFI\ubuntu\???S?: Invalid Parameter
start_image() returned Invalid Parameter, falling back to default loader

GRUBの画面は表示されませんが、数秒待つか矢印キーとEnterキーを押すとUbuntuやWindowsが起動します。

Ubuntuで以下のようにGRUBインストールすると一時的に直りました。
$ sudo mount /boot/efi
$ sudo grub-install
Installing for x86_64-efi platform.
Installation finished. No error reported.
しかし、Windowsを起動するとGRUBのエラーが再発します。

以前は問題ありませんでしたが、Ubuntu 18.04を削除してUbuntu 20.04.4 LTSをインストールしてからこのエラーが出るようになりました。

Windowsを起動しても次回GRUBが正常に表示されると良いのですが、何か良い方法はありますか?

オフライン

 

#2 2022-05-01 19:21:14

redred
メンバ
登録日: 2020-05-27

Re: Windowsを起動すると次回PC起動時にGRUBがエラーになります

こうかもしれませんね。
sudo update-grub
続けて、sdaならば
sudo grub-install /dev/sda

オフライン

 

#3 2022-05-01 23:32:19

yotto
新しいメンバ
登録日: 2022-05-01

Re: Windowsを起動すると次回PC起動時にGRUBがエラーになります

redredさん、返信ありがとうございます。
試してみましたが、まだ直っていないようです。

コマンドの実行結果は以下の通りです。

[email protected]:~$ sudo update-grub
[sudo] yo のパスワード:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
using custom appearance settings
Found background image: /home/yo/ピクチャ/壁紙/さくレット_1280_800_dark.png
Linux イメージを見つけました: /boot/vmlinuz-5.13.0-40-generic
Found initrd image: /boot/initrd.img-5.13.0-40-generic
Linux イメージを見つけました: /boot/vmlinuz-5.13.0-39-generic
Found initrd image: /boot/initrd.img-5.13.0-39-generic
Found Windows Boot Manager on /dev/[email protected]/efi/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings
Found Windows Boot Manager on /dev/[email protected]/efi/Microsoft/Boot/bootmgfw.efi
完了
[email protected]:~$ sudo grub-install /dev/sda
Installing for x86_64-efi platform.
grub-install: エラー: cannot find EFI directory.
[email protected]:~$ sudo mount /boot/efi
[email protected]:~$ sudo grub-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.
[email protected]:~$

PCを再起動すると、GRUBは正常に表示されました。
Windowsを起動してサインインした後に再起動すると、以下のエラーが表示されてしまいました。

Failed to open \EFI\ubuntu\???S? - Invalid Parameter
Failed to load image \EFI\ubuntu\???S?: Invalid Parameter
start_image() returned Invalid Parameter, falling back to default loader

オフライン

 

#4 2022-05-02 09:24:50

redred
メンバ
登録日: 2020-05-27

Re: Windowsを起動すると次回PC起動時にGRUBがエラーになります

>以前は問題ありませんでしたが、Ubuntu 18.04を削除してUbuntu 20.04.4 LTSをインストールしてからこのエラーが出るようになりました

この時、20.04LTSのインストーラーで18.04に交換インストールで行わなかったのでしょうか?

他に解決策が上がらなければ、私ならこうしているところです。
①20.04LTSインストールし直し、それでもだめなら
②18.04をインストールし直し、20.04LTSのインストーラーで18.04に交換インストール、それでもだめなら
③SSDを初期化してWindowsからインストールし直し、20.04LTSの新規インストールし直し

面倒ですね。

オフライン

 

#5 2022-05-02 12:48:56

yotto
新しいメンバ
登録日: 2022-05-01

Re: Windowsを起動すると次回PC起動時にGRUBがエラーになります

20.04LTSをインストールした時、以下のような選択肢がありました。
・Ubuntu 18.04 LTSをUbuntu 20.04 LTSにアップグレード
・Ubuntu 18.04 LTSを削除して再インストール
・ディスクを削除してUbuntuをインストール
この時Ubuntuに保存していたデータは不要だったため、アップグレードではなく「削除して再インストール」を選択しました。

他に解決策があれば良いのですが、なければインストールし直しなど後ほど試したいと思います。

オフライン

 

#6 2022-05-07 07:30:02

redred
メンバ
登録日: 2020-05-27

Re: Windowsを起動すると次回PC起動時にGRUBがエラーになります

デュアルブートはWindows10側に大型アップデートが入ったときにGrub起動が壊れる場合があります。
https://vegam57.livedoor.blog/archives/6241872.html

そういうケースだった場合は修復方法を探すより、インストールし直しが結局早いかもしれませんね。

オフライン

 

#7 2022-05-07 17:32:42

yotto
新しいメンバ
登録日: 2022-05-01

Re: Windowsを起動すると次回PC起動時にGRUBがエラーになります

とても参考になりました。ありがとうございます。
バックアップができたらインストールし直してみます。

その記事ではWindowsの大型アップデート後にGRUBが壊れていてパーティションが増えていたそうですが、
このPCでも以下のように「Windows リカバリ環境」パーティションが3つもあります。(sda9は自分で作成したDドライブです。)
記事と同じような状況ですね。
Windowsは8.1から10にアップグレードして、大型アップデートも何度かあったと思います。

[email protected]:~$ sudo fdisk -l /dev/sda
ディスク /dev/sda: 476.96 GiB, 512110190592 バイト, 1000215216 セクタ
Disk model: SPCC Solid State
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 34B75A80-D6B7-427D-BF0E-6817DA2ABAF2

デバイス    開始位置   最後から    セクタ サイズ タイプ
/dev/sda1       2048    2623487   2621440   1.3G Windows リカバリ環境
/dev/sda2    2623488    4196351   1572864   768M 不明
/dev/sda3    4196352    5777407   1581056   772M EFI システム
/dev/sda4    5777408    6039551    262144   128M Microsoft 予約領域
/dev/sda5  572796928  573644799    847872   414M Windows リカバリ環境
/dev/sda6  573644800  608362495  34717696  16.6G Windows リカバリ環境
/dev/sda7    6039552  511356927 505317376   241G Microsoft 基本データ
/dev/sda8  511356928  572796927  61440000  29.3G Linux ファイルシステム
/dev/sda9  608362496 1000212479 391849984 186.9G Microsoft 基本データ

パーティション情報の項目がディスクの順序と一致しません。
[email protected]8A8:~$

オフライン

 

#8 2022-05-29 17:14:29

yotto
新しいメンバ
登録日: 2022-05-01

Re: Windowsを起動すると次回PC起動時にGRUBがエラーになります

解決しました!

問題の状況としてはこのページと同じく、Windowsのbcdeditで設定していてGRUBがエラーになっていました。
https://askubuntu.com/questions/1356436/ubuntu-20-04-fails-to-boot-after-i-ran-bcdedit-set-bootmgr-path-efi-ubuntu

bcdeditでWindows Boot Managerの項目を書き換えてGRUBを起動させていますが、この設定はUbuntu 20.04で問題になるようです。
(インストールし直すつもりでしたが、その前に試しにVirtualBoxの仮想マシンにWindows 10とUbuntu 20.04をインストールして同じ設定をしてみた結果、同じエラーが再現しました。)

ただ、UEFIファームウェアからubuntuを選択すると問題なくGRUBが起動するので、Windows Boot Managerの項目自体を無効化して解決しました。
(起動順位を変えるだけでも良いのですが、勝手に入れ替わって再発してしまうので無効化しました。)

$ efibootmgr --inactive --bootnum 000F

$ efibootmgr --verbose
(中略)
Boot000F  Windows Boot Manager    HD(3,GPT,15b26c3f-36da-4b5a-9267-219f101e4dfa,0x400800,0x182000)/File(\EFI\ubuntu\shimx64.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0010* ubuntu    HD(3,GPT,15b26c3f-36da-4b5a-9267-219f101e4dfa,0x400800,0x182000)/File(\EFI\ubuntu\shimx64.efi)

オフライン

 

Board footer

Powered by FluxBB