Re:シルの日々の戯言。

散財が生き甲斐になりかけている、デジタルガジェット大好き自称黄色いネズミの戯言。

UEFI環境にelementary OS 0.3.2をインストール後、UEFI Interactive Shellでなんかエラーが出る(´・ω・`)

久し振りにelementary OSを導入したらインストール直後にシャットダウンしたら起動しなくなる問題にぶち当たってしまった(´・ω・`)
そうか、巷で噂の「何もしていないのに壊れた!」と言うのはこう言う事なのか・・・。*1
f:id:sylvester:20160116201752j:plain

感の鋭い方は一発で何が悪いか分かるだろうが、地味にUEFI環境でLinuxを導入したのは今回が初めてなので*2個人的な備忘録として記録を残しておこうと思います。

発生環境

MacBook 11inch Retina上に導入したVirtualBox 5になります。
散々愛用したParallels Desktopはライセンスの都合上、MacBook側には導入出来ないので無償で利用させて頂けるツールを導入しています。*3

Parallels Desktop 11 for Mac Retail Box USB JP

Parallels Desktop 11 for Mac Retail Box USB JP

導入済みバージョンの詳細と、仮想マシンの設定状況はこんな感じ。
f:id:sylvester:20160116203228j:plain
f:id:sylvester:20160116203235j:plain

恐らくはUEFIを有効にしたのが最大の間違い。・・・いや、今後はUEFI有効の方が良いのかなぁ?良く分かりませんが、ザックリと触れた感覚としてはUEFIの方がサクサク動いてくれた気がするので、elementary OSに関してはUEFIを有効にした設定で進めていこうと思います。

今回の事象の原因

先に原因を書いてしまうと、startup.nshと言うファイルにBOMと呼ばれる特殊な符号が記載されている為です。
簡単に調べてみると、UTF-16でファイルを開くために判定するための特殊符号らしいです。浅知恵なので、詳しくはIT用語辞典さんで確認して下さい(他力本願)
e-words.jp

解説記事を見る限り、本来はファイルの先頭に記載されるべき特殊符号が行末に付与されているため、記載された内容が正しく認識出来ずに冒頭の画像のメッセージが表示されてしまった訳です。*4

とりあえずelementary OSを起動させる方法

復旧させる為にはelementary OSをどうにか起動させる必要があります。
やり方は簡単で、文字化けした謎の文字列以外の内容を入力すればOKです。
f:id:sylvester:20160116205355j:plain
私の場合はこんな感じです。

fs0:/EFI/ubuntu/grubx64.efi

注意点として、キーボードは英語キーボードとして認識されています。
「 : 」を入力する場合はShift + 「 ; 」キー、「 / 」はキーボードの「 ] 」のキーを押下します。

今回の問題となるstartup.nshの修正方法

elementary OSが起動してしまえば、あとは何とかなります・・・が、管理者権限で設定ファイルを操作するので黒っぽい背景に灰色文字のLinux初心者が泡を吹いて倒れそうな画面での操作を強いられます。*5

f:id:sylvester:20160116210033j:plain
画面はまた日本語化していない状況ですが、画面左上の「Applications」→「Terminal」を起動します。

f:id:sylvester:20160116210356j:plain
とりあえず、コマンドを打ち込んでいきましょう。

cd /boot/efi
sudo vi startup.nsh

いや、やろうと思えば「 sudo vi /boot/efi/startup.nsh 」でも良いよ?*6

sudoは必須ですが、エディタはお好みのエディタを使って下さい。つーか、宗教戦争に発展する火種なのでお好きなので。私はviに慣れちゃったから使ってるだけだから。
sudo叩いてるので、自分自身のパスワードを要求されるので、間違えずに入力して下さいね。

f:id:sylvester:20160116212433j:plain
viエディタの場合ですが、3行目にファイルパスっぽいのが書かれてますが、青地で<feff>と見る限り明らかになんか突いてちゃ変な文字列があります。

f:id:sylvester:20160116212602j:plain
消しましょう。消したら上書き保存しましょ。

f:id:sylvester:20160116212636j:plain
念の為にシャットダウンしましょう。右上の電源ボタンから「Shut Down...」項目をクリックします。

f:id:sylvester:20160116212845j:plain
赤ボタンの「Shut Down」をクリックしてシャットダウン、その後で再度電源を投入し、自動的にelementary OSが起動してくれればOKです。

時に、なんでまたelementary OS入れようとしたんだ?

前回導入した時からバージョンが上がってたので、どんな感じか見てみたかった。*7
あと、2015年末に書いた怪しい添付ファイル記事がたまに凄いアクセスが発生するので、継続的にチェックするための検証環境としてLinux系OSを導入したかった2点です。*8
sylve.hatenablog.jp

結局、今日はstartup.nshの問題に気づくのに時間を要してしまった為、環境作り込みはこれからですが、早いところ環境を作って怪しいメールをもうチョット確認する環境を作りたいものです。*9

*1:正直初回アップデートが原因かと思って、環境入れ直してシャットダウンしたら駄目だった。正しくは「シャットダウン操作を実施後、elementary OSを改めて起動しようとしたら起動出来なくなった」と言うのが正しいか。

*2:UEFI環境はほとんど触ってないがVAIO Pro辺りかな?あとIntel Macはうろ覚えだがEFIだったはず。どちらもほぼプリインストール環境なのでUEFI環境にOSを導入したのはもしかすると初めてか、実家用のThinkPad L530辺りが初めてになるのかなぁ?

*3:そろそろParallels Desktop 11にアップデートしないとバージョンアップ権が無くなるのでiMac側で利用している奴をバージョンアップしないと行けないのですが・・・

*4:よく見ればファイルパスと思われる記載の末尾に文字化けした謎の符号が付与されてるんですよね。

*5:elementary OSは極力この画面を操作せずに使えるようにしている・・・のに、この画面での操作が必要とは悲しいなぁ。・・・いや、GUI上からもやろうと思えば出来るんだろうけど。

*6:ファイル探したりして画像だとls叩いたりしてますが、ピンポイントでやるならフルパス直指定で問題無いです。・・・意識高い人はキチンとcp叩いてバックアップ取るんだろうけど。

*7:あと、なんだかんだでelementary OSが入ってるSSDを別の用途に転用しちゃったのでelementary OS動かす環境が無かった。ちなみにメインのiMacで利用しているParallels Desktopは、旧バージョンを騙し騙し使ってる影響か、VGA解像度から設定変更出来ないと言う問題がありましてな・・・。

*8:たまに通常の4倍くらいPVが伸びるので驚きですよ・・・。

*9:記事を書くかは別に、面白そうな詐称系のメールだったらやってみようかなぁ・・・