32bit UEFIのPCに64bit版Ubuntu18.04をインストールする

(2020/5/4追記) Ubuntu20.04でも同様の内容を試みたので、別記事にまとめました。

Lenovo製WindowsタブレットMiix2 8に64bit版Ubuntuを頑張ってインストールした。
Miix2 8に限らず、32bit UEFIかつ64bitアーキテクチャのPCであれば同様にインストール可能だと思うので記事に残しておく。

実際にインストールしたのはUbuntuフレーバーの一つLubuntuだが、フレーバーが違ってもUbuntuのインストーラは共通でインストール方法に違いは無いため、以下ディストリビューション名はUbuntuで表記する。

スポンサーリンク

64bitアーキテクチャなのに32bit UEFI!?

Miix2 8も含め一時期(2014年前後?)売られていたWindowsタブレットやネットブックには、

  • 64bitアーキテクチャ(x86_64)
  • 32bit UEFIブート

という奇妙な組み合わせの物が存在する。この変態コンビネーションはMicrosoftの都合で作られた代物のようだが、このせいでLinuxのインストールが非常に面倒臭い。

が面倒臭いだけで、この手のマシンにも64bit版のUbuntuをインストールは出来る。

インストールメディアの準備

以下の手順でUSBメモリにインストールメディアを準備する。32bitのgrubブートーローダーを入れておくことがポイント。

  1. Ubuntuインストールメディアの.isoファイルをダウンロード
  2. isoファイルをマウントしてFAT32フォーマットのUSBメモリにインストールメディアの中身を全てコピーする
  3. 上記USBメモリの/EFI/bootディレクトリに32bit版grubブートローダbootia32.efiをコピーする

Ubuntu LTSのインストールメディアは最新版Ubutu18.04-3を使った方が良い(2018年春リリースの初期版Ubuntu18.04だとMiix2 8のWiFiは動作しなかった)。

USBメモリをFAT32でフォーマットしておけばUEFIブートローダーはファイルシステムを認識するので、特別なツールは不要。Windows10ならエクスプローラで.isoファイルをダブルクリックするとマウント出来るので、エクスプローラのメニューから「全て選択」を選んでUSBメモリへコピーすれば良い(但し.diskというディレクトリが含まれるためエクスプローラの隠しファイルを表示するオプションを有効にすること)。勿論Linux上で.isoファイルをmount -o loopでどこかにマウントしてコピーしてもOK。

32bit版grubブートローダーはDebian Multiarchのインストールメディアにも含まれているが、ここに置いてあるbootia32.efiを使った方がgrubブートメニューが表示されて使いやすい。

ライブ版を起動

BIOSメニューで以下2つを実行。Miix2 8なら音量+を押しながら電源ボタンを押すとBIOSメニューを出せる。

  • Secure Bootを切る
  • 起動ドライブにUSBメモリを指定

USBメモリから起動した時、/EFI/boot/に置いた32bit UEFIブートローダーが適切な物であれば、インストールメディアのgrubメニュー画面が表示される。表示されない場合は何らかトラブルが起こっているので、こちらの記事などを参考にメニュー画面を表示させる。

メニューからは”Install Ubuntu”ではなく、一番上の”Try Ubuntu without installing”を選んでライブ版を起動する。

ライブ版からインストール

ライブ版が立ち上がったら、端末エミュレータから-bオプション(grubインストールをスキップの意味)を付けてUbuntuのインストーラubiquityを実行。-bオプションを付けないと、grubインストールの所で失敗してしまい不完全インストールになるので注意。

$ sudo ubiquity -b

あとは普通にインストール実行。

インストールが終わったら、USBメモリを抜かずに再起動。

インストールしたUbuntuをブート

もう一度インストーラの入ったUSBメモリからブートする(ブートローダーが入ってないので内蔵ドライブからはブート出来ない)。今度はライブ版を起動するのではなく、grubメニュー上で’c’を押してgrubコンソールへ移行。そして、以下のgrubコマンドを打って今さっきインストールしたUbuntuを起動する。ファイルの指定はtab補完が効くので、適宜tabを押しながらやると楽。

grub> set root=(hd1,gpt2)
grub> linux /vmlinuz root=/dev/mmcblk1p2
grub> initrd /initrd.img
grub> boot

注意点としては、1行目はgrubにルートパーティションを教えるためのコマンドなのでgrubの書式で(hd1,gpt2)を指定しているが、2行目で指定している/dev/mkmcblk1p2も実際は同じパーティションという点(カーネルが判る書式で指定している)。パーティションの指定はシステム構成によって適宜変更する。

grubコンソールからUbuntuをブートする方法については別記事にもまとめてある。

32bit UEFI用grubを手動インストール

ブートしたら以下を実行する。WiFi接続など別途ネットワークの設定はしておくこと。

$ sudo apt-get update
$ sudo apt-get install grub2-common grub-efi-ia32
$ sudo grub-install --efi-directory=/boot/efi
$ sudo update-grub

これでOK。USBメモリを除去して再起動すれば普通に立ち上がるようになる。

まとめ

Miix2 8のBluetoothや画面の設定については別記事にまとめたが、Lubuntuはキビキビ・サクサク動いてくれて、とにかく快適の一言だ。

Lubuntuは画面がちょっとダサいのが欠点だが、Ubuntuの軽量フレーバーは他にもXubuntuとかMATEなど選択肢は他にもある。

スペックが貧弱でWindows10を動かすのは辛いとか、WSL動かしたいけど32bitだから無理、みたいなタブレットやネットブックが余っていたら軽量Ubuntuのインストールをオススメする。

コメント