チャレンジ、秘密のWinRE!:山市良のうぃんどうず日記(137)(2/2 ページ)
Windowsには、正常に起動しないシステムのトラブルシューティングやバックアップからのリストアなどに利用できる「Windows回復環境(WinRE)」があります。さまざまなWindows環境でWinREを使用してきて、最近、気が付いた点を幾つか紹介します。
Server CoreのWinREでAdministratorが見えない謎
Windows Server 2016のServer Coreインストールで、ReAgentcコマンドを利用してWinREのコマンドプロンプトに入ろうとしたところ、既定のローカル管理者である「Administrator」が表示されないことに気が付きました(画面3)。これではコマンドプロンプトに入ることができません。
「デスクトップエクスペリエンス」インストールのGUI環境から通常の方法で開始したWinREや、ReAgentcコマンドで起動したWinREではちゃんと「Administrator」を選択でき、パスワードを入力することでWinPEのコマンドプロンプトに入れます。
Windows Server 2012 R2のServer Coreインストールでも試してみましたが、その場合も「Administrator」を選択できました。一方、Server Coreインストールのみでインストール可能なWindows Server Semi-Annual Channel(バージョン1709および1803)で試してみたところ、Windows Server 2016のServer Coreインストールと同様に「Administrator」が表示されず、コマンドプロンプトを開始できませんでした。
試しに、Administratorを別の名前に変更(アカウントは同じ)してみましたが、状況は変わりません。ローカル管理者として別のローカルアカウントを作成(Administratorsグループのメンバーとして作成)すると、そのユーザー名は表示され、パスワードを入力することでコマンドプロンプトに入れました(画面4)。
これがWindows Server 2016以降のServer Coreインストールの仕様なのか、不具合なのかは分かりませんが、Administratorとは別のローカル管理者を作成し、Administratorアカウントを無効にすることはセキュリティ上好ましい運用なので、別のローカル管理者を作成することをお勧めします。ただし、WinREはめったに必要になるものではないので、外部メディアからWinREを開始すること(ローカル管理者のパスワードの入力が不要)で対処することも可能です。
知っておきたい、新しいバージョンのWinREの新たな制約
WinREは日本語入力をサポートしていないため、日本語を入力することができません。コマンドプロンプトではWinPEの「WPEUTIL」コマンド、Windowsの標準的なコマンド、「レジストリエディター」(Regedit.exe)、「メモ帳」(Notepad.exe)、外部のツールを利用できますが、Windows PowerShellは利用できません。
また、64bit版WinRE(64bit版Windowsに付属のWinRE)は「WOW64(Windows 32-bit on Windowws-64 bit)」サブシステムを備えていないため、32bit版のツールやアプリケーションを実行できないという制約もあります。これらの制約をご存じの方は多いと思いますが、後者について補足しておきます。
例えば、Windows Sysinternalsユーティリティーの多くは、WinPEのコマンドプロンプトでも利用できます。64bit版WinREでは、“明示的に”64bit版の実行ファイル(Autoruns.exeではなくAutoruns64.exe、Sigcheck.exeではなくSigcheck64.exe)を指定する必要があります(画面5)。
Windows Sysinternalsユーティリティー(例えば、Autoruns.exe)は、32bitと64bitの両方に対応していますが、Autoruns.exeを実行すると最初に32bitコードが実行され、WOW64が利用可能であれば64bitバイナリであるAutoruns64.exeを抽出して実行するようになっています。WOW64が利用できない場合、この動作は不可能なのです。現在のWinREが32bit版なのか64bit版なのかは、「X:\Program Files (x86)」ディレクトリ(中身は空っぽ)が存在するかどうかで判断できます。存在する場合は64bit版WinREです。
WinPEのコマンドプロンプトで「WPEUTIL InitializeNetwork」または「STARTNET」と入力すると、有線ネットワークが初期化され、ネットワーク機能が利用可能になります。例えば、「NET USE」コマンドで共有フォルダに接続し、共有フォルダからツールをコピーしたり、共有フォルダへ重要なファイルをバックアップしたりできます。
最近のWinREでは、そのような利用で注意が必要になります。Windows 10 バージョン1709以降のWinRE(ビルド16299以降のWinRE)からはSMB(Server Message Block)v1のサポートが削除されているため、SMBv1でなければアクセスできないような古いネットワーク接続型ストレージ(NAS)の共有フォルダには接続できません(画面6)。
現在実行中のWinREのバージョン(ビルド)は「ver」コマンドで確認できます。例えば、verコマンドの結果が「Microsoft Windows [Version 10.0.16299.x」や「Microsoft Windows [Version 10.0.17134.1」、あるいはまだ存在しない、より新しいバージョンであれば、SMBv1は利用できません。
WinREは見た目こそ変わりませんが、アーキテクチャ(32bit/64bit)やバージョンによって制約があることに注意してください。
Windows 10 バージョン1803の「curl.exe」によるダウンロードが可能
Windows PowerShellでは「Invoke-WebRequest」コマンドレット(wgetエイリアス)を使用することで、コマンドライン環境だけで指定したURL(URI)からファイルをダウンロードできます。しかし、前述したように、WinREのWinPEコマンドプロンプトではWindows PowerShellを利用できません。
Windows 10 バージョン1803(ビルド17134)からは、Windowsの標準コマンドとしてオープンソースの「curl」(C:\Windows\System32\curl.exe)が仲間入りしました。Windows 10 バージョン1803のWinREはcurlを搭載していませんが(「X:\Windows\System32\curl.exe」は存在しない)、ローカルディスクにインストールされているWindowsの「curl.exe」を実行することで、ファイルのダウンロードなどを実行できます(画面7)。
画面7 ローカルにインストールされているWindows 10 バージョン1803の「curl.exe」(この例ではD:ドライブのパス)をWinREのコマンドプロンプトから実行して、ファイルをダウンロードする
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 特集「Windows Server 2008/2008 R2 サポート終了対策ポータル」
- 現行エメット(EMET)さんはWindows 10非対応、最新版はまだベータ――導入する、しないはあなた次第
マイクロソフトが提供する無償の脆弱(ぜいじゃく)性緩和ツール「Enhanced Mitigation Experience Toolkit(EMET)」。その次期バージョン「EMET 5.5 Beta」がリリースされました。今回は、EMETのサポートポリシーに関する注意事項、およびEMETのこれまでの実績を解説します。 - もっと新しいエメット(EMET 5.2)さん、リ・リリース
2015年3月に「EMET 5.2」が公開されました。実は、今公開されているEMET 5.2は“二度目”のリリースです。数日で差し替えられたEMET 5.2、いったい何があったのでしょうか? - さらに新しいエメット(EMET)さんにもご用心!
マイクロソフトの脆弱性緩和ツール「EMET」の最新バージョン「EMET 5.1」がリリースされました。本連載ではEMET 5.0の不具合をいくつか指摘しましたが、さて、EMET 5.1は皆さんにお勧めできるのでしょうか。 - エメット(EMET)さん、破れたり
「Enhanced Mitigation Experience Toolkit」(EMET)は、Windowsやアプリケーションに存在する未パッチの脆弱性を悪用した攻撃を検出、阻止してくれる“かもしれない”、脆弱性緩和ツールです。今回は、この“かもしれない”ということがよく分かる実証実験にお付き合いください。