February 01, 2019

Windows PC で Ubuntu と Android-x86 をマルチブートする

event_noteFebruary 01, 2019

Google Play 付きの Android がパソコンで楽しめる無料OS Androidx86

Android-x86はパソコン向けの無料のアンドロイドOSです。公式サイトはこちらです。

Android x86 をインストールするときの拠点として Ubuntu

今回の記事は、Linuxのディストリビューションの一つである Ubuntu (無料で使えます) を Windows PC にインストールし、 その Ubuntu をインストールしたパーティションを間借りするような形で、Android-x86 を更にインストールし、Windows や Ubuntu そして Andoroid-x86 をマルチブートする手順についてのメモ書きです。
(Ubuntuではなく、他のLinuxを使う選択肢も無数にありますが、比較的インストーラーが親切で、情報も比較的多いUbuntuを、今回は使っていこうと思います)

環境によっては、Ubuntu や Android x86 のシステム要件を満たしていなかったり、相性が悪く一部のシステム (wi-fiやオーディオなど) に不具合がある場合もあり、以下の手順では上手くいかないことがあるかも知れません。あらかじめご注意下さい。

以下の手順では Android x86 をインストールするまでに、少し手間がかかりますのでお時間のあるときにお試しください。また、WindowsがインストールされているHDD(SSD)に新たにパーティションを作成 (分割)しそこに Ubuntu をインストールしますので、Windows が起動しなくなったり、データが消えるなどの危険が伴います。不安な場合は、Windows 上で仮想環境から Android x86 を動かすという方法もありますので、そちらを試してみるのも手です。

この記事で紹介している操作の過程には、操作を誤ると最悪の場合、OSを含むPCの全データが消去されたり、電源を入れてもWindowsが起動しなくなる危険性があります。また、パソコンを以前の状態に戻すリカパリを行うこともできなくなるかもしれません。
不安な場合は、操作を行わないことを強くお勧めします。
操作を行う場合は、ご自身のリスクにおいて実行ください。当記事を参照したことにより生じた損害・不利益について当サイトは責任を負いかねますので予めご了承ください。

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

Ubuntu のディスクイメージファイル (ISOファイル)の入手

この記事では、Ubuntu長期サポート版の中でも、現行の一つ前のバージョン、Ubuntu 16.04.5 LTS (Xenial Xerus)をインストールしたいと思います。
このバージョンを使う理由は、Ubuntu公式から提供されるディストリビューションとしては、おそらく最後の32bit対応版であり、2021年4月まではサポート期間があるためです。64bit版の場合は、特にこのバージョンである必要性はありません (ただ、少し古いバージョンだけあって、少し前のパソコンでも軽快に使える、というところはあるかも)。

Ubuntu 16.04.5 LTS のISOファイルは以下のサイトから入手可能です。リンク先の Desktop image という小見出しの下にある32-bit PC (i386) desktop imageもしくは64-bit PC (AMD64) desktop imageのリンクをクリックしてください。PCが32bitの場合32-bit PC (i386) desktop imageを選択します。

お使いのPCが32bitか64bitかを確認する方法についてはこちらのサイトが参考になるかも。

アプリ(ソフトウェアをインストールするときに自分の使っているPCが32bitなのか64bitなのかわからず困ったことがありませんか?その確認方法をWindowsのバージョン別に解説しています。

Ubuntuをインストールするパーティション (未割り当て領域) の作成と インストールメディアの起動

HDDのパーティションの作成方法や、インストールメディアの作り方・起動方法については、前回の記事も併せてご覧いただければと思います。

この記事では、Windows PC で Linux などの OS をデュアルブート (マルチブート) するときの大まかな流れについて見ていきます。

次の段落からは、Ubuntuのインストールメディアからのインストールについて見ていきます。

Ubuntuをインストールメディアからインストール

Ubuntuのインストールメディア (USBメモリやDVDなど) を起動し暫くすると以下のような画面になるはずです。

日本語も選べます。「Ubuntuをインストール」を選択するとインストールウィザードへ移行します。「Ubuntuを試す」を押すと、UbuntuをインストールなしでLIVE起動できます。

Wi-Fiの接続設定等を行い、サードパーティソフトウェアについては、こだわりがなければ、チェックしてインストールでOKだと思います。

「インストールの種類」についてはそれ以外という項目を選択します。

続いて、Ubuntuをインストールする HDD (SSD) のパーティションを選択します。未割り当て領域を、Ubuntuをインストールするパーティションとする場合は以下を、既にNTFSなどでフォーマットしてある Ubuntu インストール用のパーティションを使う場合はこちらをご覧ください。

未割り当て領域にUbuntuをインストールする場合

「空き領域」をクリックして選択状態にしてから、+アイコンをクリックします。

「新しいパーティションのタイプ」では、
レガシBIOSのPCで拡張パーティションとして使いたい場合論理パーティションを、
UEFIモードのPCでGPTのHDD (SSD)を使っている場合は、基本パーティションを選択してください。

「利用方法」ext4 ジャーナリングファイルシステムを、
「マウントポイント」/を選択します。

OKでしたら、右下のOKボタンを押して確定します。

既にフォーマットしてある インストール用のパーティションを使う場合

Ubuntuをインストールするパーティションをクリックして選択状態にして、下の変更をクリックします。

このとき、Windowsのパーティションや、システムパーティション、Windowsのリカバリ領域 (回復ドライブ)、EFIシステムパーティション(ESP)などを選択しないようご注意ください。

「利用方法」ext4 ジャーナリングファイルシステムを選択し、パーティションの初期化チェック
「マウントポイント」/を選択します。
選択したパーティションのデータはすべて消去されます。OKでしたら、右下のOKボタンを押して確定します。OKボタンを押す前にUbuntuをインストールするパーティションが間違っていないか再度確認することをおすすめします。

インストールするパーティションの選択と編集が終わったら...

右下のインストールボタンを押して次に進みます。

以下のようなダイアログが出るかも知れませんが、パーティション構成をなるべく複雑化したくないので今回は、スワップスペースなしで続行します。

ディスクに変更を書き込みますか、と最終確認がでます。下の画像では、Ubuntuからは sda という名称で認識されているハードディスクのパーティションの6番 (sda6) に変更を加えて、Ubuntu をインストールしようとしています。

続いて時刻の設定のため、居住地域を選択します。

キーボード配列を選択します。

最後にユーザー設定を行います。ここで設定したパスワードは、Ubuntuでroot権限を必要とする操作を行うときにも使用します。

設定が終わったら、インストールが完了するまでしばらく待ちます...以下の画面がでたらひとまず、Ubuntuのインストールは完了です。

Ubuntuの起動

Ubuntuのインストールが終わり、再起動を行うと以下のようなLinuxのローダー (GRUB2) の画面が出ると思います。
UEFIモードのPCで、この画面が出ずにWindowsがいつも通り起動してしまう場合は、UEFIの設定画面から、HDDのOSの起動順位を、Windowsのローダーである Windows ブートマネージャーよりも先に、Ubuntuのローダーである GRUBが読み込まれるよう変更を行ってください。詳しくはこちらをご覧ください。
また、レガシBIOSのPCではGRUBよりも先にWindows ブートマネージャーを読み込む方法もあります。詳しくはこちらをご覧ください。

GRUBの画面でキーボードの上下矢印キーとエンターキーを使って、起動したい項目を選択します。Windows を選択すると、Windows ブートマネージャーがチェーンロードされます。

このGRUBの、既定の選択肢の変更、待機時間の設定については、Grub Customizer というプログラムをUbuntuにインストールすると手軽に行えます。

Ubuntu のブートローダーは Grub というものが使われています、その Grub を GUI で編集できるように。 Grub Customizer をインストール デフォルトのリポジトリには含まれていないので、ppa を追加してインストール。 端末(ターミナル)から。 Grub Custo

補足:GRUBが壊れてOSが起動しなくなってしまったら...

Ubuntuをインストールした後に、HDDのパーティションを新たに作成したり、構成を変更したりした場合、GRUBから何も選択できなくなってしまうことがあるようです。

 追記:コマンドを打ち込まずに自動で復旧したい場合は boot-repair-disk を使うという方法もあります。

Ubuntu がインストールされているHDD (SSD) のパーティション構成を変更すると、grub rescue とだけ表示されて Ubuntu が起動できなくなってしまうことがあります。このようなときコマンドラインからの復旧は少し複雑なので、自動で復旧したいときは Boot-Repair-Disk を使うのが便利です。

Ubuntuをインストールするときに使った、インストールディスクを立ち上げて、「Ubuntuを試す」からLIVE起動、端末からコマンドを打ち込んで Boot Repair というアプリをインターネット経由で入手し、おまかせ修復を実行する方法も比較的楽かもしれません。

Ubuntu内の容量がかなり切羽詰まってきたので、昨日断捨離しました。使っていないカーネルなんかを一斉に削除したり、いらないピクチャをポイしたり...まとめてライブラリのアップグレードを行ったり...きっとまずいものを途中で捨ててしまったんでしょうね...Ubuntuを起動できなくなってしまいました。この黒い画面から進まない絶望感は半端ないです。 原因 たぶん、Ubuntuの場所がわからなくなっている。まぁ、そんなことより復旧が大事。中には卒論の

Ubuntuのシャットダウン方法

画面右上の電源マークをクリックして、シャットダウンから再起動や電源OFFが選択できます。

日本語入力を行いたいときは...

今の時点で、Ubuntuのメニュー画面等が日本語に切り替わっていない場合は、インターネットに接続して、言語サポートのインストールを行ってください (言語サポートをインストールしてもまだ、日本語に切り替わっていない場合は、一度ログオフしてから戻ってくると更新されるかもしれません)。

日本語と英数字を切り替えて入力できるようにするために、画面右上のキーボードアイコンから 入力メソッド > Mozc を選択します。Mozc は Google日本語入力 のオープンソース版だそうです。

Android x86のRPMパッケージ (.rpmファイル) の入手

Android-x86の RedHat系Linux用の インストールパッケージ (.rpmファイル) は以下のサイトなどからダウンロードが可能です。
ファイルの種類がたくさんあって分かりにくいですが、今回使うのは、ISOファイルではなく、RPMファイルです。
Release については、基本的には数字が大きいほど新しい Android です。また、rの表記のあるバージョンの方がrcよりも不具合の少ない安定版です。
ただし CM Release については、CyanogenMod という Android の派生カスタマイズ版を さらにPC向けに移植したものだそうで、本家 Android とは異なりますのでご注意ください。
また、.rpm ファイルには i686x86_64 の二種類がありますが、i686 が 32bit版x86_64 が 64bit版です。インストールした Ubuntu と同じ bit数 の rpm ファイルをダウンロードしてください。

ファイルのダウンロードに Firefox ブラウザを使う場合、既定の設定だと、「ダウンロード」フォルダに ファイルがダウンロードされます。

Android x86 の RPM パッケージのインストール

端末 (ターミナル・Terminal) を使います

端末の開き方

Ubuntu のデスクトップを右クリックして「端末を開く」からが手軽かも。

alien のインストール

RPMパッケージをUbuntuでも使えるようにするため、alien というプログラムをインストールします。インターネットに接続した状態で、以下のコマンドを端末にコピペ (もしくは入力) して、Enterキーで実行してください (文頭の$マークは入力する必要はありません)。

$ sudo apt update

sudoコマンドを使うときにはroot権限が必要なので、パスワードが求められます。初めに設定した、ログインのときにも使用するパスワードを入力して Enter (文字を入力できているかどうかが画面に出ないのは不便ですね...)。
上のコマンドの処理が終わったら、続いて以下のコマンドを実行してください。

$ sudo apt install alien dpkg-dev debhelper build-essential

[Y/n]という選択肢が出た場合は、YESなのでyを入力してEnterです。

Android の RPM のインストール

個人的にはなるべくGUIで操作したいので、今回はファイル (ディレクトリ) 操作には、Ubuntuデフォルトの「ファイル」(正式名称は Nautilus というそうです) を使いたいと思います。

Android x86の RPMファイルがあるフォルダを開き、ファイル以外の場所を右クリックして、「端末で開く」でターミナルを開きます (Windows などのパーティションにRPMファイルがある場合は、Ubuntuのパーティションにコピーしてもってくる必要があります)。

端末を開いたら、以下のコマンドを入力して実行します。黄色文字部分は、インストールしたいRPMのファイル名に読み換えてください。

$ sudo alien -ci android-x86-7.1-r2.i686.rpm

インストールに成功した場合

しばらく何も表示されないかもしれませんが、待っていると以下のような画面が表示されると思います。しばらく待っても何も表示されない場合やエラーメッセージが出る場合は、手動インストールを試していただければと思います。

PCを再起動すると、GRUBのエントリーに Android が追加されているとおもいますので、それを選択して Android x86 が起動すれば成功です。

インストールに失敗した場合

私の環境では32bit版のUbuntuでは、 alien コマンドから、 Android x86 をインストールすることができませんでした。alien コマンドを実行してしばらく待っても、何も表示されず、rpmファイルと同一のフォルダに、「android-x86-7.1」フォルダと、その後に「android-x86-7.1-1_i686.deb」ファイルが生成されました。

試しに、

$ sudo dpkg -i android-x86-7.1-1_i686.deb

を実行しましたが、エラーが出て上手くいかず...

次の段落では、 alien コマンドを使用しない、 Android x86 の手動インストール方法についてみていきます。エラーが出てインストールできない場合でも、こちらの方法なら、Android x86 を起動させることができるかもしれません。

Android x86 の 手動インストール

以下の方法には、GUIで確認しながら 複数の異なるバージョンの Android-x86 を Ubuntu のパーティションに共存させることができるという利点があります

Ubuntu のファイルマネージャー Nautilus を root権限で開く

端末に以下のコマンド

$ sudo nautilus

または、以下を入れて実行します。

$ sudo -H nautilus

パスワードを入力して実行すると、root権限で Nautilus が開くはずです (問題が起きたようです と出るかもしれませんが無視で大丈夫だと思います)。これで、Ubuntuのパーティションの一番上のディレクトリ (ルートディレクトリ) などの、root権限がないと変更を加えることのできないファイル群を、今開いた Nautilus から直接編集できるようになりました。
コンピューター」もしくは「ファイルシステムのルート」と書かれているところから Ubuntu のルートディレクトリにアクセスできます。

Android x86 のフォルダを Ubuntu のルートディレクトリに配置

🍡 Androidx86のrpmファイルを 直接 展開する場合

Androidx86のrpmファイルをダブルクリックで開き、適当な場所に展開して、その中にある、「usr」フォルダ「android-○.○-r○」フォルダUbuntu のルートディレクトリ にコピー (もしくは移動) してください。(紛らわしいですが、ルートディレクトリにある「root」フォルダではありません)


🍡 alien コマンドを使ったときに生成されていた「android-x86-○.○」フォルダの中身を用いる場合

alien コマンドを使ったときに生成された「android-x86-○.○」フォルダのひとつ中にある、「usr」フォルダ「android-○.○-r○」フォルダを、 Ubuntu のルートディレクトリ にコピー (もしくは移動) します。(紛らわしいですが、ルートディレクトリにある「root」フォルダではありません)

ルートディレクトリに配置した「android-○.○-r○」フォルダの中に「data」フォルダを手動で作成

先ほどルートディレクトリに配置した「android-○.○-r○」フォルダの中に「data」という名前のフォルダを作成します。

Grub Customizer のインストール

インターネットに接続した状態で、端末に以下のコマンドを入力して実行します。[Y/n]という選択肢が出た場合は、YESなのでyでEnterです。

$ sudo add-apt-repository ppa:danielrichter2007/grub-customizer

[Enter]キーで続行し、処理が終わったら以下のコマンドを入力して実行です。

$ sudo apt-get install grub-customizer

Grub Customizer をインストールされているアプリ一覧から探して開きます。パスワードが求められるので、入力します。

AndroidをGRUBのエントリーに追加

アイコンを押して、新しくAndroid-x86を起動するためのエントリーを編集します。

エントリーエディターの「名前」には、GRUBに表示させたい名称を入力し、「種類」はLinuxを選択、「パーティション」では、Ubuntuのパーティション (ext4) を選択してください。

続いて、「ブートシーケンス」に表示されている文字列のうち、set root="hd○,○"の部分だけを残して、以下の部分をこちらの文字列で書き換えてください (黄色部分の4箇所は、ルートディレクトリに配置したAndroidx86のフォルダ名を入れてください)。

linux /android-7.1-r2/kernel quiet root=/android-7.1-r2/data androidboot.selinux=permissive acpi_sleep=s3_bios,s3_mode SRC=/android-7.1-r2
initrd /android-7.1-r2/initrd.img

編集が終わったら、OKボタンです。

これでOKならば、左上の保存ボタンを押してしばらく待ちます (少し時間がかかります)。

保存が終わったら、PCを再起動して、GRUBのエントリーを確認してみてください。新しく追加したエントリーを選択してAndroidが起動すれば成功です。