やっぱりviでないと(はかど)らない

投稿日:

 20年前から10年前にかけて、システム管理の仕事をしていた。はじめ、私の役目はサーバとエンジニアリングワークステーション数十台からなるシステムの、商用UNIXのrootであった。UNIXはNECが出していた「UX/4800」で、SVR4.2の標準に準拠していた。サーバはUP4800、エンジニアリングワークステーションはEWS4800という製品だった。

 職場のサーバやエンジニアリングワークステーションなので、勝手に環境を変更することは許されず、いきおい、エディタなどは標準で入っている「vi」以外に選択肢がなかった。

 その後、その職場ではLinuxサーバが増えたのだが、GUIが重くて面倒臭いので、Xをインストールせず、管理作業等はコンソール画面で、エディタは相変わらずviのみを使っていた。

 それら数十台のLinux/UNIXマシンを相手に、10年の間、地味な管理作業に(いそ)しんだ。

 その頃からの習い(さが)で、今でも「ああ、これ、vi使ったほうが早いのになあ……」などと思うことがどうしても多く、職場のPCにviが入っていなかったりするとイライラする。しかし、今の職場のPCは私が管理しているものではないので、どうにも仕方がない。

 しかし、自宅は別で、何を放り込もうが私の勝手である。だから、躊躇なくviをインストールする。viを使うと、ちょっとしたことでも迅速・快適に作業ができるからだ。

 先ほども、ネットで拾った複数行の文字列を、行ごとに「<tr><td>文字列a</td><td>文字列b</td></tr>……」というふうにテーブルに成型する必要があったのだが、このようなことはそこいらの変なエディタを使うより、viのほうがよっぽど早くできる。

 ネットで拾った文字列は次の通りだ。愛用のタブレット、T101HA-G128のBIOSセットアップのパスワードをリセットするためのレスキューパスワードの羅列だ。

2011-11-23 A1AAABBA
2011-11-24 AL11LAAA
2011-11-25 ADH0AHBB
2011-11-26 AAAAB1BL
2011-11-27 A9BOCAAD
・ ・ ・

 これを、先に述べたように<table>タグで囲めるよう、<td>タグ等で成型するわけである。

 こんなこと、viでやればほんの数秒だ。普段から手になじんでいれば、人によっては「3秒」で終了させられる。

 それには、次の数個のコマンドを投入するだけでよい。

:1,$s/^/<tr><td>/
:1,$s! !</td><td>!
:1,$s!$!</td></tr>!

 たったこれだけで、全部の行が一瞬で次のようなHTMLに生まれ変わる。

<tr><td>2011-11-23</td><td>A1AAABBA</td></tr>
<tr><td>2011-11-24</td><td>AL11LAAA</td></tr>
<tr><td>2011-11-25</td><td>ADH0AHBB</td></tr>
<tr><td>2011-11-26</td><td>AAAAB1BL</td></tr>
<tr><td>2011-11-27</td><td>A9BOCAAD</td></tr>
<tr><td>2011-11-28</td><td>A0B0ADBD</td></tr>
・ ・ ・

 あとは前後に<table>~</table>タグを入れ、スタイルをちょっと書くだけだ。

 ことほど左様に、viはいい。

 ……なのだが、「viは作業が早く済む、生産性が極めて高くなるから職場のエディタはこれで統一すべきだ」なんてことを言うと、あらゆる人から排撃され、揉めなくてよいところで揉めることになるので、便利でいいものだと思っても、人に(すす)めたりしないよう黙っているしかない。

ASUS TransBook T101HA-G128 BIOSパスワードのリセット方法

投稿日:

 昨夜、寝床でPCを使用していた。先日購入したASUSの2 in 1ノート、「TransBook T101HA-G128」だ。夜中のこととて、イヤホンを挿入した。ところが、「オーディオ機器が接続されました」とのメッセージは表示されるのに、音が出ない。

 前のTransBook(T100Chi)では、タッチパネルが動かなくなることが多く、そういうときはBIOSのデフォルトをロードしなおして再立ち上げすると直った。時計が遅れる現象などもこれで直ったものだ。

 このPCもそうだろう、同じようにすれば直るのでは、と思い、BIOSセットアップ画面を出した。T100Chiと比べて、T101HAはキーボードがBluetoothではなく、物理接続なので簡単だ。電源投入直後、「ASUS」ロゴの表示画面で[F2]キーを押し下げながら起動すると、BIOSセットアップ画面が表示される。

 BIOSセットアップに入るためのパスワード画面が出る。一昨日、他人に悪用されることがないようにとBIOSパスワードをセットしておいたのだ。Administrator・User両方ともである。

 得たり、とセットしておいたAdministratorのパスワードを入力する。

 「Invalid Password」とはじかれる。あれ?慎重にもう1回……あれ?もう2回……

 パスワードは3回はじかれて、画面がフリーズした。

 電源を入れなおしては数回試みるが、同じである。

 幸いにUserパスワードのほうは正しくセットされていなかったらしく、無入力+EnterでBIOS画面だけは出すことができた。だが、Administratorではないので、デフォルト値ロードなどの肝心の選択肢が使えない。

 うーむ。参った……。

 ……と、いうようなわけで、ネットを渉猟し、「ASUS TransBook T101HA-G128」の「BIOSパスワードリセット方法」が分かった。

 検索して出てくる方法は、少し情報が古かったりするようなので、私が実行してうまくいった最新の方法をここに書き留めておきたい。多分、私と同じようなハメに(おちい)った人が、検索して役立てるだろう。

「ASUS TransBook T101HA-G128」のBIOSパスワードリセット方法
  1.  PCの日付を「2011年11月23日」にする。
  2.  ネットのほかの情報では「2002年1月2日にする」と書かれているものがあるが、私の環境ではなぜかうまくいかなかった。おそらく機種や発売時期で異なるのだと思われる。

  3.  再起動し、ASUSロゴ表示前に[F2]キーを長押し等する。長押しでうまくいかない場合は、間欠的に指を離してまた押す等するとよい。
  4.  パスワード入力画面が表示される。
  5.  なんでもいいので、何か文字を入力し、一旦Enterする。「Invalid Password」となる。Enterキーを押す。
  6.  (おもむろ)に [Alt] + R を入力する。(←重要!)
  7.  画面に「Enter Rescue password / 2011/11/23」と表示される。
  8.  「A1AAABBA」とパスワードを入力する。この際、シフトキー等を使用しない。
  9.   BIOSのAdministratorパスワードが解除された状態でBIOSセットアップが起動する。

 これで無事、自分のPCの支配権がすべて自分に戻ってくるのであった。めでたしめでたし。

その他の補足情報

 実は上記に行き着くまでに、ほかの方法もいろいろと試した。結局あまり意味はなかったが、副産物として後々参考になりそうな事項があったので、以下に書いておく。

BIOS等のバイナリファイルの16進及びASCIIダンプの取り方

 昔は「dump」などのコマンドがMS-DOSの拡張キットなどに入っていたと記憶するが、Windows 10のコマンドラインツールにはない。

 しかし、代替手段はある。証明書関連の諸作業に使用するコマンドの「certutil.exe」を使えばダンプをとることができる。

 例えば下記は、そのcertutil.exeを使用し、ASUSのサイトからダウンロードした本日現在最新のBIOSのダンプをとっているところである。

C:\>certutil -f -encodehex C:\T101HAAS.304 C:\T101HAAS.304.dmp
入力長 = 6293504
出力長 = 29824512
CertUtil: -encodehex コマンドは正常に完了しました。

 こうすると、「C:\T101HAAS.304.dmp」にテキストでダンプが取れるから、それを見て解析するとよい。注意すべき点は、バイナリ形式の中での文字列は、一文字ごとに0x00が入ったりすることなので、「ALAA」という文字列を探す場合は、「A.L.A.」……というふうに探さないと見つからない。また、改行も入るから、文字列を当てにしての検索はあまりうまくいかないと思ったほうがよい。

ASUS「WinFlash」で無理やりBIOSを書き換える方法

 実はBIOSを強制的に上書きすれば、BIOSのAdministratorパスワードもリセットされるのではないか、と思ったのだ。結果は「リセットされなかった」ので、無駄であった。ネットのQ&Aなどで「BIOSをアップデートすればパスワードもリセットされますよ」などという解答があったのだが、これは誤りとみてよい。また、機種等にもよるのであろう。

 だが、何か他のことで、BIOSを無理やり上書きしたいという人もいるかもしれないと思うので、その情報を書いておく。

 標記「WinFlash」はASUS純正のBIOSアップデートユーティリティだ。安全にできており、日付などでうまく制御され、無駄なダウングレードなどはできない仕組みになっている。

 しかし、コマンドラインオプションをつけて起動することで、強制的に書き換えたり、日付を無視してダウングレードなどすることができる。

 ネットでは「/nodate」オプションが第三者によって紹介されているが、このプログラムのダンプをとると、次のようなコマンドラインオプションがあることがわかる。

/nodate ダウングレード等のため、タイムスタンプを無視する。
/force 強制的に書き換え
/nowmsg 不明(メッセージの抑制ではないかと思われる)
/nodefault 不明

 私は上のうち、「nodate」と「force」の両方を試し、特にシステムが破壊される等の支障はなかった。BIOSはきれいに上書きされた。……パスワードは初期化されなかったので、意味はなかったが(苦笑)

 しかし、意味もなく上記のオプションをつけてWinFlash.exeを実行し、PCがおかしくなったとしても、私の知ったことではない。

cmospwd

 他に、「cmospwd」というフリーソフトを使ってCMOSをフラッシュする、という情報がネットに多く見つかるが、どうもASUS TransBook T101HA-G128には適合しないらしく、うまくいかない。「ioperm」というシステムのインストールを求められるのだが、それがうまくいかない。

他のパスワード

 ASUSのBIOSパスワードに関することはネットに情報があり、PCに設定する日付ごとにパスワードが変化するようである。

 実際に入力して試してはいないが、次のような情報がある。

日付 パスワード
2011-11-23 A1AAABBA
2011-11-24 AL11LAAA
2011-11-25 ADH0AHBB
2011-11-26 AAAAB1BL
2011-11-27 A9BOCAAD
2011-11-28 A0B0ADBD
2011-11-29 AADD0L2B
2011-11-30 L1DDO1AB
2011-12-01 0DADBALA
2011-12-02 LA9AC0BA
2011-12-03 L9L1ACAA
2011-12-04 B0L00ALA
2011-12-05 BBAAAA0B
2011-12-06 2ABOHBAL
2011-12-07 2OA0BALD
2011-12-08 1BADLL0D
2011-12-09 1H9A2BAB
2011-12-10 B9BA0BDB
2011-12-11 BBB1AAL0
2011-12-12 OBDH4LAL
2011-12-13 OAAABBDB
2011-12-14 AO2OLBL2
2011-12-15 AB40BAA1
2011-12-16 A4ADAHD1
2011-12-17 AABAO1LC
2011-12-18 AAB1AAA9
2011-12-19 A1DHDBDB
2011-12-20 AADHLHBA
2011-12-21 AOAAB1AA
2011-12-22 AL1BAADA
2011-12-23 A4HB0BBA
2011-12-24 AAADALAA
2011-12-25 AAOADABB
2011-12-26 A2021BBL
2011-12-27 B0D4ALAD
2011-12-28 BLAAB9BD
2011-12-29 LA1BAA2B
2011-12-30 BACBOBAB
2011-12-31 AAOLDOA0