Masato's IT Library

Microsoftの製品・サービスを中心に,色々と書いていきたいと思います

Windows 10による S.M.A.R.T.情報確認用ブータブルUSBの作成方法

はじめに

HDDやSSDなどでディスク障害が疑われる場合,まず確認するのは,ディスク自体が持つ自己診断機能「S.M.A.R.T.」の情報ですね.Windowsにおいて,S.M.A.R.T.情報を確認する上で強力なツールとして,ひよひよ氏が公開している「CrystalDiskInfo」があります. 「CrystalDiskInfo」は非常に多くのディスクに対応し,Windows ServerのServerCoreインストールであっても動作しますが,OSがブートできなくては使用することができません.そこで,Windows オペレーティング システムのインストール、展開、修復に使われる,RAM上で動作する軽量Windowsの「Windows PE」を用いて,CrystalDiskInfoを起動するだけのブータブルUSBを作成してみたいと思います.

なお,Windows PEの構成に必須の「Windows ADK for Windows 10 Version 1511」はインストールが完了しているものとします.

1. [展開およびイメージング ツール環境]の起動

スタートメニューから,[展開およびイメージング ツール環境] を右クリックし、[管理者として実行] 管理者として実行します.

2. Windows PE ファイルのコピー

作業用のフォルダ(E:\)にWindows PEのファイルをcopypeコマンドを用いてコピーします.

32bit用のWindows PEの場合は copype x86 "E:\WinPE_x86" を実行

64bit用のWindows PEの場合は copype amd64 "E:\WinPE_x64" を実行(以降は64bit用で説明)

3. イメージのマウント

Windows PEのイメージファイル(boot.wim)を作業用のフォルダにマウントします.

dism /Mount-Image /ImageFile:"E:\WinPE_x64\media\sources\boot.wim" /Index:1 /MountDir:"E:\WinPE_x64\mount"

4. パッケージの追加

「WinPE-WMI」パッケージを追加します.

dism /Image:"E:\WinPE_x64\mount" /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"
dism /Image:"E:\WinPE_x64\mount" /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-jp\WinPE-WMI_ja-jp.cab"

5. 日本語パッケージの追加と適用

5.1 インストールされている言語の確認

dism /Image:"E:\WinPE_x64\mount" /Get-Intl

4-1.PNG

en-USがインストールされているようです.

5.2 日本語ローカライズパッケージの追加

次のコマンドを実行します.

dism /Image:"E:\WinPE_x64\mount" /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-JA-JP.cab"
dism /Image:"E:\WinPE_x64\mount" /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-jp\lp.cab"

5.3 Windows PEの日本語化

続けて,次のコマンドにより,Windows PEの日本語化を行います.

  • UI 言語,システムロケール,ユーザーロケール,入力ロケールを設定
    dism /Image:"E:\WinPE_x64\mount" /Set-AllIntl:ja-JP
  • 入力ロケールを設定
    dism /Image:"E:\WinPE_x64\mount" /set-InputLocale:0411:00000411
  • タイムゾーンを設定
    dism /Image:"E:\WinPE_x64\mount" /Set-TimeZone:"Tokyo Standard Time"
  • キーボードドライバの設定
    dism /Image:"E:\WinPE_x64\mount" /Set-LayeredDriver:6
  • セットアップで使われる既定の言語を設定
    dism /Image:"E:\WinPE_x64\mount" /Gen-LangINI /distribution:"E:\WinPE_x64\media"
    dism /Image:"E:\WinPE_x64\mount" /Set-SetupUILang:ja-JP /distribution:"E:\WinPE_x64\media"

5.4 インストールされている言語の確認

dism /Image:"E:\WinPE_x64\mount" /Get-Intl

4-2.PNG

日本語(ja-JP)になりましたね.

6. CrystalDiskInfoのイメージへの追加

hiyohiyo氏のページ(http://crystalmark.info/download/)より,CrystalDiskInfoのポータブル版(zip)をダウンロードします.

6-1.PNG

なお,通常版とShizuku Editionのどちらを用いても構いません.(以降はShizuku Editionで説明する)

6-2.PNG

ダウンロードしたzipファイルを展開し,「CrystalDiskInfoX_X_XShizuku」フォルダを「CrystalDiskInfo」にリネームして「E:\WinPE_x64\mount\Program Files\」以下にコピーします.

7. スタートアップスクリプトの修正

Windows PE起動時にCrystalDiskInfo自動起動するようにスタートアップスクリプトを修正します. 「E:\WinPE_x64\mount\Windows\System32\startnet.cmd」を以下の内容に変更します.

wpeinit
@echo off
"x:\Program Files\CrystalDiskInfo\DiskInfoSx64.exe"
echo WindowsPEをシャットダウンするには「wpeutil shutdown」を使用してください。
@echo on

※64bitのWindows PEでは,64bitネイティブのアプリケーションしか動作しません.

8. イメージのコミットとアンマウント

今までの作業用のフォルダの変更箇所をイメージファイル(boot.wim)にコミットして,アンマウントします.

dism /Unmount-Image /mountdir:"E:\WinPE_x64\mount" /commit

9. ISOイメージの作成

Makewinpemediaコマンドを用いて,ISOイメージファイルを生成します.

Makewinpemedia /iso "E:\WinPE_x64" "E:\WinPE_CDI_x64.iso"

※直接USBフラッシュメモリに書き込むには,次のコマンドラインを実行します.

Makewinpemedia /ufd "E:\WinPE_x64" F: (「F:」はUSBフラッシュメモリのドライブ文字とする)

その他

デバイスドライバが必要な場合は,イメージ編集中に

dism /Image:"E:\WinPE_x64\mount" /Add-Driver /Driver:[infファイルのあるフォルダ]

とすることで,デバイスドライバを含めることができます.詳しくは次の参考ページを参照してください.

参考ページ