19 June 2022

Debian 11とUbuntu Server 22.04をデュアルブート対応でインストールする(UEFI起動)

Debian 11とUbuntu Server 22.04をデュアルブート対応でインストールするため、VMWareで試行した結果のまとめ

VMWare仮想マシンをUEFI設定に変更する

Debian 11がインストールされたマシンに、Ubuntu Server 22.04を追加インストールしようとすると...

レガシーBIOS起動では パーティション設定画面で

" To continue you need to: Select a boot disk "

というメッセージを解決できず、先に進めなくなってしまう。

UEFI起動とすれば 問題なく設定が進む。

したがって、VMWare仮想マシン設定をUEFI起動とするために次のように変更する

vmware_virtual_machine.vmx
.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "19"
firmware = "efi"
BIOS.BootDelay = "5000"
bios.forceSetupOnce = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
 〜 以下省略 〜

Debian 11 (64bit)のインストール

20220619-debian-inst-01.jpg
Debian 11 インストール画面(DVD iso起動時メッセージ)

セットアップ画面表示の言語を設定したり、ネットワーク接続の設定をしたりといった、ありきたりの選択画面が幾つか続いた後、ディスクのパーティション設定画面が表示される。

ここでは必ず「手動設定」を選択する。

20220619-debian-inst-02.jpg
Debian 11 インストール画面(パーティション設定で「手動」を選択)

ドライブとパーティション一覧画面が表示される。今回はまっさらなディスクを用いた設定なので、まだ何もパーティションが存在しない。ここに...

・EFI ブートパーティション
・Debian 11をインストールするパーティション(ext4フォーマット)
・swapパーティション

の3つを作ることとする。

最終的に、次のような画面になるようパーティションを作っていく

20220619-debian-inst-03.jpg
Debian 11 インストール画面(パーティション設定の最終形)

空き領域をダブルクリックすると、パーティション作成画面になる

20220619-debian-inst-04.jpg
Debian 11 インストール画面(「新しいパーティションの作成」を選択する)

1つ目のパーティション(/dev/sda1)は UEFI boot パーティション。サイズは200MBytes以上が目安。今回は300MBytesを確保した

20220619-debian-inst-05.jpg
Debian 11 インストール画面(UEFI bootパーティションの設定画面)

2つ目のパーティション(/dev/sda2)はDebian 11をインストールするパーティション。サイズは6.5GBytes以上が目安。

20220619-debian-inst-06.jpg
Debian 11 インストール画面(Debianをインストールするパーティションの設定画面)

3つ目のパーティション(/dev/sda3)はswapパーティションとする。

全て作成を終えると、さきほど目標とした画面となる

20220619-debian-inst-03.jpg
Debian 11 インストール画面(パーティション設定の最終形)

パーティションを書き込んで、セットアップを先に進める。

OSの表示言語やユーザ名・パスワードを設定する画面などがいくつか続き、最後にパッケージの選択画面となる。ウィンドウマネージャをGnomeからXfceに変更しても、それほどディスク消費量が軽減されるわけではない(1GBytes程度しか小さくならない)ので、今回は標準設定のままとする。

なお、「CUIのみのインストール」という選択肢は、残念ながら無い

20220619-debian-inst-07.jpg
Debian 11 インストール画面(ソフトウエアの選択)

このあとインストール作業が進み、再起動すればDebian 11が起動する。

Ubuntu Server 22.04のセットアップでは、新規パーティションが作れない

デスクトップ版のセットアップでは自由自在にパーティションを作成出来るのに... 明らかにServer版のセットアップの作り込み不足を感じる。

仕方ないので、適当な(ここではUbuntu 22.04のLive DVDを使った)Live Linuxを起動して、パーティションを作っておく

20220619-gparted-01.jpg
GPartedで新規パーティション作成前

ここに、Ubuntu Server 22.04をインストールするパーティション(/dev/sda4)を作成する。サイズは3.5GBytes以上が目安。

フォーマットは何でも構わない。Ubuntu Serverセットアップ時に再度フォーマットされるため、気にしないこと

20220619-gparted-02.jpg
新規パーティション作成後(/dev/sda4を作成した)

Ubuntu Server 22.04のインストール

Debian 11しか起動しないばあいは、次の方法でブートセレクタ―を表示する必要がある。

コンピューターが再起動したら、BIOS画面が5秒間表示(BIOS.BootDelay = "5000" の設定による)されるので、その間にF2キーかESCキーを押せば、ブートセレクタ―を表示される。

そして、CD-ROMから起動を選択すると、Ubuntu ServerのセットアップDVD(isoファイル)から起動することが出来る

20220619-ubuntusrv-inst-01.jpg
Ubuntu Server インストール画面(開始画面)

いくつかの設定項目があり、その後にディスクのパーティション設定画面が表示される。

20220619-ubuntusrv-inst-02.jpg
Ubuntu Server インストール画面(パーティション設定は手動:Custom storage layoutを選択)

20220619-ubuntusrv-inst-03.jpg
Ubuntu Server インストール画面(既存のパーティション一覧が表示される)

画面上部に " To continue you need to : Mount a filesystem at / Select a boot disk " と表示されているので、これを解決することとする

まずは、ルートパーティションを指定する。先程Gpartedで手動作成した /dev/sda4(partition 4)をクリックし

・Format : ext4
・Mount : /

と設定する。

20220619-ubuntusrv-inst-04.jpg
Ubuntu Server インストール画面(ルートにマウントするパーティションを設定)

画面上部の1項目め FILE SYSTEM SUMMARY に ルート(/)のマウントされたと表示され、同時にブートパーティションが /boot/efi に自動的にマウントされる。

20220619-ubuntusrv-inst-05.jpg
Ubuntu Server インストール画面(パーティション設定の完了)

これで、パーティション設定画面に表示されていた解決すべき問題2点の両方が、同時解決した。

インストール作業は順調に流れ、終了し再起動を促されるはずだ。

デュアルブートの確認

コンピューターが再起動したら、BIOS画面が5秒間表示(BIOS.BootDelay = "5000" の設定による)されるので、その間にF2キーかESCキーを押せば、ブートセレクタ―を表示される。

20220619-uefi-bootselector.jpg
VMWareのUEFIブートセレクタ―

EFIブートパーティションがどうなっているのか、確認する

$ tree /boot/efi/
/boot/efi/
└── EFI
    ├── BOOT
    │   ├── BOOTX64.EFI
    │   ├── fbx64.efi
    │   └── mmx64.efi
    ├── debian
    │   ├── BOOTX64.CSV
    │   ├── fbx64.efi
    │   ├── grub.cfg
    │   ├── grubx64.efi
    │   ├── mmx64.efi
    │   └── shimx64.efi
    └── ubuntu
        ├── BOOTX64.CSV
        ├── grub.cfg
        ├── grubx64.efi
        ├── mmx64.efi
        └── shimx64.efi

4 directories, 14 files

debianとubuntuの双方のGRUBが、別ディレクトリにインストールされている。

起動順の設定を確認すると、後にインストールしたUbuntu Serverの起動順が第1位になっている。

$ sudo efibootmgr 
BootCurrent: 0004
BootOrder: 0004,0005,0001,0000,0002,0003
Boot0000* EFI VMware Virtual SCSI Hard Drive (0.0)
Boot0001* EFI VMware Virtual IDE CDROM Drive (IDE 1:0)
Boot0002* EFI Network
Boot0003* EFI Internal Shell (Unsupported option)
Boot0004* ubuntu
Boot0005* debian

$ sudo efibootmgr -v
BootCurrent: 0004
BootOrder: 0004,0005,0001,0000,0002,0003
Boot0000* EFI VMware Virtual SCSI Hard Drive (0.0)	PciRoot(0x0)/Pci(0x10,0x0)/SCSI(0,0)
Boot0001* EFI VMware Virtual IDE CDROM Drive (IDE 1:0)	PciRoot(0x0)/Pci(0x7,0x1)/Ata(1,0,0)
Boot0002* EFI Network	PciRoot(0x0)/Pci(0x11,0x0)/Pci(0x1,0x0)/MAC(000c29cccf4b,0)
Boot0003* EFI Internal Shell (Unsupported option)	MemoryMapped(11,0xefe6018,0xf3f5017)/FvFile(c57ad6b7-0515-40a8-9d21-551652854e37)
Boot0004* ubuntu	HD(1,GPT,021fffd0-161f-4c05-82e5-e7c201b2fc89,0x800,0x5f000)/File(\EFI\ubuntu\shimx64.efi)
Boot0005* debian	HD(1,GPT,021fffd0-161f-4c05-82e5-e7c201b2fc89,0x800,0x5f000)/File(\EFI\debian\shimx64.efi)