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 grub2失敗編” への2件の返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください