にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2017年11月18日

7000円 Acer Windowsタブレット Iconia W4-820 Ubuntu17.10 インストール その1

W4-820.jpg
お次はW4-820。Acer初期のWindowsタブレットで
今は安く変える機種の一つです。
是非Linuxで改造して使いましょう。
ストレージが64GBと大きい機種なので
案外重宝します。





●W4-820
他社と同じくBay-trail初期のタブレットです。
現時点で発売から3年以上経ちまして安くなっています。
Linuxを是非入れてみましょう。
スペックは、

ディスプレイ:8インチIPS 1280×800ドット
CPU:Atom Z3740(1.33GHz 4コア)
メモリ:2GB
ストレージ:64GB(eMMC)
サイズ:218.9×134.9×9.75mm
重量:415g
連続駆動時間:約10時間

特筆する所はありませんがゴツいです。
他のタブレットでもそうですが、ガラス割れに注意を。
問題点として、

UEFI画面でBoot設定で、
USBとWindowsBootManager以外は選択できない。
所がありまして、長年悩んでいました。
Arch Wikiを読んでいますと、

https://wiki.archlinux.jp/index.php/Unified_Extensible_Firmware_Interface#.E3.83.95.E3.82.A1.E3.83.BC.E3.83.A0.E3.82.A6.E3.82.A7.E3.82.A2.E3.81.AE.E3.83.A1.E3.83.8B.E3.83.A5.E3.83.BC.E3.81.AB_UEFI_.E3.83.96.E3.83.BC.E3.83.88.E3.83.AD.E3.83.BC.E3.83.80.E3.83.BC.E3.81.8C.E8.A1.A8.E7.A4.BA.E3.81.95.E3.82.8C.E3.81.AA.E3.81.84

「ファームウェアのメニューに UEFI ブートローダーが表示されない」
という項目があって、ああなる程と思いました。
流石はArchWiki。同じ現象です。
つまり、WindowsのEFI FATにあるbootmgfw.efiを
Bootia32.efiで上書きしてしまえ、という話です。
わかりました。ありがとうございます。

 Intel Z77 チップセットなどが搭載された UEFI マザーボードでは、EFI シェルから efibootmgr や bcfg を使ってエントリを追加しても、ブートメニューのリストに表示されないため使うことができません。

 この問題はマザーボードが Microsoft Windows しかロードしないようになっているのが原因です。解決するには Windows が使っている場所に .efi ファイルを配置するしかありません。

 Arch Linux のインストールメディア (FSO:) から bootx64.efi ファイルをコピーしてハードドライブ (FS1:) 上の ESP パーティションの Microsoft ディレクトリに配置してください。EFI シェルを起動して以下を実行します:

 FS1:
 cd EFI
 mkdir Microsoft
 cd Microsoft
 mkdir Boot
 cp FS0:\EFI\BOOT\bootx64.efi FS1:\EFI\Microsoft\Boot\bootmgfw.efi

 再起動後、NVRAM に追加されたエントリがブートメニューに表示されるはずです。

●Ubuntu17.10インストール
最初はいつもどおり。途中から追加します。
今回はまっさらにUSBメモリからインストールします。
まずUbuntu17.10のISOをWindowsならRufusかなにかで
USBメモリに焼きます。
その際、bootia32.efiのファイルを拾ってきて、
/EFI/boot/にコピーして保存しておきます。
こうしないとUEFIからUSBメモリが認識しないです。

で、MicroUSBにUSBHUB、キーボード、マウス、
USB-有線LANとUSBメモリを繋いで
「ESC」キーを押しながら電源を入れると
UEFI画面が起動しますので、セキュアブートをOFFにします。
設定出来る所が殆ど無いので、
再起動したら「F12」を長押しすると、
各パーティションからブートするか選択出来ます。
もちろん最初はUbuntuを入れたUSBを選択して起動します。

Grubが起動したら「E」キーを押して、
quietの前に「i915.modeset=0 reboot=pci instel_idle.max_cstate=1」を付けてからF10キーで起動。
こうしないと画面が映りません。注意。
インストーラーが無事起動したら、USB-有線LANで
ネット接続確認。
その後はインストールは通常通り。
ネットに繋がないとgrub-efi-ia32のパッケージはISOになく
インターネット経由からしか落とせません。
まあ後から入れる事も出来ますが、ブートローダーは
CUIで起動して手入力になります。面倒。
一旦ここまでで停止。

●再起動してもGrubが起動しない。
ここで問題です。
GrubがUEFIのブート設定画面にありません。
WindowsBootManagerしかありません。
Ubuntuを起動できません。
困った。
先程のArchWikiを参考に、まずUSB経由でUbuntuを起動します。

USBから再びgrub2の画面が出たら、
「C」キーを押してコマンドで起動させます。

>> linux (hd1,gpt6)/boot/vmlinux〜 root=UUID=(UUIDのアドレス) i915.modeset=0
>> initrd (hd1,gpt6)/boot/initrd〜
>> boot

ここでシングルブートはgpt2、デュアルブートはgpt6
になるはずですが「Tab」キーを押してチェックしましょう。
その際にストレージのUUIDも表示されるので、
チェックしてroot=UUID=の後にいれます。間違えると起動しません。
で、間違いがなければUbuntuが起動します。
ここまで良いですね?注意して下さい。

その後は、bootia32.efiを偽装します。
まず端末から一応Rootになっておきます。

sudo su
cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft//Boot/bootmgfw.efi.old
cp /boot/efi/EFI/ubuntu/Boot/bootia32.efi /boot/efi/EFI/Microsoft//Boot/bootmgfw.efi

という感じで上書きします。
一応元ファイルは残しておきます。
このファイルを切り替える事でGrubかWindowsBootManagerか
を切り替えるしかないらしいです。
一応消さないように。
間違っていたら他のファイルを。
で再起動。

ここまで進んで初めてタブレットだけでUbuntuが起動します。
で再起動したら今度はまたブートローダーで
「Advanced Ubntu17.10〜」を選んで
一番上のKernel(多分kernel4.13-16のはず?)にして
「E」キーを押して今度はquietの前に「i915.modeset=0 reboot=pci」を付けて「F10」。
これでやっとUbuntuのGUIが起動します。
何故でしょうね?

●問題点

・grubの切り替えをbootmgfw.efiの上書きしか対応出来ない。
・無線LANは最初は使えない。要設定。
・Bluetoothも使えない
・タッチスクリーンはOK
・GPUは要設定
・画面を回転させるか、スクリーンセーバーなどで落ちると
 復帰しない。原因不明。
 省電力モードはOFFにしておきましょう。
・intel_idle.max_cstate=1を付けないとフリーズするかも。

●まとめ
かなり悩みましたが一応解決。
ArchWikiって凄いですね・・・
USBメモリブートだと簡単に起動するんですが。
他の機種でも同じ現象はあるのでご注意を。
一度起動してしまえば、なんとかなります。
安く入手可能なので、是非デュアルブートして使いこなしましょ。

posted by kapper at 20:17 | Comment(0) | W4-820
にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ