🐧

Linux 使いになりたい人向けの Intel N100 ミニ PC で構築する開発環境(16)- Ubuntu

2024/08/14に公開

はじめに

これは、Linux 使いになりたい人向けに Intel N100 ミニ PC を使って開発環境を構築する方法を解説する記事の第16弾です。第1弾はLinux 使いになりたい人向けの Intel N100 ミニ PC で構築する開発環境(1) - 構築する開発環境について にあり、そこから第2弾へと続いています。そちらからご覧ください。

ここで使用する Intel N100 ミニ PC の仕様は次のものを前提とします。

項目 内容
OS Windows 11 Pro
CPU Intel N100
メモリ 16GB
ストレージ SSD 512 GB
画面出力端子 HDMI×2
WiFi 5G/2.4G
イーサネット RJ45×1
Bluetoot BT4.2
USB USB3.0×2/USB2.0×2

このマシンで最終的に Windows と Ubuntu Desktop が使えるように環境構築することを目指します。zenn.dev を購読している人のレベルを考えると、画面キャプチャはそれほど必要がないと考えているため少なめです。また、説明についても明示しないとわかりにくいと思われるものに絞っているので少なめです。

ここでは Linux のディストリビューションのひとつである Ubuntu をインストールしてみましょう。Linux のディストリビューションにはいくつかありますが、WSL でも使ってきた Ubuntu はデスクトップ版があって、日本でも人気があります。そのため、有志が用意した日本語版も提供されていて、情報が入手しやすく、初心者にもお勧めです。

ミニ PC のマシンへ OS の Ubuntu をインストールする手順については、基本的には次のようになります。

  1. OS をインストールする準備
  2. ミニ PC のマシンへ OS をインストール
  3. Ubuntu の初期設定と動作確認

これらについて、順番に説明します。

Ubuntu をインストールする準備

最初に Ubuntu をインストールする準備をします。手順としては次のようになります。

  1. 既存 OS のバックアップ
  2. Ubuntu のインストーラー用イメージの用意
  3. インストーラー用 USB メモリの用意
  4. ディスクの取り外し
  5. Ubuntu 用ストレージの用意

既存 OS のバックアップ

ここでは、バックアップの必要性などについて簡単に説明します。ただし、既存 OS のバックアップについての詳細は、ここでは説明を省略します。作業前に自分でしっかりとバックアップをとっておいてください。なお、もしフルバックアップをとるなら、大容量 HDD が必要となりますから、そちらも準備してから作業してください。

Windows プリインストールのパソコンでは、Windows のライセンスはハードウェアと結びついているので、Windows が必要ならきちんとフルバックアップしておくのが確実です。また、実際に復旧する場合は、復旧用の起動ディスクも必要です。

著者は、基本的に Windows のセットアップをする前に、USB 起動の Ubuntu を使ってディスクのフルバックアップをしてあります。また、Windows のセットアップ後に復旧用起動ディスクの作成も済ませてあります。

OS をインストールする場合は、途中でディスク操作があります。操作ミスで既存の OS のファイルシステムへダメージを与えてしまうことがありますから、備えておくのが良いです。

また、日頃のパソコン利用にあたっても、故障時のためにバックアップはあった方が良いので、普段バックアップを用意していない場合は、これを機会にとっておくと良いでしょう。

なお、「USB 起動の Ubuntu を使ったディスクのフルバックアップ」は、Ubuntu が使えるようにならないと難しく感じるところですが、慣れると簡単にできるようになります。Ubuntu が使えるようになってから、挑戦してもらえればと思います。既存のソフトウェアでもディスクコピーの機能を持つものはあるので、それを使っても良いでしょう。

Ubuntu のインストーラー用イメージの用意

Ubuntu のような Linux カーネルを採用している OS では公式サイトからインストーラーをダウンロードできることが多いです。Ubuntu の公式サイト https://jp.ubuntu.com/ は次のようになります。

/images/lets-start-vbox/ubuntu-01.png
https://jp.ubuntu.com/ のサイト

Ubuntu の場合は、本家のものとは別に「日本語 Remix 版」というものがあります。本家のものでも日本語対応していますが、日本語 Remix 版の方が細かい点まで日本人向けに調整されているので、ここでは日本語 Remix 版を使います。公式サイト https://www.ubuntulinux.jp/ は次のようになります。

/images/lets-start-vbox/ubuntu-02.png
https://www.ubuntulinux.jp/ のサイト

本家も日本語 Remix 版も、インストーラーのダウンロードページが用意されていて、そこからインストーラーの iso イメージファイルを入手することができます。ダウンロードページ https://www.ubuntulinux.jp/download/ja-remix は次のようになります。

/images/lets-start-vbox/ubuntu-03.png
日本語 Remix 版ダウンロードページ

本家のダウンロードページ https://ubuntu.com/download は次のようになります。

/images/lets-start-vbox/ubuntu-04.png
本家のダウンロードページ

Ubuntu はデスクトップ用、サーバー用と用途によってインストーラーの iso イメージファイルが変わります。ただし、日本語 Remix 版はデスクトップ用のものしかありません。ここでは日本語 Remix 版を使うので、デスクトップ版をインストールするということになります。

執筆時点で日本語 Remix 版での最新版は ubuntu-ja-22.04-desktop-amd64.iso でした。これをパソコンへダウンロードします。リンクのコンテキストメニューから「名前をつけてリンクを保存」をクリックします。Edge では、このファイルを保存するときに「ubuntu-ja-22.04-desktop-amd64.iso を安全にダウンロードすることはできません」といったメッセージが表示されます。

/images/lets-start-vbox/ubuntu-05.png
名前をつけてリンクを保存

その場合は「…」をクリックして表示されるメニューの「保存」をクリックします。

/images/lets-start-vbox/ubuntu-06.png
「保存」をクリック

すると「このファイルは安全にダウンロードできません」というメッセージが表示されます。ここで「保持する」をクリックします。これでファイルがダウンロードできます。

/images/lets-start-vbox/ubuntu-07.png
「このファイルは安全にダウンロードできません」の表示

ダウンロードしたファイルが安全なことを確認するには、ダウンロードページに記載されている sha256sum の値を使います。ダウンロードしたファイルのハッシュ値が同じ値であれば安全だと考えられます。

ハッシュ値を確認するには PowerShell を起動して Get-FileHash コマンドを使います。PowerShell を起動するにはタスクバーの検索に「PowerShell」と入力して表示される Windows PowerShell の「開く」をクリックします。

/images/lets-start-vbox/win-powershell-01.png
PowerShell の起動

起動した PowerShell の画面で Get-FileHash コマンドへダウンロードしたファイル名 ubuntu-ja-22.04-desktop-amd64.iso をパラメーターで指定して実行します。ここでは Download ディレクトリーに保存したので、.\Download\ubuntu-ja-22.04-desktop-amd64.iso を指定しています。

/images/lets-start-vbox/ubuntu-08.png
Get-FileHash コマンドの実行

Get-FileHash コマンドを実行するとファイルのハッシュ値が表示されます。この値とダウンロードページに記載されている値とが一致することを確認します。

次にハッシュ値の確認例を示します。

/images/lets-start-vbox/ubuntu-09.png
ハッシュ値の確認例

この図では、メモ帳に Get-FileHash コマンドで実行した結果として表示されたハッシュ値をコピー&ペーストしています。さらに、ダウンロードページに記載されている値をコピーして、メモ帳の検索窓へ貼り付けています。見てわかるように、この検索が成功しているので、ファイルのハッシュ値がダウンロードページに記載されている値と一致していることが確認できています。なお、文字列の大文字と小文字の区別は無視して良いです。

インストーラー用 USB メモリの用意

次に、ダウンロードした Ubuntu の iso イメージを USB メモリへ書き込み、インストーラー用 USB メモリを作成します。

dd コマンドが使える OS なら、他のツールをインストールする必要がないので手間がかかりません。ただ、ターミナルを使ってコマンドラインから実行するので、使いにくいと思う人もいることでしょう。ここでは、Windows で動作するディスクイメージ書き込み用の GUI のツールがあるので、その使い方を説明します。GUI ツールにはいくつか種類があり、ここでは次のものを紹介します。

  • rpi-imager
  • balenaEtcher
  • Universal USB Installer

インストーラー用 USB メモリの事前確認

インストーラー用 USB メモリを用意するにあたっては、8GB 以上の USB 3.0 対応の USB メモリを使うと良いでしょう。ファイルフォーマットについては、何でも構いませんが、インストーラー用 USB メモリ作成に使うアプリが認識できるようにしておく必要があります。

Windows を使う場合は、アプリが認識する USB メモリは、Windows にデバイスが認識される必要があるので、FAT32 でフォーマットしておくのが無難です。作業をする前に、USB メモリを Windows へ挿して認識されることを確認しておきます。

認識された USB メモリはエクスプローラーで確認することができます。確認ができたら、USB メモリを右クリックして表示されるメニューで「取り出す」をクリックします。これで USB メモリを Windows から安全に取り外せるようになります。そういった内容のメッセージが表示されたら、Windows から USB メモリを取り外します。

rpi-imager で用意する場合

rpi-imager は Raspberry Pi(ラズパイ)というシングルボードコンピューター用の iso イメージファイルを USB メモリや microSD カードへ書き込むためのツールです。これを使って、ラズパイ用以外の iso イメージファイルを USB メモリへ書き込むこともできます。

https://github.com/raspberrypi/rpi-imager で開発されていて、Apache License, Version 2.0 のライセンスで利用可能な OSS(Open Source Software)です。https://github.com/raspberrypi/rpi-imager/releases の各バージョンの Assets にいろいろな OS 向けのダウンロードファイルがあります。Windows の場合は imager-1.7.4.exe をダウンロードしてインストールします。

rpi-imager をインストールしたら、起動します。画面上で、書き込むイメージファイルを選択、書き込むデバイスの選択をしてから、「書き込む」ボタンをクリックします。このとき、書き込むデバイスを間違えないように注意しましょう。確実に作業をするなら、次のようにします。

  1. イメージを書き込む USB デバイスをパソコンへ挿入していない状態で rpi-imager を起動
  2. 書き込むデバイスの一覧に表示されるものを確認
  3. rpi-imager を終了
  4. イメージを書き込む USB デバイスをパソコンへ挿入した状態で rpi-imager を起動
  5. 書き込むデバイスの一覧に表示されるものを確認
  6. 新しく一覧に追加されたデバイスを選択

「書き込む」ボタンをクリックしてから、しばらくすると書き込みが成功したというメッセージが表示されます。これで、Ubuntu インストーラー用の USB メモリを用意することができます。

balenaEtcher で用意する場合

rpi-imager と似たようなソフトウェアに「balenaEtcher」というものがあります。balenaEtcher は https://github.com/balena-io/etcher/ で開発されていて Apache License, Version 2.0 のライセンスで利用可能な OSS です。https://github.com/balena-io/etcher/releases の各バージョンの Assets を開くといろいろな OS 向けのダウンロードファイルがあります。

Windows の場合は、balenaEtcher-Setup-1.18.6.exe をダウンロードしてインストールします。使い方は、基本的に rpi-imager と同じです。画面上で、書き込むイメージファイルを選択、書き込むデバイスの選択をしてから、「書き込む」ボタンをクリックします。このとき、書き込むデバイスを間違えないように注意しましょう。

Universal USB Installer で用意する場合

Windows では Universal USB Installer という GUI ツールもあります。https://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ から入手できます。記事執筆時点での最新版のインストール用ファイルは Universal-USB-Installer-2.0.1.4a.exe でした。

ファイルを入手したら Universal-USB-Installer を起動します。利用許諾の画面が表示されるので、同意するために「I Agree」をクリックします。すると設定画面が表示されます。

設定画面の Step1 で書き込むイメージファイルの OS を選択します。Step2 で書き込む iso のイメージファイルのパスを指定します。Step3 で書き込む USB メモリを指定します。Step4 でデータ保存領域を作成します。データ保存領域のメーターについて、例えば 4096 にすると、ファイルや設定を 4GB まで保存することができます。

今回の場合は、具体的に次のように指定します。

  1. Step1 で「Ubuntu」を選択
  2. Step2 で「Browse」をクリックして、ダウンロードした iso ファイルを選択
  3. Step3 でプルダウンから書き込む USB メモリを指定
  4. メーターを MAX まで選択

設定したら「Create」をクリックします。すると、確認画面が表示されます。「はい」をクリックして、USB メモリにイメージを書き込みます。

ディスクの取り外し

Windows 用のディスクを物理マシンへ設置した状態で Ubuntu と Windows のデュアルブートができるようにすることはできます。ただ、OS 起動時に使われるシステム領域であるESP(EFI システムパーティション)について、Windows と Ubuntu で共用する場合は注意が必要です。片方の OS が ESP を更新すると、他の OS が起動できなくなることがあります。

こういったことを回避するには、各 OS 用に ESP があるディスクを用意して、起動ディスクを UEFI(Unified Extensible Firmware Interface、ユニファイド・エクステンシブル・ファームウェア・インターフェース)の設定画面で設定することで、デュアルブートを実現するのが良いです。

普通に Ubuntu をインストールすると、既存の ESP を使うように自動設定されるため、Ubuntu と Windows の両方が同じ ESP を使うようになります。これは、Windows がインストールされているディスクに ESP があらかじめ用意されていて、これを使って Windows が起動するようになっているからです。

ESP は、普通は更新がされないのですが、たまに Windows のアップデート時に更新されることがあります。これにより、Ubuntu が起動できなくなるトラブルが起きることがあります。これを避けるためには、Ubuntu をインストールするディスクにも ESP を用意して、Ubuntu を起動するときはそちらを使うようにするのが良いです。

ということで、あらかじめ Ubuntu をインストールするディスクについては、ESP 用のパーティション、OS 用のパーティションを用意しておき、インストール後に調整するのが良いのですが、そこそこ面倒な手順が必要で Ubuntu に慣れていないと大変です。

ここでは、そういった面倒な手順をしなくても同じようなパーティション構成で Ubuntu をインストールするために、物理的にディスクを取りはずすことにします。Ubuntu インストール時は Windows 用ディスクを取り外した状態にしておいて、Ubuntu インストール後に戻します。このようにすることで、Windows 用ディスクへ間違えてダメージを与えないで済みますし、ESP 用のパーティションも含めてデュアルブートしやすいパーティション構成とすることができます。

参考までに、手元のミニ PC で Windows 用のディスクを取り出したときの写真を掲載しておきます。

ミニ PC の蓋を取り外すと次のようになっていました。

/images/20240814_n100_hardware/n100_01.png
ミニ PC の蓋を取り外したもの

2.5 inch 用ディスクマウンタが用意されていて、SATA ケーブルもあります。後で、ここへ 2.5 inch の SSD を設置します。ここでは、ミニ PC から 2.5 inch 用ディスクマウンタを取り外します。

/images/20240814_n100_hardware/n100_02.png
ミニ PC から取り外した 2.5 inch 用ディスクマウンタ

/images/20240814_n100_hardware/n100_03.png
ミニ PC から 2.5 inch 用ディスクマウンタを取り外したもの

/images/20240814_n100_hardware/n100_04.png
ミニ PC から取り外した内側のトップカバー

/images/20240814_n100_hardware/n100_05.png
ミニ PC からトップカバーを取り外したもの

ミニ PC のケースからマザーボードを取り外すと次のようになります。アンテナや電源オン状態確認用の LED の線があるため、ケースから完全に取り外すことはしていません。

/images/20240814_n100_hardware/n100_06.png
ミニ PC のケースからマザーボードを取り外したもの

マザーボード部分を拡大すると次のようになります。

/images/20240814_n100_hardware/n100_07.png
マザーボード

マザーボードから SSD を取り外すと次のようになります。

/images/20240814_n100_hardware/n100_08.png
マザーボードから SSD を取り外したもの

マザーボードから SSD を取り外した部分を拡大したものは、次のようになります。

/images/20240814_n100_hardware/n100_09.png
マザーボードから SSD を取り外した部分の拡大

マザーボードから取り外した内蔵ディスクの SSD は次のものです。

/images/20240814_n100_hardware/n100_10.png
取り外した SSD

このディスクは、Ubuntu をインストールした後に戻します。内蔵ディスクを取り外したら、作業しやすい状態にしてから、キーボードや LAN ケーブルなどを接続します。

このとき、ネジで固定した元の状態にまで戻す必要はありませんが、不安定な状態になっていると事故につながるので注意してください。また、この後、インストーラー用の USB メモリを使う、SATA の SSD を接続するといったことを考慮してください。

Ubuntu 用ストレージの用意

Ubuntu 用ストレージの用意についてはオプションになります。著者は、あらかじめ Ubuntu 用ストレージを用意するようにしているので説明しておきます。

Ubuntu をインストールするにあたり、あらかじめ Ubuntu 用のストレージについてパーティション作成とフォーマットをしておくと、インストール時にそれらの作業をする時間が減ります。また、ディスク操作を間違えるといったミスがしにくくなります。そのため、著者は、あらかじめ次のものを用意することが多いです。

  • Ubuntu 用ディスク(SATA SSD 250 GB 以上のもの)
  • スワップパーティション用ディスク(USB メモリ 16 GB 程度のもの)

ただし、Ubuntu インストール時に自動パーティション作成と自動フォーマットをする方法が提供されています。あらかじめ Ubuntu 用ディスクを用意する作業は、Linux が使えないと少しハードルが高いので、ここでは具体的な方法の説明は省略して、概要だけ説明します。

あらかじめ Ubuntu 用ディスクを用意するには、Linux を使うのが簡単なので、別の Ubuntu マシンを使うか、Raspberry Pi を使います。Ubuntu インストーラー用の USB メモリを USB ブートで起動して、そこから試用版 Ubuntu を起動して作業することもできます。

Ubuntu 用のディスクでは、パーティションテーブルは gpt タイプを使います。最初のパーティションを EFI 用、残りのパーティションを ext4 用に作成します。また、スワップパーティション用にパソコンのメモリと同程度の容量の USB メモリを用意して、そちらもパーティションテーブルは gpt タイプを使います。パーティションは1つ作成して、swap 用にフォーマットします。

ここで、Ubuntu 用ディスクとスワップパーティション用ディスクに分けて Ubuntu 用ストレージを用意する理由について説明します。スワップパーティションは頻繁に書き込みアクセスすることが想定されるものなので、書き込み回数に制限がある SSD などではオフにしたり、あまり使用しないように設定した方が SSD の寿命が長くなります。しかし、実際にパソコンを使うときは、スワップメモリを用意してオンにしておいた方が安定します。そのため、著者は専用の USB メモリを使うことにしています。スワップ用パーティションに要求される性能は、HDD より高速なら良い程度のものですし、交換が必要になったとしても USB メモリなら SSD ほど高くありません。USB ポートがひとつ専有されてしまいますが、トータルのコストパフォーマンスを考えると、この方法が良いと考えています。

ミニ PC に Ubuntu をインストール

準備ができたら、ミニ PC に Ubuntu をインストールします。ここでは、Ubuntu 用の SSD を1台用意してミニ PC へ組み込んだ前提での説明となっています。なお、「Ubuntu 用ストレージの用意」で説明したスワップパーティション用の USB メモリは使っていません。

  1. Ubuntu 用の SSD をミニ PC へ接続
  2. UEFI 設定で USB メモリから起動
  3. ミニ PC で Ubuntu のインストーラーを起動
  4. Ubuntu 用ディスクへ OS をインストール

Ubuntu 用の SSD をミニ PC へ接続

最初に Ubuntu 用の SSD をミニ PC へ接続します。筆者の手元にあるミニ PC では SATA 対応の 2.5 inch SSD を内部に設置して接続するための SATA のケーブルとマウンタがあったので、それを使いました。

ミニ PC から電源プラグを抜いた状態にしてから、SATA のケーブルへ 2.5 inch 用ディスクを接続します。それから、電源プラグをミニ PC へ接続しなおします。

なお、SSD を内部に設置せずに USB SSD を使う方法もあります。こちらの方が家電量販店などでも入手可能な USB SSD が使えるので手軽でしょう。このとき、USB は 3.0 以上のものに対応した SSD を使うようにしましょう。また、ミニ PC 側の USB 端子についても、USB 3.0 以上に対応するものを使うようにしましょう。なお、一般的に、端子の中が青色になっているものが USB 3.0 以上に対応するものです。

また、USB SSD 利用時に電力不足になるとストレージにダメージが出ます。AC アダプタをつけて使うセルフパワーの USB SSD は基本的に大丈夫ですが、バスパワーの USB SSD を使う場合は注意しましょう。他に電力を使う USB ファンや USB のカップ保温器などをパソコンへつけていると安定しない場合があります。

また、バスパワーの SSD を USB ハブ経由でパソコンへ接続するのも良くありません。USB ハブを間にいれる場合は、セルフパワーの USB ハブを使うようにします。

UEFI 設定で USB メモリから起動

Windows 用の内蔵ディスクをミニ PC から取り外している場合は、この設定をしなくても良いのですが、この後のトラブルシュート時にも UEFI 設定で USB メモリから起動する方法についての知識は必要なので、ここで説明しておきます。

ミニ PC で Ubuntu をインストールするにあたっては、UEFI 設定で USB メモリからの起動を最優先としておくのが確実です。この設定をしないと、ミニ PC の電源を入れたときに、内蔵ディスクにインストール済みの OS があると、そちらが起動します。

この設定をするには、ミニ PC に、インストーラー用 USB メモリを挿した状態で、電源を入れます。それからすぐに、Esc キーか Delete キーを連打します。すると、UEFI の設定画面が表示されます。UEFI の設定画面が表示されずに他の OS が起動する場合は、ミニ PC の説明書を確認して、UEFI 画面もしくは BIOS 画面を表示する方法を調べてください。

UEFI の設定画面が表示されたら、矢印キーや Tab キーでメニューを移動します。決定は Enter キーで、取り消しは Esc キーが基本です。

起動デバイスの指定はメニューで Boot を開きます。そこで起動用のデバイスの優先順を変更できるので、USB メモリを最優先とします。右側の説明にあるように、+- キーで Boot Option の変更ができます。

次にメニューで Save & Exit を指定したら、Esc キーを入力して終了します。「Save configuration and exit?」については Yes を選択して Enter キーを入力すると、ミニ PC が再起動します。

参考までに、手元のミニ PC での UEFI 設定画面の表示を示します。

/images/20240814_n100_ubuntu/uefi/01.png
Main メイン設定画面

/images/20240814_n100_ubuntu/uefi/02.png
Boot ブート設定画面

/images/20240814_n100_ubuntu/uefi/03.png
Save & Exit 保存と終了の画面

/images/20240814_n100_ubuntu/uefi/04.png
保存して終了の確認画面

ミニ PC で Ubuntu のインストーラーを起動

USB メモリからミニ PC の起動ができると Ubuntu のインストーラーを起動するためのメニューが表示されます。

/images/20240814_n100_ubuntu/install/01.png
OS のインストーラーを起動するためのメニュー

ここでは Ubuntu のインストールをするので、メニューで「Try or Install Ubuntu」を選択したまま待ちます。時間が経過すると自動で起動します。自動起動するのを待たずに、Enter キーを入力して進めることもできます。

少し待つと、インストーラーの処理が進んで、GUI によるインストールウィザード画面が表示されます。

/images/20240814_n100_ubuntu/install/02.png
インストールウィザード画面

今回、手元で使ったミニ PC では 800*600 の解像度でしか出力されませんでした。こういったときは、Alt キー + F7 を入力してから矢印キーでウィンドウを移動させます。

この方法でウィンドウが移動することを確認したら、「Ubuntu をインストール」をクリックして進めます。

/images/20240814_n100_ubuntu/install/03.png
インストールウィザード画面

Ubuntu 用ディスクへ Ubuntu をインストール

それでは、ミニ PC へ追加した Ubuntu 用ディスクへ OS の Ubuntu をインストールしましょう。「Ubuntu をインストール」をクリックすると、キーボードレイアウトを指定する画面になります。

/images/20240814_n100_ubuntu/install/04.png
キーボードレイアウトを指定する画面

左側の欄で言語として「Japanese」を選択します。右側の欄では日本語向けのキーボードの中でよく使われている種類が表示されます。特別なキーボードを使っていない限り、一般的に使われている「Japanese」を選択しておけば大丈夫です。

それから「続ける」をクリックすると、アップデートと他のソフトウェアの指定をする画面になります。

/images/20240814_n100_ubuntu/install/05.png
アップデートと他のソフトウェアの指定をする画面

ここでは「Ubuntu のインストール中にアップデートをダウンロードする」のチェックをはずします。後で高速なミラーサイトを指定して更新した方が時間短縮になるからです。

/images/20240814_n100_ubuntu/install/06.png
アップデートと他のソフトウェアの指定をする画面で「続ける」をクリック

「続ける」をクリックするとインストールの種類を指定する画面になります。デフォルトの「ディスクを削除して Ubuntu をインストール」を選択したままにします。こうすると、インストーラーが自動でパーティション作成やフォーマットの対応をしてくれます。

/images/20240814_n100_ubuntu/install/07.png
インストールの種類を指定する画面

それから「インストール」をクリックします。

/images/20240814_n100_ubuntu/install/08.png
インストールの種類を指定する画面で「インストール」をクリック

すると「ディスクに変更を書き込みますか?」というメッセージが表示されます。「続ける」と、説明に書いてあるように、パーティションやフォーマットがされます。

/images/20240814_n100_ubuntu/install/09.png
「ディスクに変更を書き込みますか?」の画面

Linux では、今回使用するハードディスクは sda という名前で認識します。メッセージの内容から、sda のディスクに2つのパーティションが作成されて、パーティション1は ESP(EFI System Partition)、パーティション2は ext4 として初期化されます。

パーティション1は EFI システムで使うパーティションになるので、OS をインストールすると起動用のファイルがこのパーティションに作られます。パーティション2は Linux でよく使われているファイルフォーマットの ext4 で初期化して、Linux で使うということになります。

それから「続ける」をクリックすると、「どこに住んでいますか?」の画面になります。

/images/20240814_n100_ubuntu/install/10.png
「どこに住んでいますか?」の画面

ここでの指定は地域(ロケール)の指定に使われます。住所が必要なわけではなく、地域を特定するためによく使われる都市名を指定します。日本に住んでいる場合は、Tokyo と指定します。

それから「続ける」をクリックします。

/images/20240814_n100_ubuntu/install/11.png
「どこに住んでいますか?」の画面で「続ける」をクリック

すると、「あなたの情報を入力してください」の画面になります。

/images/20240814_n100_ubuntu/install/12.png
「あなたの情報を入力してください」の画面

ここでは図に示すように、あなたの名前とユーザー名の入力に user001 を指定しました。自分が使う名前とユーザー名を指定してかまいません。

パスワードの入力とパスワードの確認には、ログイン時の認証で使用するパスワードを指定します。パスワードが推測しやすいものかどうかの判定がされるので、できるだけ「強いパスワード」となる文字列を指定するようにしましょう。パスワードの入力とパスワードの確認の値が一致すると先に進めるようになります。

自動的にログインするのは安全性が低くなるので、「ログイン時にパスワードを要求する」を指定します。

なお、パスワードについては、目のマークをクリックすることで、文字列の表示ができます。

確認の文字列も入力しているので大丈夫でしょうが、大文字と小文字が入れ替わっていたりしてもわかりません。表示することで間違いがなくなりますから、必要に応じて利用してください。

必要事項を入力したら、「続ける」をクリックします。すると、インストールが始まり、ファイルのコピーなどがされます。

/images/20240814_n100_ubuntu/install/13.png
インストール中の画面

しばらく待つと、インストールが完了して、「インストールが完了しました」の画面になります。

/images/20240814_n100_ubuntu/install/14.png
「インストールが完了しました」の画面

ここまで来たらインストーラー用の USB メモリをミニ PC から抜きます。それから、「今すぐ再起動する」をクリックします。

すると、ミニ PC が再起動して、OS の起動を選択するメニューが表示されます。その中から、Ubuntu を起動するものを選択すると、Ubuntu 用ディスクへインストールした Ubuntu が起動します。

なお、手元のミニ PC では再起動せずに、次のような画面となりました。ここでは電源を入れ直して再起動しました。

/images/20240814_n100_ubuntu/install/15.png
インストール後の再起動で停止したときの画面

Ubuntu の初期設定と動作確認

Ubuntu を起動したら、初期設定と動作確認をします。また、アプリのインストールをします。

Ubuntu の初期設定

Ubuntu が起動すると、ログイン画面になります。

/images/20240814_n100_ubuntu/os_setting/01.png
Ubuntu のログイン画面

インストール時に指定したアカウント名が表示されているので、Enter キーを入力します。すると、パスワードを入力する画面になるので、パスワードを入力して Enter キーを入力します。

はじめて Ubuntu へログインすると初期設定のウィザードが表示され、オンラインアカウントの設定画面になります。ここでは設定せずに「スキップ」をクリックします。

/images/20240814_n100_ubuntu/os_setting/02.png
オンラインアカウントの設定画面

次に Livepatch の設定画面になります。これは、Canonical の Livepatch サービスを利用するときに設定します。設定しなくても良いので、「次へ」をクリックします。

/images/20240814_n100_ubuntu/os_setting/03.png
Livepatch の設定画面

次に Ubuntu の改善を支援する設定画面になります。Ubuntu を改善するのに役立つ情報の報告に同意するなら「はい、(略)」を選択し、同意しない場合は「いいえ、(略)」を選択してから、「次へ」をクリックします。

/images/20240814_n100_ubuntu/os_setting/04.png
Ubuntu の改善を支援する設定画面

すると、プライバシーの設定画面になります。位置情報サービスを利用する場合は、有効にします。利用しない場合はそのままにします。「次へ」をクリックします。

/images/20240814_n100_ubuntu/os_setting/05.png
プライバシーの設定画面

すると、準備完了の画面になります。「完了」をクリックします。

/images/20240814_n100_ubuntu/os_setting/06.png
準備完了の画面

ログインしてから、しばらくすると「ソフトウェアの更新」の画面が表示されます。こちらは無視して、/etc/apt/sources.list を書き換えます。キーボードで Ctrl + Alt + t(Ctrl と Alt と t のキーを同時に入力)すると、ターミナルアプリが起動します。そこで、次のコマンドを実行してバックアップを取ります。

sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.original

それから、gedit を管理者権限で起動して、/etc/apt/sources.list を編集します。

sudo gedit /etc/apt/sources.list

これらのコマンドを実行した時の画面は次のようになります。

/images/20240814_n100_ubuntu/os_setting/07.png
gedit の起動

ダウンロードサイトは、https://www.ubuntulinux.jp/ubuntu/mirrors にあるミラーサイトから選択すれば良いです。ここでは、http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ にすることにして、文字列の一括置換をしてから保存しています。

/images/20240814_n100_ubuntu/os_setting/08.png
gedit で置換

ファイルを保存して gedit を閉じたら、ソフトウェアを更新します。

sudo apt update && sudo apt -y upgrade

これでミニ PC で Ubuntu が使えるようになりました。

なお、Ubuntu を終了してミニ PC の電源を切るには、Ubuntu の画面で上部のシステムメニューの右端にある電源のアイコンをクリックして表示されるメニューを使います。

/images/20240814_n100_ubuntu/os_setting/09.png
システムメニュー

そのメニューの「電源オフ/ログアウト」-「電源オフ...」をクリックすると、確認の画面が表示されます。確認の画面で「電源オフ」をクリックすると、Ubuntu を停止することができます。

/images/20240814_n100_ubuntu/os_setting/10.png
電源オフ

アプリのインストール

初期設定と動作確認ができたら、アプリのインストールをします。基本は apt コマンドを使い、PPA がある場合はそれを登録してインストールすると、アプリの管理がしやすくなります。パッケージでの管理が難しいものについては、snapAppImagedocker のどれかを使うようにしています。

個別アプリのインストール方法については、ここでは説明対象とはしませんが、参考までに、筆者が良くインストールしているアプリを紹介しておきます。デスクトップ用マシン以外も所有しているので、サーバーマシンで動かしているものもあります。

コマンドラインアプリ

  • byobu
  • clamav
  • chkrootkit
  • curl
  • docker
  • git
  • gh
  • htop
  • jq
  • mise
  • rkhunter
  • sar
  • ssh
  • ufw
  • virtsh

デスクトップアプリ

  • Apache NetBeans
  • ClamTk
  • Eclipse IDE
  • Firefox
  • Gimp
  • GParted
  • Gnome Tweaks
  • Google Chrome
  • JetBrains Toolbox
    • IntelliJ IDEA
    • PyCharm
    • Android Studio
  • LibreOffice
  • Pluma
  • VirtualBox
  • Visual Studio Code
  • 仮想マシンマネージャ
  • ファイアウォール設定ツール

サーバーソフトウェア

  • openssh server
  • gitea
  • apache2
  • nextcloud
  • mariadb
  • postfix

Windows と Linux のデュアルブート

Ubuntu の設定やアプリのインストールが終了したら、Windows がインストールされた内蔵ディスクをミニ PC へ戻して、Windows と Linux のデュアルブート環境とします。

Ubuntu をシャットダウンしてから、電源プラグを抜きます。それから、内蔵ディスクをミニ PC へ戻して仮組立します。それから UEFI 設定画面を開いて、起動ディスクを選択します。

ここでは、次の説明をします。

  • ミニ PC の UEFI 設定画面での起動ディスク変更例
  • Ubuntu でのディスク情報確認

UEFI 設定画面での起動ディスク変更

ここでは、手元のミニ PC の UEFI 設定画面での起動ディスク変更例を示します。

UEFI 設定画面を開いて、Boot メニューの画面を表示してから「UEFI Hard Disk Drive BBS Priorities」を開きます。

/images/20240814_n100_ubuntu/uefi/05.png
UEFI 設定画面の Boot - UEFI Hard Disk Drive BBS Priorities

すると Boot Option が表示されます。ubuntu と Windows Boot Manager の選択肢があることがわかります。次の図では ubuntu が優先の設定となっています。

/images/20240814_n100_ubuntu/uefi/06.png
ubuntu を優先的に起動する設定

右側の説明にあるように、+- キーで Boot Option の変更ができます。次の図では Windows Boot Manager が優先の設定となっています。

/images/20240814_n100_ubuntu/uefi/07.png
Windows Boot Manager を優先的に起動する設定

Esc キーで前の画面に戻り、次にメニューで Save & Exit を指定したら、Esc キーを入力して終了します。「Save configuration and exit?」については Yes を選択して Enter キーを入力すると、ミニ PC が再起動して Windows が起動します。

このように UEFI 設定画面で指定することで、起動する OS を切り替えることができます。

Ubuntu でディスク情報確認

ここまでで Windows と Linux のデュアルブート環境ができています。参考のため、Ubuntu で各ディスクの情報を確認しておきましょう。環境が壊れて復旧させたいときや、同じようなデュアルブート環境を構築したいときに、動作していたときの状態を把握しておいた方が良いからです。

なお、Ubuntu でアプリの一覧を表示するには、サイドバーの右下のアイコンでマウスオーバーすると「アプリケーションを表示する」と表示されるものをクリックします。

ディスクユーティリティ

Ubuntu ではディスクユーティリティがあるので、これを使うとパーティションの概要がわかります。

ディスクユーティリティはサイドバーへ登録しておくと便利です。アプリケーションの一覧で、ユーティリティにあるディスクをマウスで右クリックするとメニューが表示されます。このメニューにある「お気に入りに追加」をクリックすると、これがサイドバーに追加されます。

/images/20240814_n100_ubuntu/disk/01.png
ディスクユーティリティをお気に入りに追加

Ubuntu をインストールしたディスクに EFI System のパーティションと Ubuntu 用の ext4 のパーティションがあることがわかります。また、Ubuntu はこのディスクを /dev/sda というデバイスファイルのパスで認識することもわかります。

/images/20240814_n100_ubuntu/disk/02.png
Ubuntu をインストールしたディスクの情報

Windows 用のディスクにも EFI System のパーティションがあることがわかります。また、Windows が予約する小さなパーティションと Windows 用の NTFS パーティションがあることもわかります。また、Ubuntu はこのディスクを /dev/sdb というデバイスファイルのパスで認識することもわかります。

/images/20240814_n100_ubuntu/disk/03.png
Windows 用ディスクの情報

なお、手元のミニ PC ではディスクのフルバックアップを取った後に、Windows をクリーンインストールしたため、回復用のパーティションがありません。Windows がプリインストールされたミニ PC をそのまま使っている場合とはパーティション構成が違っています。

GParted

より詳細な情報を表示したり、ディスク操作をしたい場合は、GParted というアプリを使います。次のコマンドでインストールできます。

sudo apt -y install gparted

GParted を起動するには、端末アプリで gparted コマンドを実行します。管理者権限が必要なので sudo コマンドと組み合わせます。

sudo gparted

または、アプリの一覧にある GParted をクリックします。GParted のアプリを起動したら、メニューの「表示」-「デバイス情報」をクリックします。また、デバイスは右上側にあるドロップダウンから選択します。

次に Ubuntu をインストールしたディスクの詳細情報を表示したときの GParted の画面を示します。

/images/20240814_n100_ubuntu/disk/04.png
Ubuntu をインストールしたディスクの詳細情報

次に Windows 用ディスクの詳細情報を表示したときの GParted の画面を示します。

/images/20240814_n100_ubuntu/disk/05.png
Windows 用ディスクの詳細情報

このように GParted を使うと、各ディスクのパーティション情報について詳細を知ることができます。

Windows の時刻設定

Windows と Linux をデュアルブートにする場合は、RTC(Real Time Clock、リアルタイムクロック) に保存する時刻情報について設定を合わせる必要があります。RTC とは、コンピュータの電源が切られていても時刻を保持し続ける時計のことです。一般的には、コンピュータのメインボードに内蔵された小さな電池やバッテリーで駆動され、時刻情報を記憶する CMOS メモリを持っています。マザーボードを見ると、コイン型リチウム電池の CR2032 や CR2332 などが設置されているはずです。これらは RTC 用に使われていることが多いです。

オペレーティングシステム(OS)は起動時に RTC に保存してある時刻情報を使って、システムクロックの時計を初期化します。Windows だと OS で設定されている地域情報に従って時刻情報が保存され、Linux だと UTC(協定世界時)で時刻情報が保存されます。

時刻の設定については、OS の設定、ユーザーの設定、ソフトウェアでの設定があります。ここで、ユーザーの設定、ソフトウェアでの設定については、OS の設定を基準として調整できるようにプログラムが作られていることが多いです。そのため、日本標準時(JST、Japan Standard Time)でしか使わないパソコンでは Windows の設定方法が合理的に感じられます。

しかし、サーバー用途でも使用することが多い Linux では OS の設定を UTC にしておくとトラブルが少なくなります。連携するマシンで基本となる時刻情報を統一しておくと、システム全体が正しく時刻を扱えているかを確認しやすくなるからです。たとえば、ログ情報を確認するにしても、OS レベルで同じ UTC の時刻で記録されていた方が楽です。なお、Linux では OS の時刻情報は UTC を前提としているソフトウェアもあるようなので、UTC 以外の設定をすると警告が表示されます。

ということで、Linux と Windows の両方を使う場合は、OS レベルでは UTC の設定に統一しておくのが良いです。

Windows の設定を Linux に合わせる場合は、RTC に保存する時刻情報を UTC とします。その場合は、HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformationRealTimeIsUniversal というレジストリエントリを 1 にします。この値は、管理者権限のある PowerShell で reg コマンドで設定できます。レジストリエディタを使って該当する値を設定しても良いです。

ここでは reg コマンドで設定することにして、管理者権限のある PowerShell を起動します。

Start-Process 'C:\Program Files\PowerShell\7\pwsh.exe' -Verb RunAs

reg コマンドでレジストリの値を追加するには reg add、参照するには reg query、削除するには reg delete といったコマンドを使います。レジストリの値を更新するには reg add/f オプションをつけて使います。

それぞれのコマンドのオプションについてはヘルプで確認ができるので、ここでは説明を省略します。ヘルプを表示するには reg add /? のように /? オプションをつけます。

それではレジストリを設定しましょう。次のコマンドを実行します。

reg add  `
  "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation"  `
  /v RealTimeIsUnivers /d 1 /t REG_DWORD /f

実際にこれを実行したときの結果は次のようになります。

PS C:\Users\user001> reg add  `
>>   "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation"  `
>>   /v RealTimeIsUnivers /d 1 /t REG_DWORD /f
この操作を正しく終了しました。

更新されたかは、下記のコマンドを実行し、表示結果に含まれる RealTimeIsUniversal の値が REG_DWORD 0x1 となっていることで確認できます。

reg query `
  "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" `
  /s

実際にこれを実行したときの結果は次のようになります。

PS C:\Users\user001> reg query `
>>   "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" `
>>   /s

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation
    Bias    REG_DWORD    0xfffffde4
    DaylightBias    REG_DWORD    0xffffffc4
    DaylightName    REG_SZ    @tzres.dll,-631
    DaylightStart    REG_BINARY    00000000000000000000000000000000
    StandardBias    REG_DWORD    0x0
    StandardName    REG_SZ    @tzres.dll,-632
    StandardStart    REG_BINARY    00000000000000000000000000000000
    TimeZoneKeyName    REG_SZ    Tokyo Standard Time
    DynamicDaylightTimeDisabled    REG_DWORD    0x0
    ActiveTimeBias    REG_DWORD    0xfffffde4
    RealTimeIsUnivers    REG_DWORD    0x1    ← この値を確認

戻すには、下記コマンドを実行します。

reg delete `
  "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" `
  /v RealTimeIsUniversal /f

おわりに

以上でミニ PC で構築する開発環境についての説明はおしまいです。Windows と Ubuntu をデュアルブートにしたマシンを運用するには、もう少し設定しておいた方が良いことがありますが、最低限の環境構築についての説明はできたと考えています。

これまでの記事を参考に、Windows と Ubuntu Desktop を使える環境を用意して、Linux 使いを目指してもらえれば幸いです。

参考資料

Ubuntu のインストールについての資料は次にあります。ただし、本家のものなので英語版となります。

インストーラーのダウンロード関連の資料もあります。

Discussion