linux mint と windows のデュアルブートで grub 画面を表示

(2024-10-29)

4年半前にDELLのXPS 8930 - XPSタワーを購入して、最近では linux と windows のデュアルブートをしています。

ところが、linux mint 22 がリリースされて新しくインストールしたところ、何が悪かったのか linux も windows も動かなくなりました。
かなりハマってしまい、おそらく数時間を無駄にしてしまいました。

一応、linux も windows も動くようにはなったのですが、起動時に grub 画面が表示されなくなり、起動時にいちいち f2 ボタンを押すことになってしまいました。
それではあまりにも面倒なので、以前のように起動時に grub 画面を表示して矢印で選択するようにしました。

再現性があるかどうか不明ですが、やったことをかいつまんで書きます。

いろいろと確認

まずは、確認します。

sudo fdisk -l

ここで、windows がインストールされている nvme0n1p1 の情報が表示されません。

sudo nvme list

でも、

Node Generic SN Model Namespace Usage Format FW Rev
--------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- --------

何も表示されません。

chatGPT の指示に従って、

sudo apt install nvme-cli
sudo os-prober
sudo update-grub

しても変化はありません。

BIOS で SATA を AHCI にする

そこで、BIOS 画面で SATA を AHCI にしてみました。

そうすると、

sudo nvme list
Node Generic SN Model Namespace Usage Format FW Rev
--------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- --------
/dev/nvme0n1 /dev/ng0n1 2017282BED33 CT1000P1SSD8 0x1 1.00 TB / 1.00 TB 512 B + 0 B P3CR020

/dev/nvme0n1 が認識されました。
そして、起動時に grub 画面が表示されるようになりました。

でもこうすると今度は windows そのものが起動しなくなりました。

そこで再び SATA を RAID ON に戻してみると、以前のように grub 画面から os を選択して両方とも起動するようになりました。 わけがわかりません。

元に戻ってしまった

どういうタイミングかわかりませんが、再び元に戻ってしまい、電源を入れると linux mint が起動するようになってしまいました。

上のようなことをやってみましたが効果がありません。

chatGPT に相談して以下のようにしたら、grub 画面が表示されるようになしました。

sudo nano /etc/default/grub

以下のように編集します。

GRUB_TIMEOUT_STYLE=hidden → # コメントアウト
GRUB_TIMEOUT=0 → 10 に変更

反映します。

sudo update-grub

RAID ON → AHCI に

またまた、grub画面が出なくなってしまいました。なぜ、自然に消えてしまうんだろう?

例によって chatGPT に解決してもらいました。

起動モードは AHCI じゃないとだめみたいです。でもそうするとこれまでは windows が起動しませんでした。

chatGPT はセーフティモードでの設定をするように指示してきました。

windows でコマンドプロンプトを管理者権限で実行します。以下のように入力します。

bcdedit /set {current} safeboot minimal

再起動して、モードを RAID ON から AHCI に変更します。

これで AHCI で windows が起動できるようになります。

次に、通常モードに戻します。
コマンドプロンプトを管理者権限で開き、

bcdedit /deletevalue {current} safeboot

として再起動すると通常モードで AHCI での起動ができるようになります。

次に、再起動して linux mint で操作します。

sudo os-prober

GRUB設定を更新します。

sudo update-grub

とすると

Found Windows Boot Manager on /dev/nvme0n1p2@/efi/Microsoft/Boot/bootmgfw.efi

windows が認識されています。

これで起動画面で linux mint か windows かを簡単に選択できるようになりました。