UEFIシェルが組み込みだった
MUGAのUEFIは、UEFIシェルが組み込みになっていた。
UEFIシェルとは、UEFI上でユーザーがコマンドライン利用することができる「シェル」である。古くからのユーザーには、MS-DOSのCommand.comと同じものといえばわかるだろう。なお最近のユーザー向けは、「コマンドプロンプトウィンドウと同じ」である。
UEFIを搭載したPCはいまでは当たり前だが、UEFIシェルが組み込みになったマシンはそれほど多くない。サーバー向けの機種などでは、ハードウェアメンテナンス用にUEFIを搭載したものがあるが、普通のPCでは多くの機種がUEFIシェルを組み込まずに出荷されている。そういう意味では、1万9000円のPCでUEFIシェルが使えるのは、なんとなく“お得”感があるが、普通の人にはなんの役にもたたない。テレビを買ったら回路図がついていたみたいなものである(昔のテレビには本当についてた)。というわけで、せっかくのUEFIシェル、ちょっと解説しておこう。
MUGAのUEFIの場合、ファームウェア設定画面の「Save&Exit」で「Boot Override」にある「UEFI: Built-in EFI Shell」を選択すれば、UEFIシェルが起動する。
また、UEFIシェルでexitコマンドを実行させると、ファームウェア設定画面に戻る。ちなみにファームウェア設定画面に入るには、電源オンのあと、ロゴが表示されている間にDELキー(連打したほうがはいりやすい)を使うか、Windows 10が起動したあと、「設定」→「更新とセキュリティ」→「回復」→「PCの起動をカスタマイズ」→「再起動」→「トラブルシューティング」→「詳細オプション」→「UEFIファームウェアの設定」→「再起動」でも入ることができる。
下の表は、MUGAのUEFIシェルのコマンドと概要である。各コマンドは、“HELP コマンド名”または、“コマンド名 -?”で詳細なオンラインヘルプを見ることができる。単に“HELP”を実行すると、コマンドの一覧が得られる。基本的にはMS-DOSと同じだが、厳密には少し違う部分がある。1つはMS-DOSのようにスペースが省略できないことだ。たとえば、ファイルのリダイレクションを示す“>”や“<”の前後にスペースを入れないとエラーになる。また、オプションの指定には、“-”(ハイフン)を使う。MS-DOSのように“/”(スラッシュ)はつかわない。
コマンド名 | 意味 |
---|---|
?/help | ヘルプの表示 |
alias | エイリアス(別名)の設定 |
attrib | ファイル/フォルダの属性設定 |
cd | カレントディレクトリの変更 |
cls | 画面のクリア |
comp | ファイルの比較 |
connect | デバイスの接続 |
cp/copy | ファイル/フォルダのコピー |
date | 日付の表示と設定 |
dblk | ブロックデバイスのセクターブロックの読み出し |
devices | デバイスのリスト表示 |
devtree | デバイスツリーの表示 |
dh | EFIハンドルの表示 |
disconnect | デバイスの切断 |
dmem/mem | メモリの表示 |
dmpstore | EFI NVRAMの表示 |
drivers | EFIドライバのリスト表示 |
drvcfg | ドライバコンフィグの開始 |
drvdiag | ドライバ診断プロトコルの起動 |
echo | 文字列表示(スクリプト用) |
edit | テキストエディタ |
eficompress | ファイル圧縮 |
efidecompress | ファイル伸張 |
err | エラーレベル |
exit | EFIシェルの終了 |
for | 繰り返し(スクリプト用) |
goto | ジャンプ(スクリプト用) |
guid | GUIDの表示 |
hexedit | 16進エディタ |
if | 条件判断(スクリプト用) |
ifconfig | ネットワークインターフェースの設定 |
ipconfig | IP構成の設定 |
load | EFIドライバの読み込み |
loadpcirom | PCIオプションをROMから読み込み |
ls/dir | ファイル/フォルダの表示 |
map | ブロックデバイスのマッピング |
memmap | メモリマップの表示 |
mkdir | フォルダの作成 |
mm | MEM/MMIO/IO/PCI/PCIEアドレス空間の表示、変更 |
mode | ディスプレイモードの変更 |
mount | ファイルシステムのマウント |
mv | ファイル/フォルダの移動 |
openinfo | ハンドルに関連付けられたプロトコルやエージェントの表示 |
pause | 表示の一時停止(スクリプト用) |
pci | PCIデバイスリスト |
ping | ネットワークPINGコマンド |
reconnect | EFIドライバのデバイスへの再接続 |
reset | システムのリセット |
rm/del | ファイル/フォルダの削除 |
sermode | シリアルポートのオプション設定 |
set | EFIシェル変数の設定 |
shift | パラメーターのシフト(スクリプト用) |
smbiosview | SMBIOSの情報表示 |
stall | プロセッサを一定時間ストールする |
telnetmgmt | ターミナルタイプの変更 |
time | 時間の表示と変更 |
timezone | タイムゾーンの表示と変更 |
touch | ファイルのタイムスタンプ変更 |
type | ファイル内容を表示 |
unload | EFIドライバーのアンロード |
ver | EFIファームウェアのバージョン表示 |
vol | ボリュームラベルの表示と変更 |
また、PCの「ドライブ文字」に相当するものとして“fs0:”と“fs1:”がある(fsはファイルシステムの意味)。これで対象となるファイルシステムを切り替えるのだが、“fs0:”は、内蔵HDDにあるUEFIパーティションを指し、“fs1:”がその次、たいていは接続されたUSBメモリなどに対応する。
すべてのファイル操作は、パスにファイルシステムを含むか、あらかじめ、カレントファイルシステムを切り替えておく必要がある。具体的には“fs0:”とコマンドを打ち込めばファイルシステムが切り替わる(プロンプトがShellになっているときにはどのファイルシステムも選択されていない)。なお、利用できるファイルシステムは、mapコマンドで表示することができる。USBメモリなどを接続した場合、“map -u”でデバイスマッピングを更新する。
UEFIシェル中、スクロールして表示範囲を超えてしまった部分は、PgUp(ページアップ)キーで表示させることができる。また、コマンドに「-b」オプションを付けることで、moreのように1画面ごとにスクロールを停止して表示することも可能。
デバイス関係のコマンドには以下のようなものがある(詳細はHELPコマンドで)。
devices:デバイスの表示
devtree:デバイスツリーの表示
dh:ハンドル情報
drivers:UEFIドライバーの表示
pci:PCIデバイスの表示
“drivers”は、UEFIが認識しているドライバーを列挙するもの。“devices”と“devtree”は、認識しているデバイスを列挙するもので、後者は接続関係に従ってインデントをつけて表示する。
dhは、UEFIが割り当てた「ハンドル」を表示するもの。UEFIでは、デバイスやデバイスドライバ、各種のリソースデータ(ファームウェアROM内のデータ)などにすべてハンドルと呼ばれる値を割り当てる。いくつかのコマンドはこのハンドルを対象にして動作する。dhはそのハンドルを表示するためのもの。pciは、PCI Expressに接続されたデバイスを表示するためのものだ。
これらのコマンドを使ってざっとMUGAを調べてみたが、特におかしいと思える部分はなかった。比較対象が不明なのでどう判断すべきかわからないが、SDIOで接続されている無線LAN/Bluetoothのコンボデバイス(RealTek Semiconductor、RTL8723BS)は、これらのコマンドで表示されなかった。
Atom x5-Z8350には、SDカードコントローラーが含まれており、Z8350を使っていれば、すべて同じSDカードコントローラーとなる。
SDカードコントローラーはPCI Expressバスに接続されており、PCIコマンドにも「SD Host controller」と表示される。他のマシンでもそうのなのかと調べて見たが、手元にあったAtom x5-Z8350マシンは、無線LANデバイスがPCI Express側についていたので、確かめることはできなかった。
MUGAこと、KNW14FHD-SLは、ちょっとクセの強い感じがするが、UEFIシェルが組み込みなど、「調べがい」のあるマシンだった。短時間だが、英語モードにして各種のサービスを停止させたところ、反応はかなりよくなった。
普通のパソコンとして使うのは性能的にどうかと思うが、ウェブブラウザ経由でのインターネットサービスの利用や軽量なエディタなら、そこそこ行けるのではないかと思う。電源も5Vなので、変換コネクタさえ作れば、ACアダプタを持ち歩くことなく、他のPCやモバイルバッテリからの充電も可能だ。2台目以降のサブマシンとしてプリインストールされたWindowsをそのまま使うということなら悪くない選択だと思う。
この連載の記事
-
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る -
第448回
PC
PowerShellで面倒なオブジェクトはPSCustomObjectに変換するのが早道 - この連載の一覧へ