茱萸note

電子工作の備忘録と旅行の記録

OS Ubuntu 電子工作

【上級者向け】Ubuntuをデュアルブートする《その1:既にWindowsが入っているSSD・HDDにUbuntuを入れる》

投稿日:2020年4月25日 更新日:

既にWindowsがインストールされているSSD・HDDに追加でUbuntuをインストールする方法です。上級者向け。


目次


更新履歴

  • 2020年4月26日 …… 『Ubuntuをデュアルブートする《その2:USBメモリ・外付けHDDにUbuntuを入れる》』ページの誕生に合わせてタイトルと一部記述を変更

注意事項

この記事は、以下の全てに該当する人が対象です。

  • WindowsがインストールされたSSD・HDDに、追加でUbuntuを入れてデュアルブートさせたい

Windowsがインストールされていない、例えば空のSSD・HDDにUbuntuを入れたい場合、また、WindowsとデュアルブートはさせたいがUbuntuはUSBメモリや外付けHDDにインストールしたい場合は、《その2》の方法を用いて下さい。オススメしませんが。

また、近年は WSL (Windows Subsystem for Linux) でWindows上でもUbuntu環境を試すことができます。リスクの大きいデュアルブート、特にノートパソコンではインストールに失敗する事が多いデュアルブートは最終手段と捉えたほうが良いかもしれません。

手順を誤ったり、手順を誤らなくても運が悪いと既存のWindowsが起動しなくなったり、データが消えたりします。大切なデータはあらかじめバックアップすることを強くオススメします。

はじめに

必要な要件や必要なものは、以下の通りです。

  • Ubuntuに最低でも16GBを割り当てるだけ、Windowsに空き容量がある
  • 4GB以上の空のUSBメモリ

Ubuntuには40GB程度を割り当てられると余裕があって本当は良いでしょう。まぁUbuntuに何をさせるかによりますが。ノートPC等で、SSDに余裕が無い場合は、外付けSSD・HDDや高速なUSBメモリにインストールするという方法も検討の余地はあります。

仮に、Ubuntuに100GB割り当てるとします。この中で、丸々100GBをUbuntuのメインとなる領域(WindowsでいうCドライブ?)に割り当てられるわけではありません。Linuxのインストールには、一般的に、『スワップ領域』というものを確保する必要があります。スワップ領域とは、Windowsで仮想メモリと呼んでいるものと同じで、PCのメモリが足りなくなった時に使われる領域です。一般的に、メモリの2倍の容量を確保するのが望ましいとされます。8GBのメモリを積んだPCなら16GBです。でも、よっぽど大掛かりな作業をさせないとメモリが枯渇することは無いと思われるので、数GB程度確保、あるいは、最悪無くても問題は無い気がします。また、スワップ領域を確保する代わりに『スワップファイル』を設ける方法もあります。

この記事では、Ubuntuに合計で100GBを割り当てるとして、その内訳を

  • Ubuntuのメインとなる領域を84GB
  • スワップ領域を16GB

として作業をすすめたいと思います。

UbuntuのインストールUSBをつくる

まずは、Ubuntuのインストールイメージファイル(ISOファイル)をダウンロードします。

2020年4月に Ubuntu 20.04 が出ました。この記事は Ubuntu 18.04 でインストールを試しています。各々の事情に合わせて、適切なバージョンを選択して下さい。

また、インストールUSBを作るために、『UNetbootin』というソフトをダウンロードします。
https://unetbootin.github.io/

中身が空っぽのUSBを用意し、Windowsが起動しているPCに挿します。ディスクイメージを先ほどダウンロードしたUbuntuのISOファイル、タイプは『USB ドライブ』、ドライブも正しく選択されていることを確認して、『OK』を押します。10分弱くらい待ちます。

Windowsの領域を縮める

次に、Windowsの領域を縮めます。スタートボタンを右クリックして『ディスクの管理』を選択。

Windowsがインストールされた『(C:)』ドライブを右クリックして、『ボリュームの縮小』。

縮小可能な領域が表示されます。このとき、使い込んだPCだと、縮小可能な領域が思いの外小さい事が多々あります。「空き容量はこんなにあるのに縮小可能な領域はこれだけしかないの!!!」と思った人は、他の方法で領域の縮小を試してみるのが良いと思います。例えば『EaseUS Partition Master』を使う方法があります。

今回は、100GBをUbuntu用に確保したいので、100×1024=102400MBを縮小します。

未割り当て領域が正しく爆誕したことを確認して、『ディスクの管理』を閉じます。

高速スタートアップを無効化する

高速スタートアップを無効化します。

設定のシステム→電源とスリープ→電源の追加設定と辿ります。

『電源ボタンの動作を選択する』を選択、『現在利用可能でない設定を変更します』を選択、『高速スタートアップを有効にする(推奨)』のチェックを外します。『変更の保存』を押して終わりです。

UEFI設定画面を表示させる

UEFI設定画面(かつてはBIOSと呼ぼれていたもの)を表示させます。表示させるには二つの方法があります。

  • PCメーカー(マザーボードメーカー?)のロゴが表示されたらF2かF8かF10かF12かDeleteかEnterかその他のキーを押す
  • WindowsでShiftキーを押しながら再起動する

PCのロゴが表示されたらF2かF8か……を押す

PCを(再)起動させた直後、PCメーカー(マザーボードメーカー)のロゴが表示されます。そしたら急いで F2かF8かF10かF12かDeleteかEnterかその他のキーを押します。どのキーを押すべきかはロゴと一緒に表示される場合もありますし、表示されない不親切なメーカーもあります。手当り次第にFnキーかDeleteかEnterキーを押せば運が良ければUEFI設定画面に推移することができます。

UEFI設定画面に推移することできない場合、ロゴがそもそも表示されない場合は、次の方法を試してみてください。

WindowsでShiftキーを押しながら再起動する

先述の方法より、確実な方法です。Shiftキーを押しながら、『再起動』をクリックします。

『トラブルシューティング』→『詳細オプション』→『UEFIファームウェアの設定』の順に辿ります。すると、PCが再起動すると同時にUEFI設定画面が表示されます。

Fast Boot と Secure Boot を無効化する

Fast Boot と Secure Boot を無効にします。PC or マザーボードメーカーによって、設定項目の場所は全く異なります。

まずは、MSI製のマザーボードを例に説明します。 『Advanced』の『Windows OS Configuration』の中に『Fast Boot』と『Secure Boot』の設定項目があります。

設定を変更したら、『Save & Exit』の『Save Changes』で設定を保存します。

ASUSのマザーボードの場合、『Advanced Mode』に移行したのち、『Boot』に『Fast Boot』や『Secure Boot』の設定項目があると思います(画像が無くてごめんなさい……)。

工場出荷状態だと『Secure Boot State』が『Enable』のまま変更できない事があります。この場合、

  • 先に『Fast Boot』を無効にする
  • 『Key Management』を選択。『Clear Secure Boot Keys』を選択。

これで、『Secure Boot』を『Disable』にできるはずです。設定を変更したら、『Save』するのを忘れないでください。

USBメモリから起動する

USBメモリのUbuntu インストール環境を起動するために、UEFIの設定画面を開きます。

まずは、MSI製のマザーボードを例に説明します。USBメモリから起動させるためには『BOOT 優先度』を変えても良いですが、今回一時的にUSBメモリから起動させたいだけなので、『Save & Exit』の『Boot Override』でUSBメモリを選択すれば一時的にUSBメモリから起動させるということができます。

ASUS製のマザーボードの場合、『Advanced Mode』に移る前の『Ez Mode?』の右下で『BOOT 優先度』を変えることもできますが、一時的にUSBメモリから起動させるのであれば『Boot Menu (F8)』からUSBメモリを選ぶこともできます(画像が無くてごめんなさい……)。

『Try Ubuntu without installing』を選択

以下の画像のような画面が現れたら、『Try Ubuntu without installing』を選択します。NvidiaのGPUを搭載していないPCであれば、Enterキーを押して構いません。

NvidiaのGPUを搭載したPCの場合は、 『Try Ubuntu without installing』を選択した状態で、『e』キーを押します。AMDはどうなの? ごめんなさい、わかりません……。

『e』を押したら、次に、 bash💩quiet splash と書かれた箇所を nomodeset に書き換えて、『F10』 キーを押します。起動が始まります。

パーティションを作成する

GParted というソフトを開いて、SSD・HDDの空き領域にパーティションを作成します。

WindowsでCドライブの領域を縮めたので、以下の図のように、未割り当て領域が存在するはずです。

そこを右クリックして、『新規』を選択します。

まずは、Ubuntuのメインとなる領域(パーティション)を作成します。『後方の空き領域』にスワップを割り当てる予定なので、スワップ分だけ空けておきます。ここでは、16GBスワップ領域を確保するので、16×1024=16384MB 後方の空き領域を確保します。『基本パーティション』を選択し、ファイルシステムを『ext4』に設定します。設定を終えたら追加を押します。

次に、スワップ領域を作成します。スワップ領域を確保しない場合は、この手順は不要です。

『基本パーティション』を選択し、ファイルシステムを『linux-swap』とします。設定を終えたら追加を押します。

以下の画像のように、正しくパーティション作成の設定ができていることを確認して、実行ボタン(チェックマークの部分)を押します。実行ボタンを押して、『適用』を押すと、実際にパーティションの作成がおこなわれます。

パーティションの作成が済むと、領域に名前(番号?)が割り当てられます。『/dev/sda3』や『/dev/nvme0p4』といった感じです。一応記憶しておきます。

Ubuntuのインストールをする

デスクトップの『Ubuntuをインストール』をクリックして、インストール作業を進めます。はじめに、使用言語やキーボードレイアウトを指定します。

『通常のインストール』を選択。『グラフィックスと……サードパーティ製ソフトウェアをインストールする』を選択します。

Secure Boot が無効になっていない場合、ここで、「セキュアブートが無効になっていません」と言われます。その場合は、一旦『終了』して、Secure Boot を無効にする作業をやり直して下さい。

インターネットに繋がっている場合、『Ubuntuの……ダウンロードする』という項目が選択できるので、選択しておきましょう。

インストールの種類を選択する画面が現れたら、『それ以外』を選択します。

まず、Ubuntuのインストール先のメイン領域を選択し、『変更』をクリックします。選択を間違えないよう細心の注意を払って下さい。

『ext4ジャーナリングファイルシステム』を選択。マウントポイントを『/』に設定します。

『続ける』を選択。

ブートローダをインストールするデバイスを選択します。例えばUbuntuのインストール先パーティションが『/dev/sda4』であればブートローダのインストール先デバイスは『/dev/sda』になりますし、 Ubuntuのインストール先パーティションが『/dev/nvme0p3』であればブートローダのインストール先デバイスは『/dev/nvme0』になる、といった具合です。

設定が済んだら、『インストール』を選択します。

色々聞かれますが、GPartedでパーティションの作成とフォーマットを済ませてあるので問題ないです。『続ける』をクリック。

どこに住んでますか? 正直に答えなくとも良いですがタイムゾーンが正しく設定されないと後々厄介なので正直に答えましょう。

『あなたの名前』を英数字で入力。すると、『コンピュータ名』と『ユーザー名』が自動で入力されますが、気にいらなければ個別に修正できます。

『コンピュータ名』は、例えば、 GumiNote-PC といった感じのシンプルな名前が良いでしょう。なお、会社や研究機関でLAN内に複数のPCがある場合、コンピュータ名が重複していると多少厄介なので気をつけましょう。

『ユーザー名』は、大文字は使えません。

あとはインストールが終わるまで待ちます。インストールが終わると「再起動するか?」と聞かれます。『試用を続ける』を選択しましょう。

以上でインストールは概ね終わった(終わったとは言っていない)ので、Ubuntuが起動するか確認を行います。Ubuntuインストール環境をシャットダウンしましょう。シャットダウンは、右上の電源ボタンっぽいのをクリックすればできます。このあと、場合によっては『Please remove install usb media then press enter(?)』みたいに指示されるので、指示通りUSBメモリを抜いてEnterキーを押してシャットダウンします。

Ubuntuの起動を確認する

PCを起動します。先ほど、UEFI設定画面で、『BOOT優先度』を変更した場合は、元通り内蔵ディスクの優先度が高くなるように設定を変更します。

インストールがうまくいっていれば、おそらく、OS選択画面が表示されるはずです。『Ubuntu』を選択すればUbuntuが起動し、『Windows Boot Manager』を選択すればWindowsが起動するはずです。とりあえず、『Ubuntu』を選択して、Enterキーを押します。

Nvidia GPUを搭載しているPCの場合、画面が乱れる or 起動しないことが多々あります。この場合、一旦PCを強制終了させて再び起動させ、OS選択画面が表示されたら、USBから起動したときと同様に『e』キーを押して、 quiet splash と書かれた箇所を nomodeset に書き換えて、『F10』 キーを押す作業をします。

起動したら、ログインします。インターネットに繋いで、Ctrl + Alt + T を押して端末を起動し、sudo apt updatesudo apt upgrade を実行してOSとソフトウェアを最新に更新します。

以上で、インストール作業は終了です。快適な Ubuntu ライフを!

……Nvidia GPU 搭載 PC をお使いの皆様には続きがあります。

Nvidia ドライバ を入れる

Nvidia GPU を搭載した PC をお使いの皆様は、ドライバのインストールがさらに必要です。なお、機械学習をする予定がある等で

  • CUDAをインストールする必要がある

場合は、CUDAをインストールする際にNvidiaドライバーをインストールすると楽かつ一番安定する気がするので、別記事にまとめます。

とりあえず、Nvidiaドライバーだけをインストールしたい人に向けて続きを述べます。

sudo add-apt-repository ppa:graphics-drivers/ppa

と入力し、Enterを押します。その後、 sudo apt update します。

次に、インストールすべきドライバのバージョンを確認します。次のサイトにアクセス。
https://www.nvidia.co.jp/Download/index.aspx?lang=jp

GPUの型番を入力して、OSタイプを『Linux 64bit』にして検索。型番がわからなければ、 lspci | grep VGA とかで調べられる気がします。

表示されるドライバのバージョンを調べます。バージョンを知りたいだけなのでダウンロードする必要は無いです。この例だと『440.82』と書かれているので『440』をインストールすれば良いことがわかります。

一旦、ログアウトして、ログイン画面に戻ります。ログイン画面で、Ctrl + Alt + F4 か Ctrl + Alt + F1 あたりを押して、黒い画面を表示させます。『login : 』と表示されていると思うので、ユーザー名を入力して、Enter。パスワードの入力が求められるのでパスワードを入力します。

ドライバをインストールします。例えばバージョン『440』をインストールしたいとして、

  • Ubuntu 18.04 の場合 sudo apt install nvidia-driver-440
  • Ubuntu 16.04 の場合 sudo apt install nvidia-440

と入力してインストールします。ダウンロードとインストールに十数分時間がかかるので気長に待ちます。

インストールが完了したら、/etc/modprobe.d/ フォルダ内に blacklist-nouveau.conf という名のファイルを作成します。

sudo nano /etc/modprobe.d/blacklist-nouveau.conf

エディタは nano でなくても vim でも構いません。emacs ? 知らないな。

中身は以下のとおりです。

blacklist nouveau
options nouveau modeset=0

nano なら、Ctrl + X で保存、ファイル名が blacklist-nouveau.conf になってる事を確認して Enter でOKです。

ファイルが作れたら、次のコマンドを入力して下さい。

sudo update-initramfs -u

以上で終了です。Ubuntuを sudo reboot で再起動させます。OS選択画面が出たら『Ubuntu』を選択して普通に Enter を押してあげればきれいに画面が表示されているはずです。

-電子工作
-, ,


  1. Zhu より:

    とても助かりしました!
    たくさんの図や矢印をつけていただいてとても分かりやすいです
    一つだけ戸惑ったことがありまして
    UnetbootinでUSBメモリを作成した際に、拡張子がexFATだとブートできないということに気づかなかった。(FAT32が必要ですね)

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

プロキシ設定が必要な学内LANに接続するときに役に立つスクリプト

プロキシ設定が必要な学内 or 社内LANに接続する際のプロキシ設定の切り替えをしやすくするスクリプトを用意します。

【祝入学】WSLでC言語のお勉強を始める

WindowsでC言語をお勉強をしたい人におすすめの方法です。

【Ubuntu】【上級者向け】Grubブートローダをインストールする

「EFIシステムパーティションを新たに作成した」などの理由でGrubブートローダをインストールしたい人に向けてその方法を説明します。

空のSSD・HDDにWindowsをインストールする

空っぽのSSD・HDDにWindowsをインストールする方法です。

C言語でのマイコンプログラミングのお作法

マイコンのプログラムをC言語で書く際に心がけるべきこと、知っておくべき知識について述べます。