本記事は「ものづくりのためのLinux講座」のうちのLinux環境立ち上げに関する内容です。
「Linuxを勉強したいけれど、どうやってLinux環境を立ち上げたらよいかわからない」あるいは、「ネットで調べるといくつかLinux環境を立ち上げる方法が見つかるけれど、どれが自分に合っているか判断できない」という方のために、複数のLinux環境立ち上げ方法を紹介します。
それぞれの方法のメリット、デメリットを端的に表現すると以下となります。
大項目 | 小項目 | メリット | デメリット | おすすめ度 |
---|---|---|---|---|
Windowsと共存 | WSL2 & Ubuntu | ・Windowsの純正機能である安心感 | ・内蔵カメラが使えないなど外部機器との通信に制約あり | △ |
Virtual Box & Ubuntu | ・手軽にLinuxを立ち上げられる | ・外部機器との通信に手間がかかる | △ | |
Windows & Ubuntuデュアルブート | ・純粋なLinuxとしてPCの機能をフル活用できる | ・PCが起動できなくなったり、Windowsの更新時などにトラブルが多い | △ | |
Macと共存 | UTM & Ubuntu | ・手軽にLinuxを立ち上げられる | ・外部機器との通信に手間がかかる | △ |
Linux専用PC | Ubuntu | ・純粋なLinuxとしてPCの機能をフル活用できる | ・Linux専用のPCを用意する必要がある | ◎ |
シングルボードLinux | ラズパイ | ・電子工作に利用できる | ・重い処理には不向き | ○ |
Jetson-Nano | ・電子工作に利用できる ・GPUを使った機械学習の推論を実行できる | ・ラズパイに比べて高価 | ○ | |
Android機器 | termux(アプリ) | ・Androidケータイやタブレットがあれば気軽にLinuxを試せる | ・画面が狭い ・キーボード入力しづらい ・通常のLinuxとディレクトリ構造が異なりうまく動かないプログラムがある | ✕ |
やはり、Linuxマシンの立ち上げ方として最もおすすめなのは、UbuntuをインストールしたLinux専用PCですね。
1台のPCでWindowsとLinuxを切り替えて使いたいという気持ちもわからなくはないのですが、上記のとおり制約やデメリットがあります。
Linux用にPCを1台用意できるのであれば、ぜひネイティブLinux PCを立ち上げてください。
Linuxは低性能なPCでも比較的快適に動作するので、PCを買い換えるタイミングが、古いPCをLinuxにするチャンスかもしれません。
Windowsと共存
Windows PCを所有していて、Windows環境は残しつつ、Linux環境を立ち上げたい方向けの説明になります。
選択肢が多くて悩むのもWindows PCだと思います。
WSL2 & Ubuntu
まず、最初はWSL2(Windows Subsystem for Linux 2)を利用する方法です。
WSL2では、Windows上に仮想マシンを構築してLinux OSを動作させます。
Linux OSにはさまざまなディストリビューションがありますが、使いやすくて人気があるUbuntuをインストールする方法を紹介します。
以降、Windows11での操作を説明します。
Windowsマークをクリックして、検索窓に「windows features」と入力すると、「Windowsの機能の有効化または無効化」が見つかるのでクリックします。
「Hyper-V」の左にある+マークをクリックして階層を展開し、「Hyper-V プラットフォーム」と「Hyper-V 管理ツール」の両方と「Linux用Windowsサブシステム」にチェックを入れます。
下の方にスクロールして「仮想マシン プラットフォーム」にチェックが入っていることを確認します。
OKをクリックすると、再起動を求められるので、再起動します。
Windowsマークを右クリック→ターミナル(管理者)を立ち上げ、以下のコマンドでWSL2を使用するための準備をします。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux wsl --set-default-version 2
ここでインストール可能なディストリビューションを確認します。
wsl --list --online
上記コマンドを実行して表示されたUbuntu-〜のうち、最も新しいものをインストールすると良いでしょう。
以下は、Ubuntu-22.04のインストール例です。
wsl --install -d Ubuntu-22.04
このあとUbuntuのターミナルが立ち上がり、ユーザ名とパスワードを設定します。
Windowsマークを右クリック→ターミナル(管理者)からターミナルを立ち上げ直すと、以下のようにvマークのプルダウンメニューにUbuntuが表示されるので、クリックすると新しいタブでUbuntuのターミナルが立ち上がります。(以下はUbuntu-20.04をインストールした際に画面キャプチャしたものです)
PowerShellターミナル上で単にwsl
と入力することでもUbuntuを起動できます。
Virtual Box & Ubuntu
Oracle社のVirtual Boxを利用して仮想マシン上でUbuntuを動作させる方法を紹介します。
以下の動画にも手順を収めていますので、よろしければ参考にしてください。
事前準備として「WSL2 & Ubuntu」の章に記載したBIOS設定とHyper-Vと仮想マシンプラットフォームの設定は同様に必要ですので、済ませておいてください。
こちらからUbuntuのISOイメージをダウンロードします。
こちらから、「Windows hosts」のリンクをクリックしてVirtualBoxのインストーラをダウンロードして実行します。
VirtualBoxのインストール時にVC++をインストールするようメッセージが表示された方は、こちらからX64のリンク(下図赤枠)をクリックしてVC++をインストールしてください。
VirtualBoxを起動できたら、新規をクリックして、以下の画面から仮想環境名とISOファイルを指定、Skip Unattended Installationにチェックを入れて次へをクリックします。
続くメモリサイズ、CPU数、DISKサイズはお好みで設定して起動をクリックするとUbuntuのインストーラが立ち上がります。
画面サイズが合わない場合は、UbuntuのSettings→Displays→Resolutionでディスプレイサイズに合わせると、フルスクリーン表示した際に使いやすくなります。
Windows & Ubuntuデュアルブート
Windows向けとして最後に紹介するのは、Windows PCに追加でUbuntuをインストールして、起動時にOSを選択できるようにする方法です。
この方法は、Ubuntuインストール後やWindows Update後にPCが起動できなくなってしまうなど、よくトラブルが発生するので、おすすめしません。
問題が起きても自力で調べて解決できる自信のある方は、チャレンジしてみるのも良いと思います。
以下の動画でもデュアルブート環境の立ち上げ方や、起動できなくなった状態からの復帰方法を紹介していますので、参考にしてください。
Windowsのメニューバーにある検索窓にdiskmgmt.msc
と入力して、ディスクの管理を開き、Cドライブ上で右クリック→ボリュームと進み、パーティションのスタイルが「マスターブートレコード(MBR)」となっている場合は、下記のdiskpartとmbr2gptでGPTへの変更を行います。
すでにGPTになっている方は、UbuntuのISOイメージダウンロードへ進んでください。
Windowsの検索窓にcmd
と入力して、コマンドプロンプトを見つけ、右クリックから管理者権限で実行します。
以下のコマンドでdiskpart
を起動します。
diskpart
diskpart
が立ち上がったら、以下のコマンドを実行します。
list disk
以下のように表示されると思います。
ディスク 状態 サイズ 空き ダイナ GPT ### ミック ----------- ------------ ------ ----- --- --- ディスク 0 オンライン 111 GB 1024 KB
上記でディスク番号が0であることがわかります。
以下のコマンドでdiskpart
を終了します。
exit
次のコマンドを実行して、GPTへ変換可能かの確認を行います。
mbr2gpt /validate /disk:0 /allowFULLOS
MBR2GPT: Validation completed successfullyと表示されれば問題ないので、以下のコマンドでパーティションスタイルを変更します。
mbr2gpt /convert /disk:0 /allowFULLOS
シャットダウンしたら、BIOSを起動してブートモードを「レガシー」から「UEFIハイブリッド(CSMあり)」に変更して、Windowsを起動し、ディスクの管理からパーティションスタイルを確認すると、「GUIDパーティションテーブル(GPT)」となっているはずです。
こちらからUbuntuのISOイメージをダウンロードします。
こちらからBalena Etcherのインストーラをダウンロードして実行します。
Etcherを起動したら「Select image」で、UbuntuのISOイメージを選択、空のUSBメモリを差し込んで「Select drive」で選択して「Flash」を押すことでUbuntuのインストールメディアを作成できます。
作成したUbuntuのインストールメディアをUSBスロットに差し込んだ状態でPCを起動し、インストーラを立ち上げます。
Ubuntuのインストーラが立ち上がったら、言語を選択して「Install Ubuntu」をクリックして先に進みます。
Wi-Fiの設定やユーザ名、PC名など画面の指示にしたがって進めれば良いですが、下記は重要なので間違えないようご注意ください。
インストールの方法を選択する際、Windowsを残しつつUbuntuをインストールするための「Install Ubuntu alongside Windows Boot Manager」を選択して先に進みます。
マウスで下図の赤丸部分をドラッグすると、WindowsとUbuntuのディスクサイズを割り振りを変えられます。
インストールが終わるとインストールメディアを抜いてEnterを押すように指示されるので従います。
PCが再起動しますが、ここでGrubというUbuntuとWindowsを選択できる黒い画面が出れば問題なくデュアルブートの設定ができている状態ですが、私の場合、起動しようとして電源が落ちて再起動を繰り返す状態になりました。
この場合、ESCを連打してSetup Menuを立ち上げます。(機種によって方法は異なる)
「F9 Select Boot Options」を選択し、「ubuntu」を選択し、さらに「Ubuntu」を選択するとUbuntuが起動します。
ログインしてターミナルを立ち上げ、以下のコマンドでboot-repairを起動します。
sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair boot-repair
「Recommended Repair」をクリックします。
最後に表示される下記赤枠のメッセージが大事なので、メモするか写真を撮っておきます。
OKをクリックしてboot-repairを終了し、シャットダウンします。
PCの電源を入れてESCを連打してSetup Menuを立ち上げ、「F9 Select Boot Options」→「ubuntu」→「Windows Boot Manager」を選択するとWindowsが起動します。
ログインして、Windowsマークの横にある検索窓に「cmd」と入力し、右クリックから「管理者として実行」でコマンドプロンプトを管理者権限で起動します。
ここで、さきほどメモした以下のコマンドを実行します。
bcdedit /set {bootmgr} path ¥EFI¥ubuntu¥grubx64.efi
「この操作を正しく終了しました。」とメッセージが出る以外、特に何も起きませんが、これで次回以降の起動時はGrubが立ち上がり、起動するOSを選択できるようになります。
「ubuntu」を選択すればUbuntuが起動し、「Windows Manager」を選択するとWindowsが起動します。
Macと共存
macOSはもともとUNIXから派生したOSのため、ターミナルからLinuxとほぼ同等のコマンドを実行することができます。
そのため、基本的にはLinux環境を立ち上げる必要が無いと考えますが、あえてLinux環境を立ち上げる方法として、以下の方法を紹介します。
UTM & Ubuntu
Virtual BoxでもWindowsの章で紹介したのと同様の方法で仮想マシンでLinuxを立ち上げることができますが、2023年8月現在、M1/M2(Apple Silicon) Macに対応していないため、ここではIntel MacとM1/M2 Macの両方に対応しているUTMを使用して仮想環境のLinuxを立ち上げる方法を紹介します。
以下のコマンドでインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install --cask utm
Ubuntu ISOイメージをダウンロードします。
Intel Mac: https://ubuntu.com/download/desktop
M1/M2 Mac: https://cdimage.ubuntu.com/jammy/daily-live/current/
→ jammy-desktop-amd64.iso
UTMを起動して、新規仮想マシンを作成→仮想化→Linux→起動ISOイメージに上記でダウンロードしたISOイメージファイルを指定します。
メモリ、CPUコア数、ストレージサイズをお好みで設定します。
共有ディレクトリは、あらかじめ空のフォルダを作成して指定します。
▶マークからUbuntuを起動し、インストーラの指示に従ってインストールを進めます。
インストール完了後に「Restart Now」をクリックして再起動します。
しかし、再びUbuntuのインストーラが立ち上がってしまうので、ここではウィンドウの✕印をクリックして閉じます。
次に下図のように、ペンギンのマークのUbuntu上で右クリックから編集を行います。
IDEドライブのうち1つが、UbuntuインストーラのISOイメージになっているので、ドライブを削除して保存します。
これで、再度▶マークからUbuntuを起動するとログイン画面が表示され、使えるようになります。
MacとUbuntu仮想環境でファイルを共有するための共有ディレクトリを使うには、以下のコマンドを実行します。
sudo mkdir /mnt/mac sudo mount -t 9p -o trans=virtio share /mnt/mac -oversion=9p2000.L
これで/mnt/mac
にファイルを置くと、Mac側で作成した共有フォルダから見えるはずです。
ただし、毎度Ubuntuを起動した際に上記コマンドを打ち込むのは面倒なので、起動時に自動的にmountした状態にするために、/ets/fstab
を編集します。
sudo vi /etc/fstab
viエディタの使い方がわからない方は以下の動作を参考にしてください。
/etc/fstabの末尾に以下の行を追記します。
share /mnt/mac 9p trans=virtio,version=9p2000.L,rw,_netdev,nofail 0 0
これで次回起動時はmount
コマンドを実行しなくても/mnt/mac
がMacとのファイル共有場所として機能します。
Linux専用PC
もともとWindowsやMacだったノートPCやデスクトップPCにUbuntuをインストールしてLinux専用PCにする方法を紹介します。
私がもっともおすすめする方法になります。
Linuxはスペックが低いPCでも比較的快適に動作するので、すでに使わなくなった古いPCを利用するのも良いでしょう。
Ubuntu
Ubuntuは無料で利用できる多くのLinuxディストリビューションの中で、最もメジャーなものと言って良いと思います。
特にこだわりが無く、はじめてのLinuxという場合はUbuntuの最新LTS(Long Term Support)版をおすすめします。
まず、Ubuntuのインストールメディアを作成する必要があります。
こちらのサイトからISOファイルを入手し、USBメモリに書き込みます。
ISOイメージをUSBメモリに焼くにはBalena Etcherというアプリを使うと良いです。
インストールするPCのBIOSを立ち上げて、BootメニューからUSBメモリの優先順位を最上位にして、USBメモリを差した状態で起動するとインストーラが立ち上がります。
BIOSの立ち上げ方は機種によって異なりますが、多くの場合、電源ボタンを押してすぐにF2、F10、ESCなどのキーを連打するとBIOSが起動するはずです。
インストーラが起動したら、指示に従って進めればよく、途中の選択肢で元のOSを消して良いか聞かれるので、消してしまってインストールします。
以下の記事も参考になると思います。
機械学習環境が不要な方は、「Ubuntuインストール」の章までを見てください。
シングルボードLinux
ラズパイやJetson-Nanoは小さなシングルボードコンピュータであり、その小ささから電子工作によく使われます。
これらはどちらも標準のLinux OSが用意されており、PCでMicro SDカードにインストーライメージを焼いてセットアップしていきます。
ラズパイ
以下の記事でRaspberry Pi Imagerを使ってラズパイを立ち上げる方法を紹介しています。
Raspbian OSはDebian系のLinuxで、GPIOの操作がしやすいコマンドが用意されています。
Ubuntuをインストールすることも可能ですが、上記の理由から電子工作に使う場合は、Raspbian OSを使うのがおすすめです。
Jetson-Nano
以下の記事でJetson-Nanoの立ち上げ方法を紹介しています。
Jetson-NanoはUbuntuベースのLinux環境になっていて、PCにUbuntuをインストールした場合と同様の使い勝手になります。
GPIOピンが付いているので、センサーやモータなどをつないだ電子工作に利用することができます。
Android機器
Androidケータイやタブレットをお持ちであれば、Android OSはLinuxのため一般的なLinuxと同じように使うことが可能です。
ただし、画面が狭かったり、キーの打ち込みがしづらいなど、不便なためこの方法はおすすめしませんが、PCを所有していないけれどLinuxの勉強はしたいという方は、本章の方法でLinuxのターミナルを使うことができます。
termux(アプリ)
Androidでターミナルを使うならコレ!という定番のターミナルアプリでこれをインストールすることで普通のLinuxのようにターミナル操作が可能になります。
ただし、ケータイやタブレットなどでターミナル操作を行うには画面が狭かったり、キー入力がしづらかったりすると思うので、おすすめはしません。
Termuxを起動すると以下のようにLinuxのターミナルが立ち上がります。
Linuxターミナルで通常のキーボードと同様の配置でキー入力ができるHacker’s Keyboardと相性が良いのでお好みでインストールすると良いでしょう。
Termuxのメンテナンスは止まっているようで、デフォルトのリポジトリ設定ではパッケージ管理ツールpkgが正常に実行できなかったので、リポジトリの設定変更を行います。
Termuxのターミナルに以下のように打ち込みます。(最後にEnterを押す)
termux-change-repo
以下の画面になるので、↓とスペースキーで3項目とも[*]の状態にしてEnterを押します。
次の画面では下から2番目の項目を(*)にしてEnterを押します。
これでpkgコマンドが使えるようになるので、以下のコマンドで各種ライブラリの更新をします。
pkg update pkg upgrade
Termuxは、そのままではスマホに保存したファイルなどを参照できないので、以下のコマンドを実行してアクセス可能にします。
termux-setup-storage
まとめ
Linux環境を立ち上げるための様々な方法を紹介しました。
それぞれメリット・デメリットがあり、まとめると以下になります。
大項目 | 小項目 | メリット | デメリット | おすすめ度 |
---|---|---|---|---|
Windowsと共存 | WSL2 & Ubuntu | ・Windowsの純正機能である安心感 | ・内蔵カメラが使えないなど外部機器との通信に制約あり | △ |
Virtual Box & Ubuntu | ・手軽にLinuxを立ち上げられる | ・外部機器との通信に手間がかかる | △ | |
Windows & Ubuntuデュアルブート | ・純粋なLinuxとしてPCの機能をフル活用できる | ・PCが起動できなくなったり、Windowsの更新時などにトラブルが多い | △ | |
Macと共存 | UTM & Ubuntu | ・手軽にLinuxを立ち上げられる | ・外部機器との通信に手間がかかる | △ |
Linux専用PC | Ubuntu | ・純粋なLinuxとしてPCの機能をフル活用できる | ・Linux専用のPCを用意する必要がある | ◎ |
シングルボードLinux | ラズパイ | ・電子工作に利用できる | ・重い処理には不向き | ○ |
Jetson-Nano | ・電子工作に利用できる ・GPUを使った機械学習の推論を実行できる | ・ラズパイに比べて高価 | ○ | |
Android機器 | termux(アプリ) | ・Androidケータイやタブレットがあれば気軽にLinuxを試せる | ・画面が狭い ・キーボード入力しづらい ・通常のLinuxとディレクトリ構造が異なりうまく動かないプログラムがある | ✕ |
Linux専用マシンとしてUbuntuを立ち上げるのが、立ち上げ時や運用上のトラブルもなく、外部機器との通信もスムーズに行えるため、最もおすすめです。
Linux OSは一般に動作が軽いため、中古のノートPCをフリマサイトなどで1万円未満で入手して、Ubuntuをインストールするのが、最初のとっかかりとしては良いと思います。
Linuxを使い慣れてきて、さらに高速に動作させたくなってきた際には、高性能なPCに移行すれば良いでしょう。
これからLinux環境を立ち上げようとされている方の参考になれば幸いです。
文献紹介
Linuxの基本的な使い方からシェルスクリプトを使ったプログラミング、git
によるバージョン管理など、エンジニアが知っておくべき基本的な知識について解説してくれています。
参考文献
- Fix: Boot Device Not Found (3F0) Error on Ubuntu PC(https://appuals.com/boot-device-not-found-hard-disk-3f0-error-on-ubuntu-pc/)
- Termuxでpkg(apt)が使えない問題を解決する(2021年5月)(https://qiita.com/jan_pali_1212/items/8658cab554b619a32371)