ストレージが見えない場合、割り当てようとしたドライブレターが競合している場合などがあります。
シナリオ: ドライブが見えない場合
[調査方針]
diskpart のサブコマンド list disk にてディスクが認識されていない場合、KBEに組み込まれたドライバーが、そのPC端末に搭載されているストレージに対してうまく機能していないことが考えられます。
BIOS側を調査してファームウェアバージョンやストレージ関連の設定を確認してください。(特定の1台かそれとも全台で発生するのか)
KBEに組み込まれたドライバーに関する資料について以下の情報を集めてください。
■ KBEドライバーレポート [SDA 管理者UI]
1. SDA管理コンソールにログインします
2. 展開 |ブート環境 へ移動して 起動成功しなかったKBE名をクリックして詳細を開きます。
3. "このブート環境に関する完全なドライバレポートの表示" をクリックしてドライバーレポートをダウンロードします。
■ setupapi.dev.log / setupapi.offline.log / wpeinit.log[KBE上]
X:\Windows\system32\wpeinit.log
X:\Windows\Inf\setupapi.dev.log
X:\Windows\Inf\setupapi.offline.log
対象デバイスでKBEを起動してコマンドプロンプトからこれらのファイルをT:\ へコピーしてください。
T:\にコピーしたファイルは \\k2sdaip\petemp から取得できます。
リターンコード: 2147755356
エラーの説明: 不明なエラー
[調査方針]
タスクエラー画面のコマンドラインからコマンドプロンプトを起動してDISKPARTを立ち上げ、試しに [UEFIパーティションの作成]と同じDISKPARTコマンドを一行ずつ実施してどこで失敗するか確認してみます。
assign letter=C でエラーが発生する場合、すでにどこかのデバイスでCが使用されている場合が考えられます。
ボリュームの一覧を確認してみます。
DISKPART> list volume
DVDやUSBメモリ等にC(イメージによっては他のレターも関係する)が割り当てられていれば、ドライブレターとしてCを割り当てることには失敗します。
[対処]
Cがアサインされているドライブレターを削除するかC以外のものにして再実行してください。
DISKPART> select volume=C
DISKPART> remove
DISKPART> list volume
DISKPART> exit
この後で [失敗したタスクの再実行] をクリックすると失敗したタスクをもう一度実行してくれます。すでに手動で実施したためスキップしてよい場合には [タスク実行の再開]をクリックして進めます。
傾向として、内蔵のストレージ以外にCが割り当てられるのはパーティションが構成されていないストレージに換装した等でアサインされる候補がDVDドライブやSDカードリーダー、USBストレージ(KBE 起動用に挿している)となってしまう場合が挙げられます。この挙動はKACEでは抑制できません。
プレインストールタスクにて パーティション作成のタスクの前に以下のようなBATスクリプトタスクを差し込むことでKBE起動時にインストール対象以外のストレージにCやDが割り当てられていた場合に解除することができます。
名前: 任意 Reassign Drive Letter for C or D
タイプ: BATスクリプト
実行時環境: SDAブート環境(Windows)
BATスクリプト:
wmic logicaldisk get Name /value | find "Name=C:"
if %errorlevel% equ 0 (
echo select volume=C > X:\Windows\System32\mapremove.conf
echo assign letter=P >> X:\Windows\System32\mapremove.conf
diskpart /s X:\Windows\System32\mapremove.conf
echo remove driveletter C
)else (
echo Here is no C: drive
)
wmic logicaldisk get Name /value | find "Name=D:"
if %errorlevel% equ 0 (
echo select volume=D > X:\Windows\System32\mapremove.conf
echo assign letter=Q >> X:\Windows\System32\mapremove.conf
diskpart /s X:\Windows\System32\mapremove.conf
echo remove driveletter D
)else (
echo Here is no D: drive
)