counter829119
(2010 年 4 月 30 日「研究ブログ」に設置)

研究ブログ

研究ブログ >> 記事詳細

2017/05/16

VersaPro (32-bit UEFI) に Linux をインストール

Tweet ThisSend to Facebook | by Takebe
昨夏に日本へ行った時に買った NEC の VersaPro (VT-J, PC-VK24XTAMJ;デタッチャブル・パソコン) に Linux (ubuntu 16.04) をインストール出来たので、メモを置いておきます。まだいろいろ(Wifi, 音など)設定しないと使えないのですが、この機械の最大の難所は Linux 本体のインストールなので、とりあえず報告。最初失敗続きだったために、去年9月に新年度が始まってからはあまり真面目に取り組まず、半年以上掛かってますが、「正しいやり方」を見つけた後はすぐに終りました。

「最大の難所」は、この機械が「32-bit UEFI (Unified Extensible Firmware Interface)」の機械である点。「本来は UEFI は 64-bit の機械には 64-bit UEFI が使われるのに、タブレット等では 32-bit UEFI を載せているものがある。そして、ubuntu linux (mint も) 64-bit 版は 64-bit UEFI でのインストールしか想定されていない」(←いろんなサイトからの受け売りですから、用語の間違いがあるかも)。つまり、普通の ubuntu のインストールの手順ではインストール出来ない。

最初、これが分からずに「普通の」インストール用ライブ USB フラッシュメモリを作り、そこから linux を起動しようとしましたが、いくらやっても(セキュアブートを切ったり、高速スタートアップを無効にしたり、という手続きを踏んでも)、windows 8.1 が立ち上がってしまいました。買った店(秋葉原の中古販売大手)が技術力を売りにしているので、買った後でまだ日本にいる間に持ち込んで見てもらいましたが、分かったことは、こういう「普通でない」使い方については店もあまり把握していない、ということでした。(-_-;

で、ネットで調べた所、まず見つかったのが、ライブ起動用フラッシュメモリーの /EFI/boot ディレクトリに 32-bit UEFI 起動用のファイル bootia32.efi を置く、という方法。おそらく John Wells 氏のこのページが最初の模様。

これでライブ起動できるので、後はインストーラーを使ってインストール。ところが、これではスイッチを入れた時に起動されるブートローダー grub が正常に動かないので、手で作りなおす必要があります。

これはこの機械の問題なのか、私の段取りが悪いのか、タイミングのせいなのか、同じことをしているつもりでも起動する時としない時があり、なかなかうまくいきません。一旦は mint linux 17.3 がインストール出来たのですが、これだとスタイラスペンを認識しないので不便。で、もう一度別のをインストールしようとすると、ブートローダーの問題で立ち上がらない…。

Linux のインストールはおそらく十回は繰り返し、windows の回復ドライブによる「工場出荷時の状態へ戻す」作業も数回やり、疲れてきた所で、ubuntu のフォーラムでこういうページを見つけました。質問に対する答の一つで、「ubuntu の 32-bit 版、64-bit 版と複アーキテクチャー版の Debian linux のファイルを切り貼りしてライブ起動&インストール用フラッシュメモリーを作る」という方法が紹介されています。これを試してみたら、一発!でインストール完了。ブートローダーの問題も解決!\(^O^)/

という所までの手順の覚え書き:

必要な周辺装置:
  • USB フラッシュメモリー(4 G で良い。もっとも、最近は小さいのを売っている所がなかなか見つからない)。
  • USB 無線子機:インストール作業の時点では内部の wifi が使えないので、必要。Buffalo の WLI-UC-G301N ならば linux でも使える(設定不要)。他のだと Windows や Mac でしか設定できないものがある(そういうのを一つ買って失敗した)。
  • USB ハブ:インストール用メディアと無線子機を同時に使おうとする時などに必要。これも、Windows や Mac で設定が必要なものがあるが、シンプルなものなら設定不要。Buffalo の BSH4U25 なら大丈夫だった。
VersaPro 側の準備:Windows 8.1 を立ち上げて、コントロールパネルを開き、
  • 高速スタートアップを切る:
ハードウェアとサウンド → 電源オプション → システム設定、で下の方へ行くと「シャットダウン設定」があるので、そこの「高速スタートアップを有効にする」を「推奨」を無視してオフ(このボタンが押せない時は「現在利用可能ではない設定を変更します」をクリックするとロックが解除される;ついでにスリープ解除時のパスワード要求も無効に出来るようになる)。
  • デュアル・ブートにするため、ディスクに Linux 用の空き領域を作る:
コントロールパネル → システムとセキュリティ → 管理ツールの項にある「ハードディスク・パーティションの作成とフォーマット」で、「ディスクの管理」を立ち上げる。その「C:」ボリュームをクリックする(表の方でも、棒グラフの方でも)と棒グラフの C: の部分に斜線の網が掛かる。「操作」→「すべてのタスク」→「ボリュームの縮小」。少しでも Windows を使った後だと縮小できる容量が(実際に使っている容量に比して)大きく減るので、出来るだけ使っていない状態(「工場出荷時」の状態に戻した直後、など)でこの操作を行う。

30GB 程度を linux で使うことにして、swap 領域を 4 GB に。
  • 回復ドライブの作成:
NEC のサポート・サイト
https://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=015936
を参考に、Windows 回復ドライブを作成(成功する自信があれば、Windows を消去してインストールするので不要だが、今回はいろいろ不安だったので作った;作っといて良かった…)。コントロールパネル→「回復」→「回復ドライブの作成」で、後は画面指示に従う。
  • ブート順を変える:
この機械は電源を入れる時に、電源ボタンと音量+ボタン(キーボードのではなく、筐体横の)を同時に数回押して UEFI のモードに入る。Menu の Startup に入って、「Boot」が選ばれている状態(赤くハイライトされている)で USB HDD をタッチして上位に引っ張る。
  • セキュアブートを切る:
同じく UEFI モードの画面で「Security」を選び、左の一覧から「Secure Boot」を選んで右の「Secure Boot」の文字の右下のバーの上をクリックすると On, Off が切り替わるのでオフに設定。(Ubuntu の場合は、セキュアブートに対応しているとの話があるので、この操作は不要かもしれない。)

次に、ライブ起動&インストール用のフラッシュメモリーの作成:
上で述べた通り、このページの答(の内の一つ)を参考に、linux が動いている機械で:
  • 32-bit, 64-bit 版の ubuntu ISO ファイルをダウンロード。
今回使ったのは、
64-bit: https://www.ubuntulinux.jp/download/ja-remix
ubuntu-ja-16.04-desktop-amd64.iso
32-bit: http://releases.ubuntu.com/16.04.2/
ubuntu-16.04.2-desktop-i386.iso    
マルチ・アーキテクチャーの Debian ISO:http://cdimage.debian.org/debian-cd/current/multi-arch/iso-cd/
debian-8.8.0-amd64-i386-netinst.iso
  • USB フラッシュメモリーのフォーマット:
GParted で FAT32 にフォーマットした。
  • ISO ファイルをマウント:
マウントするためのディレクトリを作り:

sudo mkdir /mnt/ubuntu64
sudo mkdir /mnt/ubuntu32
sudo mkdir /mnt/debian-noarch


そこに上でダウンロードした ISO ファイルをマウント。カレント・ディレクトリにダウンロードした ISO ファイルがあるとして、

sudo mount -o loop ubuntu-ja-16.04-desktop-amd64.iso /mnt/ubuntu64
sudo mount -o loop ubuntu-16.04.2-desktop-i386.iso /mnt/ubuntu32
sudo mount -o loop debian-8.8.0-amd64-i386-netinst.iso /mnt/debian-noarch/

  • ISO ファイルから USB フラッシュメモリーへコピー:

rsync -rL --exclude=/ubuntu /mnt/ubuntu32/ (フラッシュメモリーへの path)/
rsync -r /mnt/ubuntu64/boot/ (フラッシュメモリーへの path)/boot/
rsync -r /mnt/ubuntu64/EFI/ (フラッシュメモリーへの path)/EFI/
cp /mnt/debian-noarch/efi/boot/bootia32.efi (フラッシュメモリーへの path)/EFI/BOOT/
rsync -r /mnt/debian-noarch/boot/grub/i386-efi (フラッシュメモリーへの path)/boot/grub/
mv (フラッシュメモリーへの path)/casper/vmlinuz (フラッシュメモリーへの path)/casper/vmlinuz.efi
  • すべてアンマウントしてからフラッシュメモリーを USB から外す。
  • インストールしようとしている VersaPro の USB にフラッシュメモリーと Wifi 子機を挿してスイッチオン!ubuntu linux がライブ起動するので、動作を確認してからインストーラーを動かす。インストール作業そのものは linux ではお馴染みのもの。モスクワからだと元サイトが遠いのか、「言語インストール」の段階で非常に時間を食った。
  • インストール終了。
ドキドキしながら(嘘;何回となく失敗しているのでほとんど機械的に)再起動させると、すんなり立ち上がった!Dynapad に入れた mint より調子が良さそう。最初に書いた通りまだいろいろ調整が必要ですが、まずは一安心。

追記(2018年1月18日)
インストール時には wifi を使うには外付け子機が必要ですが、次のようにすると内部の  wifi を使えるようになります。(書いたつもりで忘れていました。)
  1. John Wells 氏のページの 5. Enabling wifi にしたがう。但し、ハードは thinkpad10 らしいので、Nicole Faerber 氏のページにあるファイル名(brcmfmac43241b5-sdio)に変えた:

    sudo cp /sys/firmware/efi/efivars/nvram-(tab キーで自動補完)  /lib/firmware/brcm/brcmfmac43241b5-sdio.txt
  2. その後、コピーされた brcmfmac43241b5-sdio.txt を
    sudo gedit /lib/firmware/brcm/brcmfmac43241b5-sdio.txt
    で無理矢理開けて(文字コードに関して文句を言われる)、"macaddr" の部分を書き換える。
  3. MAC address は Windows を立ち上げて接続情報を調べる(右をスワイプして「設定」→下部のアンテナ表示→接続設定の表示→ Wi-Fi の下のアンテナ表示→プロパティ表示で出てくる「物理アドレス」をメモっておく)。
  4. その後、
    sudo modprobe -r brcmfmac
    sudo modprobe brcmfmac
    したらつながった。(再起動後は自動的に感知する。)

05:08 | 投票する | 投票数(2) | コメント(0) | テクノロジー