CHUWI Minibookの増設SSDに別のWindows10とUbuntu MATEをインストールして必要な設定を終わらせる

Posted by 雅楽斎 on Tuesday, December 3, 2019

TOC

トリプルブート

CHUWIのMinibookは128GBのeMMCが搭載されていますが、これはユーザーの手で交換ができない1のでフラッシュメモリの書き換え寿命を伸ばすためにSSD上にOSをインストールしてそちらをメインで使います。インストールするのはUbuntu MATE、Windows10です。

M.2スロットへのSSDの増設についてはこちらをご参照下さい。

CHUWI MinibookのM.2ポートに(SATAの)SSDを装着する

Ubuntu MATE 19.10をUSBメモリから起動して、インストールするついでにパーティションを切ってしまう

普段使い慣れているUbuntu MATE 19.10をインストールします。元々予定通り9月に届いていれば19.04をインストールするところですが届いたのが11月なので19.10になりました。

手元にUbuntu MATE19.10のUSBメモリがあるのでそれをそのまま使います。

起動デバイスの指定はMinibook起動時にEscを連打して入るBIOSから起動デバイスを指定します。

つらたん…(やっぱり)

インストール後の日本語に設定した状態しか残ってないので不正確ですが、メニュー→設定→ディスプレイで設定画面を表示できます。

RotationをNormalからRightに変更するとノートPC形態と一致した向きになります。

右側にめっちゃノイズ乗っている状態で「Does the display look OK?」と聞かれますがそのまま「Keep This Configuration」を押して大丈夫です。このダイアログが消えるとともに右側もスッキリします。というわけでさっくりインストールしていきます。

Ubuntu MATE 19.10のインストール

インストール作業自体はこれと言って取り上げるところはありませんが、インストール先の指定だけはちゃんと指定します(上書きしてしまうので)

「このディスクのパーティションをインストーラにアンマウントさせますか?」と聞かれるので「はい」を選択します。

インストールの種類では「それ以外」を選択します。

パーティション一覧が出たら、下の「ブートローダーをインストールするデバイス」としてgrubインストール先となるSSDが指定されていることを確認、パーティションがまっさらだとパーティションテーブルを作成しないとパーティションも切れないので、インストール先デバイスにする/dev/sdaを選んで下の「新しいパーティションテーブル…」を押します。

確認ダイアログが表示されるので「続ける」を押します。

/dev/sdaの空き領域のところを右クリックしてパーティションを作成した後、インストール先にする先頭パーティションのマウントポイントを/に指定して先に進みます。なお、btrfsにしたのは単に好みの問題です。

確認ダイアログが表示されるのでそのまま進みます。インストール時の注意点はこのくらいです。

インストーラーで指定できなかった他のパーティションをNTFSにする

インストール時に3つ切ったパーティションの残りをWindows10、その他データやりとりに使いたいのでNTFSにします。2

メニューからシステム管理→gpartedを選択します(この辺曖昧で先にaptでインストールしたかもしれません)

右上で/dev/sdaを選択するとインストール時に切ったパーティションが表示されるので、/dev/sda2と/dev/sda3を右クリックしてファイルシステムをntfsに指定。

✔をクリックすると下に表示されている操作が実行されます。反映されるとこうなってUbuntu MATEのインストール作業終了です。

シャットダウンしてUSBメモリを抜いたら、起動時のBIOS設定で起動デバイスとしてSSDを選べばUbuntu(grub)が起動します。

タッチパネルを使用した際にタッチしていない箇所がタッチされる

Ubuntu MATEで横画面表示として使った場合、タッチパネルは動作しますがタッチ場所が実際の場所とは異なります。これは画面を回転した状態でタッチパネルを回転しないからで、明示的にXの設定を記述する必要があります。

同じGoodix Capacitive TouchScreenを使用しているGPD Pocket用に設定するUbuntu MATEへの変更ファイルを探してみたところ。

umpc-ubuntu/gpd-pocket-ubuntu-respin.sh at c7a72f5ba05c2a24226e62e3a8832efac53b52d9 · wimpysworld/umpc-ubuntu

Scripts for UMPCs such as GPD Pocket, Pocket 2, MicroPC & TopJoy Falcon - wimpysworld/umpc-ubuntu

XORG_CONF_PATH=“${SQUASH_OUT}/usr/share/X11/xorg.conf.d” (略)

TOUCH_CONF=“${XORG_CONF_PATH}/99-gpd-pocket-touchscreen.conf” (略)

cat << TOUCHSCREEN > “${TOUCH_CONF}” Section “InputClass” Identifier “calibration” MatchProduct “Goodix Capacitive TouchScreen” Option “TransformationMatrix” “0 1 0 -1 0 1 0 0 1” EndSection TOUCHSCREEN

というヒアドキュメントを使ったファイルの作成があったので、同じ内容を/usr/share/X11/xorg.conf.d/99-gpd-pocket-touchscreen.confとして作成します。

Section "InputClass"
  Identifier   "calibration"
  MatchProduct "Goodix Capacitive TouchScreen"
  Option       "TransformationMatrix"  "0 1 0 -1 0 1 0 0 1"
EndSection

設定の反映はXのログアウトです。

その他Ubuntu MATEの設定事項

なお、Ubuntu MATE 19.04インストール後の設定作業についてはこちらをご参照下さい。

Ubuntu MATE 19.10をインストールしたので、インストール後の諸々を記録する備忘録

省電力設定についてはこちらを。

TLPでLinuxの消費電力を減らす

Rufusを使ってWindows10のインストールUSBメモリを作る

Ubuntu MATEのインストール時にSSDに作成したパーティションに通常使用するWindows10をインストールします。

Linuxのライブ起動USBメモリ/インストーラーであればEtcherを使っても大丈夫なんですが、Windowsの場合は起動するUSBメモリを作成する場合はRufusを使うのが一番手軽ですのでここではRufus(ポータブル版)を使った手順を紹介します。

https://rufus.ie/ja_JP.html

使用頻度の低いソフトなのでいつもポータブル版を使っています。rufus-3.8p.exeをダウンロードして、起動します。

上書きするUSBメモリを挿したらデバイスの欄から選択し、ブートの種類の右にある「選択」ボタンからWindows10 HomeのISOイメージを指定します。

WindowsのISOイメージを指定すると、必要なオプションが自動的に設定されていくので、そのまま「スタート」ボタンを押してライブ起動するUSBメモリを作成します。

Windows以外のOSとデュアルブートにするので、Windowsの時刻設定をUTCに変更する

PCをWindowsだけで使う場合は問題にならないのですが、デュアルブート構成にしているとUTCを使用するOSと切り替える度に時刻がUTCとJSTとコロコロ変わるので、Windowsの時刻設定をUTCに強制します。詳細はこちらをご覧ください。

Linux_Windowsデュアルブート環境時における時刻ずれの解決 - Varg

LinuxとWindowsのデュアルブート環境において、各OSでの表示時刻がずれる現象が発生することがある。 この現象を解決する方法をまとめる。環境 Linux_Windowsのデュアルブート可能なマシン Linux側の環境 Arch Linux (x86_64, Kernel 3.12-9-2) systemd (208-11) ntp (4.2.6.p5-18) Windows側の環境 Windows 7 (Pro, SP1) 解決法Windows側の時刻系を、UTCに設定する。 - Linux側の時刻系を、localtimeにする解決法もある。 しかし、ハードウェアクロックがlocalt…

端的に説明すると、

レジストリの[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]キーに、”RealTimeIsUniversal”という名称の、16進数の’1’のDWORD値を追加する。

なんですが、コピペで済ませられるようにレジストリファイルを以下の内容で作成します。

forcedateasutc.reg

Windows Registry Editor Version 5.00

;force using UTC instead of JST(local RTC)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001

before

after

元に戻すためのレジストリファイルは以下になります。

forcedateaslocalrtc.reg

Windows Registry Editor Version 5.00

;force using JST(local RTC) instead of UTC
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=-

設定は再起動で反映されます。

新しくインストールされたWindows10を設定していく

ライブ起動するUSBメモリのインストーラーでの作業は例によってインストール先の指定くらいしか留意する箇所がありません。私の場合は先にパーティションを切っているので、パーティションサイズがそれっぽいものを選んで終了します。インストールしたWindowsの識別は勝手にやってくれるので、grubから起動しても下の方にあるWindows Boot Managerを選択すればOKです(ただしgrubからの起動だと複数あるWindowsから起動するものを選んだ後、もう一度grubでWindows Boot Managerを選ぶ必要があります)

インストール後にしていく作業をまとめます。

ドライバのダウンロード・インストール

CHUWIのフォーラムに雑にリンクが貼られているところからドライバ一式をダウンロードします。

https://forum.chuwi.com/t/topic/2552

http://www.mediafire.com/file/b1ccd9mqvxphuox/Mini_Book-drivers.rar/file

これを展開して、20個あるドライバの各infファイルを右クリックしてインストールします。11と12だけinfではなくInfです。

  • NG08-drivers/1-geminilakesystem.inf_amd64_55b3bfee0aa4baa9/geminilakesystem.inf
  • NG08-drivers/2-ialpss2_spi_glk.inf_amd64_332f6a5f28bb6183/ialpss2_spi_glk.inf
  • NG08-drivers/3-ialpss2_uart2_glk.inf_amd64_4a23567fec16beaa/ialpss2_uart2_glk.inf
  • NG08-drivers/4-txei.inf_amd64_129c9052fdd9eb45/txei.inf
  • NG08-drivers/5-dptf_acpi.inf_amd64_143446f307e3b92f/dptf_acpi.inf
  • NG08-drivers/6-dptf_cpu.inf_amd64_6bf815c5fb698bdd/dptf_cpu.inf
  • NG08-drivers/7-hideventfilter.inf_amd64_e571ddacea6b0ec7/hideventfilter.inf
  • NG08-drivers/8-igdlh64.inf_amd64_0707757077710fff/igdlh64.inf
  • NG08-drivers/9-UMDF2.0_BMA2x2_Intel_MRD_CHIWEI_1.0.2.12_RS5_signed/package/BoschAccelerometer.inf
  • NG08-drivers/10-rtsuer.inf_amd64_805df8db067cf20a/rtsuer.inf
  • NG08-drivers/11-prnms009.inf_amd64_80184dcbef6775bc/prnms009.Inf
  • NG08-drivers/12-prnms001.inf_amd64_f340cb58fcd23202/prnms001.Inf
  • NG08-drivers/13-netwtw04.inf_amd64_3b458f70dc011890/netwtw04.inf
  • NG08-drivers/14-MX_NG08_3676_P_X64_2019611_WQ/SileadTouch.inf
  • NG08-drivers/15-intcdaud.inf_amd64_cff93715e50ccce9/IntcDAud.inf
  • NG08-drivers/16-ibtusb.inf_amd64_450e7aef7a486db6/ibtusb.inf
  • NG08-drivers/17-iigd_extension.inf_amd64_5a3586c6b2485143/iigd_extension.inf
  • NG08-drivers/18-hdxrt.inf_amd64_22830b310950fbd2/hdxrt.inf
  • NG08-drivers/19-esif_manager.inf_amd64_59bdfa586f87720a/esif_manager.inf
  • NG08-drivers/20-ftwbioumdfdriverv2.inf_amd64_ce2e1e1541f2630d/ftwbioumdfdriverv2.inf

infを当てていけば順調に進むのですが、タッチパネル用のドライバと指紋リーダーのドライバがないので、別途対応します。

タッチパネル(スタイラス用?)ドライバを個別にダウンロードする

フォーラムの同じトピックの返信でタッチパネルのドライバが別に出ているので、これを展開して中のgoodixtouchdriver.infを右クリックしてインストールします。

http://www.mediafire.com/file/21fery7ty36ma1x/goodixtouchdriver.inf_amd64_05ed83f1dbc7b4dd.rar/file

指紋リーダーだけドライバが当たらないので出荷時にインストール済みのeMMCにインストールされているドライバを探す

指紋リーダーのドライバは上の20個のinfのうちの20番が対応するはずなのですがインストールしても何も変わらないので、どうしたものかと悩んでいたところTwitterにてアドバイスを頂きました。

Windowsがドライバをインストールする時にコピーを保持するのを知らなかった為、どこにあるのか探してみたところ「Windows/System32/DriverStore/FileRepository/ftwbioumdfdriverv2.inf_amd64_bfc8b2a2b4444140」にドライバ一式がそのままあることがわかりました。

というかドライバとして配布しているものと中身が違うんですね。infも違うのでどこが違うのか見てみたところ

当たったもの

[Standard.NTamd64]
%SPIDeviceName%=SPIdevice_Install, ACPI\FTE4800
%USBDeviceName%=USBdevice_Install, USB\VID_2808&PID_9348

当たらなかったもの

[Standard.NTamd64]
%SPIDeviceName%=SPIdevice_Install, ACPI\FTE3600
%USBDeviceName%=USBdevice_Install, USB\VID_2808&PID_9338
%USBDeviceName%=USBdevice_Install, USB\VID_2808&PID_93A8&MI_00

FTEとPIDなるものが違ってるのはわかりました。なので、デバイスマネージャーでダブルクリックしてドライバーのインストールでeMMCの「Windows/System32/DriverStore/FileRepository/ftwbioumdfdriverv2.inf_amd64_bfc8b2a2b4444140」を指定すれば問題なくインストールできます。

不明なデバイスがなくなったところでいつもと同じ設定をしていきます。

Windows10を快適に。デフォルトアプリの削除やパフォーマンス設定チューニングあれこれ

省電力設定はこちら。

Windows10で省電力設定を弄れるようにする(Turbo Boost)

また、Windowsのシステム時刻をUTCにするのは本記事の上の方に書いた通りとなります。

スポンサーリンク


  1. 他に寿命のある取り外せないものはバッテリーとRAMですね。バッテリーも交換できるようにして欲しい… [return]
  2. Windowsからソフトを入れずに直接マウントできるならシンボリックリンクも張れるのでExt4にしたかったんですが今の時点ではできないので、Linuxからはntfs3g経由で扱えるNTFSにしました。 [return]

comments powered by Disqus