W4-820 on Ubuntu ja 12.04.2 i386

消費税増税前最後の散財として、USB hubとUSBキーボードを清水の舞台から飛び降りる気で買いました。えっへん。(そんなに高くない(^^;)

まあ、この投稿は次のぐだぐだの続きって感じで

w4-820でlinux grub2失敗編 | Yuji Noizumi’s blog.
w4-820でlinux grub2成功編 | Yuji Noizumi’s blog.

Screenshot_from_2014-04-05 09:34:27画像はUSBメモリにUbuntu ja 12.04.2 i386をインストールして、UEFI化したところ。

WiFiが使えない。
lspci、lsusb でも見えないという事は特殊なハードウェアなのかな?

Windows 8.1のドライバだと、Broadcom となっているが、Acerのページだと、AzureWave ってなってるし、よく分からん。

Aterm MR03LNをUSBで接続すると、USB networkが使えるのでパッケージアップデートとかできるけど、母艦のVirtualBoxでrawdiskで起動してやった方が速いので通信は今のところ必要無い。

カーネルを3.13にしたのが次の画像。

Screenshot_from_2014-04-05 07:15:15タッチパネルが効くようになったので、設定→ユニバーサルアクセスでオンスクリーンキーボードを有効にしてみたが、キーが小さくて非常に打ちづらい。

この後、sudo grub-install ってやって、
/EFI/ubuntu/grubia32.efi を /EFI/ubuntu/bootia32.efi にコピーして再起動したら、起動しなくなった。

このUSBメモリを母艦のUSB3.0接続にして、VirtualBoxの rawdiskでは超速で起動するようになったが、W4-820では起動しない。

まあ、WiFiが使えない時点でUSBディスクで起動できるUbuntuがあっても、萎えーなので、再度のUSBメモリ構築はやる気も萎えーなのでございます。

【皇紀2674年4月5日 22:30 追記】
/etc/default/grub を
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=false
とやって、grubのメニューが出るようにして、recovery モードで起動したら、kernel 3.13 が起動できるようになった。

しかし、これではキーボード必須なのでUSBメモリ単体で何とかならんかのう…

あと、WiFiは
http://wireless.kernel.org/en/users/Drivers/brcm80211
でデバイスIDを照合すると、SDIO の BCM43241のようだ。

kernel 3.13以降で、linux-firmware の新しい奴を入れると、使えるかもしれない。

【/皇紀2674年4月5日 22:30 追記】

w4-820でlinux grub2成功編

このページ見ていて、
[FAQ] Asus T100: Installing custom OS (android/ubuntu/*nix/Windows 7/Windows 8 x64) – xda-developers.

Asus T100 での起動というのが先行しているという気がしたので、”Asus T100 linux”でぐぐってみると、

Booting Ubuntu on the Asus Transformer Book T100 – Liliputing.

というページで USBメモリで起動している記述があった。
Ubuntu 13.04 64bit のインストールCDを使っている!?

という事で、ubuntu-12.04.3-desktop-amd64.iso でUSB起動ディスクを作成する。

Screenshot_from_2014-03-30 10:41:17G-Tune NextGear のWindows 8.1 回復ディスク作成用に買っていた 32GB USBメモリがあったので、それを使用。

先の
[FAQ] Asus T100: Installing custom OS (android/ubuntu/*nix/Windows 7/Windows 8 x64) – xda-developers.

で、 bootia32.efi をダウンロードして、作成したUSB起動ディスクの /EFI/BOOT に配置してやる

たったこれだけ

得体の知れないファイルのダウンロードが嫌という場合は、拙ブログのw4-820でlinux grub2失敗編

そして、grub2-efi-bin のパッケージから必要なファイルを取得。
$ apt-get download grub-efi-ia32-bin

ファイルを展開。
$ mkdir tmp
$ dpkg -x grub-efi-ia32-bin_1.99-21ubuntu3.14_amd64.deb tmp

とやっておいて、

noizumi@greyhound:~$ grub-mkimage -d tmp/usr/lib/grub/i386-efi -o bootia32.efi -O i386-efi -p /boot/grub ntfs hfs appleldr boot cat efi_gop efi_uga elf fat hfsplus iso9660 linux keylayouts memdisk minicmd part_apple ext2 extcmd xfs xnu part_bsd part_gpt search search_fs_file chain btrfs loadbios loadenv lvm minix minix2 reiserfs memrw mmap msdospart scsi loopback

と自分で作成するも良し。わしの環境はUbuntu 12.04 LTS 64bitのUEFIなので、Legacy環境の人はこれでできないかもしれない。

USBメモリを挿してw4-820を起動させると、grub2のメニューは出るが、わしはPS/2キーボードしか持っていないので、”Try Ubunt”が選択できない。

そこで、USBメモリの /boot/grub/grub.cfg を編集して、

# Timeout for menu
set timeout=5

を追加してやる。

これで5秒カウントダウン後に Ubuntu が起動するが、Xの起動に失敗しているのか、コマンドプロンプトが出て止まる。

しかしながら、わしはPS/2の(以下略

【皇紀2674年4月6日11:00追記】

Booting Ubuntu on the Asus Transformer Book T100 – Liliputing.
このページに書いてあるが、

/usr/lib/xorg/modules/driver/vesa_drv.so
を削除するかリネームすると、Xが起動する。
しかし、LiveCDの構成ではタッチパネルが使用できないので、キーボードとマウスは必須。

【/皇紀2674年4月6日11:00追記】

もしかしたら、別のバージョンならXが起動するかもしれんが、又の機会に試してみるかのう。

【皇紀2674年4月6日11:00追記】

Ubuntu 13.10 64bit のLiveCDイメージだと解像度が合ってないのか壊れたテレビの様な画面になり、まともに操作するのは不可能。

こちらはタッチパネルが効いていて、画面を触ると反応する。

【/皇紀2674年4月6日11:00追記】

w4-820の一個しかないUSBの口にUSBメモリを挿してしまうと、キーボードもマウスも接続できないので、USB HUBでUSBメモリ、USBキーボード、USBマウスを接続して作業すると良いかもしれない。

しかし、UEFI 32bitだから、32bit のUbuntuを使用しなくてはいけないと思っていたが、まさか UEFIが32bitで、Ubuntu が64bitだったとは盲点だったのう。

【皇紀2674年4月6日11:00追記】

Intel Atom Z3740 は「インテル® 64」対応で64bitのプログラムが動くが、W4-820はメモリを2GBしか搭載していないので、メモリ効率を考えれば、64bitよりは、32bit版のUbuntuを使う方が良いだろう。

【/皇紀2674年4月6日11:00追記】

w4-820でlinux grub2失敗編

UEFI環境のgrub2 について理解に乏しかったのだが、メインPCのG-Tune NextGearが64bitのUEFIであり、その環境で朧げながら UEFIのgrub2が理解できた。

acer w4 820 ubuntu – 備忘録っぽい – Yahoo!ブログ.

こちらで w4-820 の Ubuntu のブートに成功したと書かれていて、わしもやってみる事にした。

結論を先に書いてしまうと、Ubuntu の USB起動はできなかったので、どういう手順でダメなのかという記録という程度の投稿である。
この次の投稿では成功した→w4-820でlinux grub2成功編

わしの環境だと、64GB USBメモリを挿すと /dev/sdd になるので適宜自分の環境に置き換えて下さい。

64GB USBメモリをGPTにする。

続いては gparted でfat32、ext4、linux-swap を確保する。

parted でまとめてやってしまえば良いのだろうけど、GUIで弄れる方が楽なので、gpartedで作った。fat32とext4はフォーマットした。

そして Ubuntu 12.04.2 32bit をUSBにインストール。

わしは、32bitのUbuntuのCDを起動できる環境が無いので、VirtualBoxにディスクを割り当てずに新マシンを作成し、CDはUbuntu 12.04.2 ja 32bitのISOイメージ、USBにUSBメモリを割り当てて仮想マシンを起動。

USB3.0対応のUSBメモリなのだが、USB3.0のポートに挿すと、なぜか認識してくれないので、USB2.0のポートに差した。

grubをインストールするのは、USBメモリの先頭の /dev/sdd

EFI化するのでw4-820で起動させる目的だとこれは不要だが、BIOS boot できる環境があるなら、EFIとBIOS起動の両用にできるので、grubのインストールをして置いても良い。

インストール終了したら、再起動を促されるが、再起動せずにシャットダウンする。

USBメモリをそのまま起動すると、USBメモリに一時ファイル書き込みなどが行われて遅いので、/tmpなどをRAM DISK化する。

VirtualBoxでUSBメモリインストール終了させると、USBメモリの制御がHostマシンに移るので、Ubuntu の場合は、/media 以下にマウントされる。

fstabを弄ってRAM DISKを作る前に、USBメモリのext4の領域で、/boot/efi の下に vfat 領域をマウントする為にディレクトリを掘っておく。

noizumi@greyhound:/media/c5193ebb-18be-460e-90c8-a092d3448328/boot$ sudo mkdir efi

そして、fstabに次の内容を追加

UUID=19A5-F623 /boot/efi vfat defaults 0 1
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/log tmpfs defaults 0 0

/var/log も頻繁に書き込みが起こるので、flashメモリの寿命を考慮するならば、RAM DISK化しておいて、電源切ったら逝ってよしという設定。

前に作成したUSBディスクは、起動スクリプトに細工して、ログファイルをRAM DISKへ展開し、終了時にRAM DISKから書き戻すという事をやっていたが、まあ、デバッグが必要で無い限り、ログは揮発していいだろう。

わしは、VirtualBoxでUSBメモリ起動させて、カーネルを3.13にしたり中身を弄ったが、Ubuntu 12.04 LTS 64bit だと、USBメモリのデバイスファイルは、root:disk の所有権になっているので、自アカウントを

$ sudo usermod -a -G disk noizumi

などとやって、リログインしておくと、USBメモリが /dev/sdd の場合、

$ sudo vboxmanage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdd

とvmdkディスクを作成して

$ sudo chown noizumi:noizumi usb.vmdk

とやれば、rootでなくてもVirtualBoxに登録して起動できる。

[FAQ] Asus T100: Installing custom OS (android/ubuntu/*nix/Windows 7/Windows 8 x64) – xda-developers.

にある bootia32.efi をダウンロードして vfat 領域の /EFI/BOOT 以下に配置。

そして、grub2-efi-bin のパッケージから必要なファイルを取得。
$ apt-get download grub-efi-ia32-bin

ファイルを展開。
$ mkdir tmp
$ dpkg -x grub-efi-ia32-bin_1.99-21ubuntu3.14_amd64.deb tmp

USBメモリのvfat領域へコピー
$ cp -r tmp/usr/lib/grub/i386-efi /media/19A5-F623/EFI/BOOT

$ vi /media/19A5-F623/EFI/BOOT/grub.cfg

search.fs_uuid c5193ebb-18be-460e-90c8-a092d3448328 root
set prefix=($root)/boot/grub
configfile $prefix/grub.cfg

ext4領域を root にして /boot/grub/grub.cfg を読み込むというメインPCと同じ方式。

そして、 secure boot OFFにした w4-820 にUSBメモリを挿して起動させてみると、grubは起動するが メニューが出ず。

キーボードを接続していれば、手動で起動できるかもしれないが、わしはPS/2キーボードしか持っていないので無理。

件のページがどうやって起動させたのか謎だな。

w4-820でlinux(未完)

色々頑張ってみたが結局うまくいかなかったのでそのまとめ。

【手順】
Ubuntu ja 12.04.2 LTS 32bit をUSBキーにインストール
※LiveCDの起動ディスク作成ではなく、普通のインストール

パーティションは

(parted) print
モデル: JetFlash Transcend 64GB (scsi)
ディスク /dev/sdb: 63.2GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 1049kB 250MB 249MB fat32
3 250MB 59.1GB 58.9GB ext4
2 59.1GB 63.2GB 4095MB linux-swap(v1)

こんな感じ。

先頭のFAT32領域にrEFIndからダウンロードしたファイルを設置
【/EFI/BOOT】

[refind.conf]

default_selection 2にしてあるのは、1番目にプリインストールのWindows8.1がメニューに出てくるので、そのままだとWindows8.1が起動してしまう為。

rEFInd はタッチパネルに対応しておらず、メニューで切り替える事ができないので、初期値でUbuntuを起動するようにしていないといけない。

secure boot offでw4-820をbootさせると、rEFIndの起動には成功するのだが…

と出て止まる。

kernelのファイルをbootia32.efiと同じ場所に置いたり、FAT32の/ に置いたり、ext4の/に置いたりと試したが、”Not Found”と言われる。

googleで検索してもUEFI32 での同様の事例や解決例が無し。
現状お手上げ状態な訳ですな。

G-Tune NextGear Ubuntu 12.04 LTS 64bitでの困った事

にぅますぃーんにして、環境構築をやったのだが、過去のページを参考にドライバを取りに行ったらアヴァシスのページに「Linuxドライバーダウンロードサービス運営終了のお知らせ」などとい悲しいお知らせが。

で、EPSONのサイトからPX-403Aの
epson-inkjet-printer-201103j_1.0.1-1lsb3.2_amd64.deb
iscan-data_1.26.0-1_all.deb
iscan_2.29.3-1~usb0.1.ltdl7_amd64.deb

をいただいてきて、インストール。

プリンタは問題なく動いたが、イメージスキャナが使えなくなった。
コマンドラインから、 iscan と叩いても、「スキャナーと通信ができません」というダイアログが出たり、出なかったり、/var/log/syslog にも全くエラーらしき出力が出ないので、何が悪いのやらさっぱり分からない。

VirtualBox guest のWindows7 Professional 64bit にUSBデバイスを渡してやって、EPSON スキャンだと問題無く動くので、Linux のシステム的な問題なのかもしれない。

前のDELL studio 1558はUSB 2.0 だったが、今回のマシンは USB 3.0で、Webカメラの接続とかも挙動がぁゃιかったりするので、USB周りのような気がする。

当面はVirtualBoxのwindows7で何とかなりそうだが、将来改善するのか不安だのう…。

Ubuntu one で AUTH_FAIL

昨日、steamってのをインストールした。

その時になぜかUbuntu Oneの認証を聞かれたが、以前メモってたパスワードでログインできなかった。

で、「パスワード忘れた」で以前メモってたパスワードに再設定した。

ローカルドライブの同期のUbuntu Oneを開いてみると、「AUTH_FAIL」。パスワードの再設定をしようにも項目が無い。

普通、パスワード違ってたら、聞いてくれるんじゃないの?

そこで調べると、こげなぺーづを見つけたが、
Open System > Preferences > Passwords And Encryption Keys (application is called seahorse)
なんて、Ubuntu 12.04にはそんな項目はございません。

端末開いて、seahorse と打つと、「パスワードと鍵」なんてウインドウが開いた。これって設定から辿りつけねーじゃん。

Ubuntu 12.04でシステム設定が大幅に簡略化されて、困ったらUnity Dashで解決! で初心者も安心みたいなのを目指してたのだろうけど、今回の事態の様なものだと、痒いところに手が届かなくてハマる事になる。

seahorse のパスワードのタブの「パスワード:login」を展開して、「Ubuntu One」を delete で Ubuntu Oneのアプリを起動するとログインからスタートするようになった。

Ubuntu Oneって結構発展途上だなあ。

【OpenRD】Zoneminderカメラ交換

監視カメラシステムとして、ARM CPUのOpenRD UltimateにDebian squeezeをインストールして、Zoneminderを動かしている。

留守中に誰かが来て、玄関に何か置いてあった時とか、確認するのに結構便利。

Screenshot_from_2014-02-15 10:24:22 敷地内の警戒感度を上げる為に、こげな感じに設定。
ちなみにエリア設定は、IE、Firefox、Google Chrome共、Javascriptがうまく動かないので、Opera 12.16を使用。

Screenshot_from_2014-02-15 10:28:16前のカメラは320✕240ピクセルだったが、細かいところがボケて見え難いというのがあるので、今回は640✕360(16:9)で設定。

ちなみに、前のカメラみたいに横幅320ピクセルだと

Screenshot_from_2014-02-15 10:29:43ちょっと細かい部分が分かり辛い。

4FPS 24時間録画で1ヶ月で消去の設定だが、OpenRDだと15FPS/1台程度なら何とか使える感じ。

ただ、監視カメラ1台の処理でCPUフルパワーだと、時刻サーバーの精度が落ちるし、ファイルサーバーの転送機能にも影響が出るので、ちょっとフレームレートを落として余裕の運用をしている。

でも、640✕360ピクセルの録画だと、結構CPUパワー食いそうだなあ…。

【Ubuntu 12.04】kernel 3.12入れた

pionnerのカーナビのリビングキットを接続したら、

Feb  2 21:45:06 greyhound kernel: [13528.307291] xhci_hcd 0000:00:14.0: ERROR no room on ep ring

とsyslogにエラーが出て、USBが死んでしまう。

ちょいと検索すると、USB3.0系のバグらしい。新しいカーネルでは直ってるとか。

nct6775も新しいカーネルドライバには入ってるそうだし、調べると、パッケージであるみたいだし、ここは最新カーネルを入れる事にする。

まず、nct6775のdkmsが衝突する事になるので、アンインストール

sudo apt-get purge nct6775-dkms

その後で、参考ページの

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200_3.12.0-031200.201311031935_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb

でファイルを戴いてきて、

sudo dpkg -i linux-headers-3.12.0-*.deb linux-image-3.12.0-*.deb

で、インストール完了。

後は再起動して今に至るが、リビングキットを接続しても問題なし。VirtualBoxのWindows 7ゲストでナビスタジオを起動できた。

これで大体、以前の環境に戻った感じ。土日がにうますぃーんの環境設定で終わったなあ 🙁

温度計測 lm-sensors

マウスコンピュータのG-TuneNextGear に Ubuntu 12.04.3 64bitを入れて環境構築ちう。

CPUの温度を知りたいので lm-sensors のパッケージ入れて、sudo sensors-detect カマしても ZM87 チップセットは認識されなかった。

本家サイトから最新版ソースを戴いて来て、

$ cd ~/src
$ tar xvjf ~/ダウンロード/lm_sensors-3.3.5.tar.bz2 で展開。

$ cd lm_sensors-3.3.5
make すると、bison と flex を入れろと言うので、
$ sudo apt-get install bison flex でサクッと入れる。

で、make して出来上がったら、必要なドライバが分かればいいので、インストールせずに
$ cd prog/detect
$ sudo ./sensors-detect

とやればいい。

coretemp と nct6775 が必要との事で、新しいカーネルにはnct6775はモジュールとして入ってるらしいが、Ubuntu 12.04 のkernel 3.2.0 のモジュールには入ってないらしい。

PPAにextradriversってのを公開されている人が居るので、早速追加。
$ sudo add-apt-repository ppa:ppa:foresto/extradrivers
$ sudo apt-get update
$ sudo apt-cache search nct6775

nct6775-dkms – New driver for Nuvoton NCT6775F, NCT6776F, NCT6779D in DKMS format.

という事で、nct6775-dkms を入れるといいらしい。

$ sudo apt-get install nct6775-dkms

/usr/src/nct6775-0.1~git20120806.87f60dd にドライバソースが入ってて、カーネル更新の度にdkmsでカーネルドライバとして組み込まれるようになっとる訳ね。

注意書きにあるが、

Tip: If this driver loads but your network card is still using the sky2 driver, you might have to add one or both of these line to a file in /etc/modprobe.d/ :

blacklist sky2
blacklist skge

ネットワークカードで、sky2ドライバを使う場合は追加が必要との事だが、わしは使ってないから追加しなかった。

[/etc/rc.local]
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0” on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Chip drivers
modprobe coretemp
modprobe nct6775
/usr/bin/sensors -s

exit 0

と /etc/rc.local に太字部分を追加して、
sudo sh /etc/rc.local

でおっけー。

$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +105.0°C)
temp2:        +29.8°C  (crit = +105.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +33.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:         +33.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:         +31.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:         +31.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:         +32.0°C  (high = +80.0°C, crit = +100.0°C)

nct6779-isa-0a00
Adapter: ISA adapter
in0:                    +0.89 V  (min =  +0.00 V, max =  +1.74 V)
in1:                    +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in2:                    +3.34 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in3:                    +3.33 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in4:                    +1.12 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:                    +0.86 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in6:                    +1.15 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in7:                    +3.44 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in8:                    +3.34 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in9:                    +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in10:                   +0.34 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in11:                   +0.00 V  (min =  +0.00 V, max =  +0.00 V)
in12:                   +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in13:                   +0.83 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in14:                   +0.58 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
fan1:                  1457 RPM  (min =    0 RPM)
fan2:                  1480 RPM  (min =    0 RPM)
fan3:                  1442 RPM  (min =    0 RPM)
fan4:                     0 RPM  (min =    0 RPM)
fan5:                     0 RPM  (min =    0 RPM)
SYSTIN:                 +34.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor = diode
CPUTIN:                +127.5°C  (high = +80.0°C, hyst = +75.0°C)  ALARM  sensor = diode
AUXTIN0:                +18.0°C    sensor = thermistor
AUXTIN1:                +78.0°C    sensor = thermistor
AUXTIN2:               -128.0°C    sensor = thermistor
AUXTIN3:                +68.0°C    sensor = thermal diode
PCH_CHIP_CPU_MAX_TEMP:   +0.0°C
PCH_CHIP_TEMP:           +0.0°C
PCH_CPU_TEMP:            +0.0°C
PCH_MCH_TEMP:            +0.0°C
cpu0_vid:              +0.000 V
intrusion0:            ALARM
intrusion1:            ALARM

CPU温度と電圧、ファンスピードなど細かいデータが取れるようになった。

dell studio1558だと、CPU温度が55〜100℃だったが、デスクトップは温度が低くていいなあ 🙂

マウスコンピューターG-TuneNextGear

新マシンが昨日到着して、早速Ubuntu 12.04.3 64bitをUSBに焼いたやつでインストール。

前のDELLのstudio1558の時は、Windows7プリインストールマシンだったが、Windows領域を縮める前にBIOS起動画面に入るのに失敗してWindowsセットアップを走らせてしまった。

Ubuntu 12.04をインストールした後でWindows7を起動すると、ディスク整合性チェックで30分以上使用不能となり、げんなりした。

今回、マウスコンピューターのG-TuneNextGearは、起動させて、F1、F2、deleteキー連打してBIOS設定画面に入り、UEFI USB keyでUbuntu 12.04.3 Liveを起動させた。

gpartedでプリインストールのWindows8.1のサイズを100GBほどに縮めて、空き全てをUbuntuに割り当て(/ 約1.7TB、swap 60GB)。

UEFIなので、/dev/sda2 のEFIブートローダーにgrubをインストール。

再起動させたらgrubのメニュー表示も無しに Ubuntu が起動した。しかし、Windows8.1はどっこー?プリインストールの初期設定もしてないから、当然リカバリディスクなんぞ作ってない。

まあ、Ubuntuからディスクユーティリティでハードディスクを覗くと、Windows8.1とrecoveryは存在するので、UEFIだから、ブートローダーまで辿り着ければ何とかなるはず。

Boot Repirってのでgrubの不都合をてきとーにニギってくれるらしいので、Live USBでUbuntu 12.04起動して、書いてある通りにインストールしてboot repairを起動。

おまかせ(Recommended repair)でニギってもらったら、grubのメニューが出るようになった。ブラボー!

grubのメニューからWindows8.1起動できるようになったので、初期設定。W4-820で microsoft アカウント作ったので、それでログインしたら、W4-820のSkyDriveとか、IEの履歴とか引継ぎよった。母艦+タブレットユーザーには便利やね。

Windows8.1の高速スタートアップが有効だと、Ubuntuの起動に支障が出るらしいので、

コントロールパネル→システムとセキュリティ→電源ボタン動作の変更

で、「現在利用可能ではない設定を変更します」をクリックして、「高速スタートアップを有効にする(推奨)」のチェックを外す。

そして、再起動。

grubのメニューからUbuntuを選択して起動させると…、secure bootに引っ掛かってWindows8.1が起動した。

BIOSの設定でWindows8って項目があるので、そこでsecure boot OFF。W4-820はSupervisor Passwordの設定が必須だったが、AMI biosは要らんみたいだな。

再度grubからUbuntu選ぶが起動せず。
もう一回、boot repairでバックアップから再定義で、Purge kernels then reinstall last kernelを選択。

それでも起動しないので、BIOSのWindows8 Featureをdisabledに。

それでやっとgrubのメニューから起動するようにはなったがXが起動せぬ。そこでハタと気づいたが、ひょっとしてdkmsのnvidiaのモジュールまで飛んじゃった?

#dpkg-reconfigure nvidia-331
直らず。
#dpkg-reconfigure linux-image-3.2.0-58-generic
直ったー

という事で、UbuntuとWindows8.1のセレクタブルブート(デュアルブート)は非常に面倒な事になる訳だな。

これからstudio 1558のディスクから必要なファイルをサルベージしないといかん。もうげんなりだ。