2023年 12月 04日
Windows11 & Linux Dual Boot.. openSUSE Leap15 と Windows のデュアルブート
ここでは Windows 11(Pro) と Linux (openSUSE Leap 15.5) とのデュアルブート環境の構築方法について説明します。
パーティション操作は僅かなミスでディスクの中身をそっくり失う可能性があります。できるだけバックアップを取り、万が一の失敗に備えてください。
少なくとも、C:ドライブには重要なファイルは置いておかない事です。 Windows は何でも C: ドライブにモノを置きたがるので、シングルドライブでもパーティションを D: ドライブに分けてこちらにファイルを置くようにしておきたいものです。
機材に余裕があるのであれば、増設したディスクから二重ブートさせることをお勧めします。
Before you change Partitions, back up your important files.
大抵の場合、吊るしの PC には Windows がプリインストールされている訳です。ほぼ全てがシステムパーティションで作られている Windows 環境を縮小し、Linux をインストールできる空き領域を作成します。
ここでは深く説明しませんが、「田」右ボタン > ディスクの管理、より、C: ドライブのパーティションを縮小して空きパーティションを作成します。
※ exFAT のパーティションを一つ用意しておくと、デュアルブート環境でファイル共有できます。何気に便利です。ntfs-3g はいらない。
USB メモリなどに rufus などのツールを使って openSUSE Leap 15 のインストール用 ISO イメージを展開し、インストールメディアを作成します。
メディアを作成したら、PC を再起動して、USB メモリから起動します。WIndows からブートオーダーを変更するための UEFI セットアップに入る方法は次の記事をご参考ください。
Windows11 UEFI セットアップに入る方法How to enter UEFI Setup ? ---> Press Shift + Restart
USB 起動したら、openSUSE Leap 15 をインストールします。
openSUSE Leap のインストールウィザードで、下のパーティションの作成スクリーンが出たら、ここが第一の重要ポイントです。
既存のWindows の /boot/efi パーティションを "Mount..." になっているか。新たに作成する場合は、" Start with Current Proposal" から Windows 側の "/boot/efi" をマウントするように変更します。ここに、新しくインストールする Linux のブートローダーが追加されます。
Mount Current ”Windows /boot/efi partition” as openSUSE Leap boot partition. Linux Bootloader will be shared in boot loader.
パーティション /boot/efi がマウントされない設定になっている場合、 EFI SYstem Partition /boot/efi を mountするように、Edit ボタンでパーティションをマウントするように変更します。/boot/efi は、”F” のフラグが立っていない(フォーマットしない)事を確認します。
If Windows "/boot/efi" is not mount as openSUSE system, edit and set mount partition.Check "F" column unset "F". --- DO NOT Format "/boot/efi"
Edit Partition の "/boot/efi"スクリーンです。
"Edit" and check -->
Mount device : on "/boot/efi"
Do not format device.
パーティション設定では、 "/boot/efi" パーティションをフォーマットしてはいけません。
引き続きインストールウィザードを進めます。
I can't never see Linux Bootloader comes up ! My PC boot up Windows Olly !Linux のブートローダーが出てこない。Linux をインストールしたんだが Windows しか上がらないのだが ? ,,,,,--> UEFI Bios に内蔵ディルクのブートプロファイルがある。もう一度 Bios のチェックをしてみよう。
※ Clock Set to UTC はデフォルト uncheck でした。基本的に Windows と Linux がデュアルブートとなる場合、 Windows は Linux 側で UTC にセットされたハードウェアクロックを JST と認識して起動するというガラパゴス仕様なので、Linux 側で UTC を書き込まない設定にしたほうがいいでしょう。ただし NTP の設定はきっちりと行う事です
全てのウィザードを終えて、サマリースクリーンで内容を確認したら、インストールを開始します。
インストールを開始すると、パーティションの作成、ファイルコピー、ブートローダーの作成を終えて、再起動します。
もしかしたら、再起動したら次のような BIOS セットアップスクリーンが出るかもしれません。
次の画面は KVM 上で作成した仮想イメージなので KVM/QEMU が提供する BIOS セットアップスクリーンです。このスクリーンからブートローダーの起動オーダーを変更します。
※ Apple M1 で UTM を使った仮想化でも経験したのですが、大抵これはブート/インストール用の DVD/CD ISO を外してあげれば突破できます。
M1/M2 mac で linux, UTM で仮想化、 openSUSE Tumbleweed
Boot Maintenance Manager を Open してゴニョゴニよ ...
Change Boot Order を Open
Change the Order スクリーンで Enter
opensuse-secureboot が上に来ていることを確認できます。Windows Boot Manager は、従来の Windows の Boot Manager です。もし、ここで openSUSE の Boot Manager が見えず、Windows Boot Manager しか現れない場合、ブートローダーが書き込まれていません。If openSUSE bootloader would not appear then re-write bootloader.
上の状態では、ブート順序が DVD/CD の Priority が高い状態なので、 DVD を取り除く必要があります。
Remove DVD Media from Drive, or Remove Install DVD.ISO from Machine.
ここでは KVM 仮想化状態なので、仮想マシン上の DVD デバイスを Remove して、仮想マシンを起動しました。
新規にインストールした openSUSE Leap のブートマネージャが起動します。
こうなるはずだった!(Should be)
しかし Bootloader の書き換えに失敗したらしく Bios のBoot Order のリストに openSUSE-Secureboot の行が出てこない事が何度かありました。大抵、インストーラのファイルコピーの最後で変なエラーがでて終わってしまうときなのですが、インストールの最後でエラーが出たとき、ブートローダーが正しく UEFI に書き込まれていないようです。
実際の動きは動画にしました(音出ます)
もう一度、インストールメディアをセットして、インストールイメージで起動させます。
この先頭ページの "More" から ”Boot Linux System” を選んで、ブートできなかった Linux のシステムを起動させます・
ブートの途中で、オペレーティングシステムがインストールされるパーティション、Swap などのパーティションをマウントするためでしょうか。パーティションをマウントしようとするようなので、ほぼ全部デフォルトで Enter を押します。Mount Operating system Partitions,
一旦、インストールした openSUSE Leap15 が起動できたら、root でログインし yasr2 コントロールセンターを開きます。You can get access and login as root, then run yast.
> yast2 &
YaST > System > Boot Loader から Default bootする Taeget、Time outなどを変更することができます。デフォルトターゲットはおそらく OpenSUSE 川になっているので、これを Windows 側に変更してみてください。ついでにタイムアウトの値も少しだけ書き換えてみます。Slightly change some parameters, to re-write Bootloader and save.
この状態でブートローダを保存すると、システムのブートローダーが更新されるようです。
/boot/efi パーティションに Windows と openSUSE のブートローダーが同居していることが分かります。
何度かやってみて、どうも 「Linux をデュアルブート・インストールした後に Windows しか立ち上がらない」「Grub のブートメニューから起動できない」「openSUSE のインストールはうまく行っているのに Linux 側が起動できない」といったトラブルは、ブートローダーの更新でうまく行くようです。ひょっとしたら、Windows ,の大型アップデートなどで、ブートローダー自身が書き換えられてしまうようなケースが今後ありえる話なので、その際も役に立つかもしれません。まぁ先のことなので分かりませんがね。
手元の環境は Minisforum NAD6 でデュアルブートを構築しています。この機材は DEL キー連打でAMI Bios に入ります。UEFI Setup スクリーンで、インストールされた openSUSE Leap のブートローダーから起動させるには、Boot Order を変更する必要がありました。この機材の BIOS の場合、Boot Menu の中に Drive BBs Property の項目があるので、ここで、デフォルトのブートローダーを変更することができます。
If you can not see openSUSE Boot Screen alternate from Windows Boot Manager , then check Boot Drive BBD Properties. This is in case of AMI Bios.
open --> Boot --> UEFI NVME(or Hard Drive)Drive BBS Priorities (ハードドライブBBS優先順位の設定)
Windows のブートマネージャーが上(#1)の場合、Linux のブートローダーは起動できません。下のスクリーンで、openSUSE-Secureboot Manager を上位に上げると、Linux 側のブートローダで、Windows/Linux の起動を切り替えることができました。#1: openSUSE-Secureboot <-- High#2: Windows-Boot-Manager <--- Low
※ 通常のデバイスのブート順序とは別に DiskDrive BBS Priorities などの設定スクリーンがあるので、ここを変更しないと、openSUSE Leap をインストールした跡、Grub のスクリーンは出てきません。この機能は機材に搭載された Bios によって異なるので、マザーボードのマニュアルが手元にあれば確認しておくと良いでしょう。
ブート順位の変更方法(MSIの説明)https://jp.msi.com/support/technical_details/MB_Boot_Priority