DXR165の備忘録

自分用の備忘録です。

UEFI Shell を使ってみよう!  

UEFI BIOSがメーカー製PCに搭載されるようになり早5年以上も経ち、UEFI BIOSも一般に普及してきました。とりわけ自作PCの世界では現役マシンの多くがUEFI BIOS搭載マザーボードで稼働していると思われます。そこで、今回は、PCの仕組みを調べたり、トラブルシューティングに使ったりといろいろ便利なツールであるUEFI Shellをご紹介します。


UEFI Shell とは
UEFI BIOS上で動くアプリケーションです。レガシーBIOSでは動作不可。アプリケーションですが、OSが立ち上がる前の段階、つまりPri-Boot環境で動作します。どういうことかといいますと、Windowsが故障して立ち上がらないときなどでも動くということです。ここがミソです。DOSのようなコマンドインターフェイスです。

なにができる?
・メモリダンプ・メモリの値を変える
・FAT/NTFSのファイルダンプやコピー・削除・リネームが可能。*注1
・デバイスやドライバの一覧表示
・PCIデバイスのリストアップ
・NVRAM(UEFI Variables)のダンプ
・Boot Optionのメンテナンス
など
注1 NTFSもAMI製 BIOSであればドライバが含まれている模様

使用にあっての注意!!
上記のようにシステムのローレイヤの根幹をいじくれるツールですので、操作を誤ると予期せぬ結果を招くことになり、場合によりシステムに深刻なダメージが与える可能性があります。ご使用にあったっては自己責任でお願いします。

使うための準備
無料で使えます。まずは、Shellをダウンロードします。使用するPCが市販PCや自作PCであればx64用のShellをダウンロードします。Shellにはこの他にARM用やIA32があります。
ネット上には様々のバージョンのShellがありますが、私のおすすめはUDKのShellです。

UEFI Development Kit (UDK)とは
EDK IIの一部の安定したリリースです。UDKリリースはインテルのアーキテクチャプラットフォームに対してテストされており、これらの構成では検証できないコンポーネントは除外されています。

現在のリリース:UDK2017(2017年6月)
過去のリリース:UDK2015 / UDK2014 / UDK2010 / UDK2008
今後のリリース:UDK2018(目標2018年)

UDK2017のx64用のShellのダウンロード先は下記の通りです。
https://github.com/tianocore/edk2/blob/vUDK2017/ShellBinPkg/UefiShell/X64/Shell.efi
Downloadボタンをクリックするとダウンロードが始まります。

USBメモリをFAT32でフォーマットする。
\EFI\BOOTのディレクトリを作成する。
その配下にダウンロードしたShell をBootx64.efiにリネームし配置する。

作成したUSBメモリをPCに挿入する。このとき、必要のないUSBメモリはPCから外す。該当USBメモリを選択肢から特定しやすくするためです。
BIOSをリブートし、BIOSセットアップに入る。Secure Bootが有効になっている場合はそれを無効にする。Save & ExitメニューのBoot Override の中の該当USBドライブを選択する。このとき、作成したUSBメモリの選択肢にUEFI:と表示があるものとないものがある場合は、UEFI:の表示がある方を選択し実行する。

Windows Boot Manager(ドライブ名)
UEFI: Jetfrashusb 8GB Patition 1  <- これを選択
Jetfrashusb 8GB Patition 1 

すると、UEFI Shellが起動する。
作業が終了したら、resetコマンドでPCをリブートさせる。exitコマンドよりシェルを終了すると呼び出し元のルーチンに戻らない場合があるようです。


使ってみよう!
まず覚えるのはhelpコマンドです。help -bと入力しエンターキーを押下。-bは1画面づつ表示する指定です。コマンド一覧が表示されます。さらに、各コマンドのヘルプはコマンド名 -? -bで表示。キーボード操作は英語配列になります。コロン(:)はシフトキーを押しながら、Lキーの右側のキーを押します。記号を入力するときは日本語配列⇔英語配列で自分で変換してください。

TSUKUMO キーボード。日本語配列と英語配列。
https://blog.tsukumo.co.jp/gaming/2015/04/post_16.html

各コマンドの詳細は
UEFI Shell Specification Version 2.2
http://www.uefi.org/sites/default/files/resources/UEFI_Shell_2_2.pdf

便利な機能リダイレクト
コマンドの出力結果をテキストファイルに出力できます。

おすすめコマンド
BCFG -> Boot Option の項目を操作できます。エントリーが重複したときなど便利。
DEVTREE -> Winsows のデバイスマネージャーの情報が見れます。
MEMMAP -> メモリマップが表示されます。
PCI -> PCIデバイスの情報が出力されます。





関連記事

category: PC-全般

tb: 0   cm: 0

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://dxr165.blog.fc2.com/tb.php/431-acea591a
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

最新コメント

カウンター(2012/3/10以降)