AOD Group

ヘッダー画像

こんな症状が出たら要注意

  • VMwareでクローンしたWindowsサーバー同士でフォルダ共有ができない
  • Ping疎通はある、Port 445も通る
  • パスワードを何度入力しても「パスワードが間違っています」と弾かれる
  • 接続するたびに数分もかかる
  • ユーザーを作っても、設定を変えても一向に解決しない

これらが全部当てはまるなら、原因はSID(セキュリティ識別子)の衝突かもしれません。


SIDとは何か

SIDとはWindowsがコンピューターやユーザーを識別するための一意のIDです。

例: S-1-5-21-3344124752-3884463202-4209043644-500

Windows同士がネットワーク認証(NTLM)を行う際、このSIDを使って「相手が誰か」を判断します。

ここが罠のポイント: 仮想マシンをクローン(コピー)すると、OSごとコピーされるためSIDも完全に同じになります。


何が起きるのか

クローン元VM(SID: S-1-5-21-XXXX-500)
クローン先VM(SID: S-1-5-21-XXXX-500)← 同じ!

↓

NTLMで認証しようとすると
「相手は自分自身と同じSID」と判断
→ 認証が正常に完了しない
→ 「パスワードが間違っています」と表示される

パスワードは正しいのに弾かれるという、非常にわかりにくい症状が出ます。


SIDが同じかどうか確認する方法

両方のVMでこのコマンドを実行してください:

powershell

whoami /user
# VM-A の結果
S-1-5-21-3344124752-3884463202-4209043644-500

# VM-B の結果
S-1-5-21-3344124752-3884463202-4209043644-500
← 同じ!これが原因

S-1-5-21- の後ろの数字が両方同じならSID衝突が確定です。


回避策:Sysprepでリセット

やること

SIDを変えるにはMicrosoft公式ツールのSysprepを使います。

cmd

C:\Windows\System32\Sysprep\sysprep.exe /generalize /reboot /oobe

これでSIDが新しく生成され、再起動後に初期設定画面(OOBE)が表示されます。

⚠️ 重大な注意点

/generalize オプションはOSを初期状態にリセットします。

具体的には:

  • ユーザーが作成・保存したファイルが全て削除される
  • インストールしたアプリの設定がリセットされる
  • Pythonなどの開発環境も消える

Sysprepを実行する前に必ずスナップショットを取るか、重要ファイルをバックアップしてください。

Sysprepが失敗する場合

Windows Server 2025ではWinGetアプリが原因でSysprepが失敗することがあります。

powershell

# 事前にWinGetを削除
Get-AppxPackage -Name "Microsoft.Winget.Source" | Remove-AppxPackage -ErrorAction SilentlyContinue

削除後に再度Sysprepを実行してください。


正直な結論:新規VMを作った方が早い

Sysprepは「回避策」として紹介しましたが、実際にやってみると:

新規VM作成Sysprep
所要時間約30分数時間(トラブル対応含む)
ファイル消失リスクなしあり(全消去)
手間OSインストールのみ事前準備・失敗対応が必要
確実性高い環境によって失敗する

クローンVMのSID問題に直面したら、素直に新規VMを作り直す方が時間もリスクも少ないです。


根本解決:テンプレートを正しく作る

何台もVMを量産する場合は、最初に正しいテンプレートを作っておくと以降の作業が楽になります。

正しいテンプレートの作り方

1. ベースVMを作成・必要な設定を行う
2. Sysprepを実行(/generalize)
3. シャットダウン
4. vSphereで「テンプレートに変換」

こうしておくと:

テンプレートからデプロイ
→ 初回起動時にOOBE画面が自動起動
→ SIDが自動で新規生成される ✅
→ コンピュータ名・パスワードを設定
→ 即使える状態に ✅

vSphereのカスタマイズ仕様と組み合わせればOOBE画面すら省略でき、デプロイするだけでコンピュータ名・IP・SIDが全て自動設定されます。


まとめ

ポイント内容
症状パスワードが正しいのに共有フォルダに接続できない
原因クローンVMのSID重複によるNTLM認証失敗
確認方法whoami /user で両VMのSIDを比較
回避策Sysprepでリセット(ファイル全消去に注意)
現実解新規VMを作り直す方が早くて確実
恒久対策Sysprep済みテンプレートからデプロイする

Windowsのエラーメッセージが「パスワードが間違っています」としか出ないため非常にわかりにくいですが、クローンVMを使っている場合はまずSIDを疑ってみてください。


この記事は実際のトラブルシューティング経験をもとに書いています。同じ症状で悩んでいる方の参考になれば幸いです。

なぜローカルアカウントで設定したいのか

Windows 11のセットアップを進めると、途中でMicrosoftアカウントへのサインインを強く求められます。

インターネットに接続した状態だと、ローカルアカウントの選択肢が表示されないように設計されており、「Microsoftアカウントを持っていない」ボタンすら消えてしまいます。

しかし以下のような場合はローカルアカウントで設定したいはずです:

  • 会社の検証用PCや仮想マシン
  • Microsoftアカウントと紐づけたくない
  • オフライン環境で使いたい
  • シンプルに使いたい

方法① ネットワークを切断してセットアップ(最もシンプル)

手順

  1. PCのLANケーブルを抜く、またはWi-Fiを接続しない状態でセットアップを開始
  2. セットアップが進むとネットワーク接続画面が出る
  3. 「インターネットに接続していません」をクリック
  4. 「制限された設定で続行する」をクリック
  5. ローカルアカウントの名前・パスワードを設定して完了

ポイント

インストールメディアから起動する前にLANケーブルを抜いておくのが一番確実です。Wi-Fiは接続しなければ問題ありません。


方法② コマンドでネットワークを切断(ケーブルが抜けない場合)

Microsoftアカウントのサインイン画面が表示されてしまった場合でも、コマンドで抜け出せます。

手順

  1. Microsoftアカウントのサインイン画面で Shift + F10 を押す → コマンドプロンプトが開く
  2. 以下のコマンドを実行してネットワークを切断:

cmd

OOBE\BYPASSNRO
  1. PCが自動的に再起動する
  2. 再起動後のセットアップ画面で「インターネットに接続していません」が選択できるようになる
  3. ローカルアカウントで設定を進める

方法③ 存在しないメールアドレスを入力して回避

コマンドを使いたくない場合の裏技です。

手順

  1. Microsoftアカウントのメールアドレス入力画面で以下を入力:
no@thankyou.com
  1. パスワード入力画面で何でもよいので適当なパスワードを入力
  2. 「問題が発生しました」というエラーが表示される
  3. そのままローカルアカウントの設定画面に進む

ローカルアカウント設定時の注意点

パスワードの秘密の質問

ローカルアカウントではパスワードを忘れた場合に備えて「秘密の質問」を3つ設定します。

パスワードを忘れると詰みます。必ずメモしておいてください。

セットアップ完了後にMicrosoftアカウントと連携することも可能

ローカルアカウントで設定した後でも、必要になれば:

設定 → アカウント → ユーザーの情報
→ Microsoftアカウントでサインインする

から後で連携できます。最初からMicrosoftアカウントを強制される理由はありません。


Windows 11のバージョンによる違い

Microsoftはアップデートのたびにローカルアカウントの回避方法を塞いでくることがあります。

バージョン状況
初期リリース〜22H2比較的簡単に回避可能
23H2以降BYPASSNROが一部で無効化
最新版方法①(ケーブル抜き)が最も確実

どのバージョンでも確実なのは方法①のLANケーブルを抜く方法です。


まとめ

方法難易度確実性
① LANケーブルを抜く★☆☆ 簡単高い
② BYPASSNRO コマンド★★☆ 普通バージョン依存
③ 偽メールアドレス★☆☆ 簡単バージョン依存

Microsoftとしてはアカウント連携を推進したい事情はわかりますが、ユーザーが自分のPCをどう使うか選べる自由は残しておいてほしいものです。


法人・検証環境での利用や、プライバシーを重視する方はローカルアカウントでの運用をおすすめします。

Windows10「ディスク管理」から回復パーティション(ボリュームの削除)が削除できない場合の対処方法について書いていきます。目次

  1. ■Windows10の「ディスク管理」で回復パーティションを確認する
  2. ■Windows10の「ディスク管理」で回復パーティションの削除を試みる
  3. ■「diskpart」コマンドを使い回復パーティションを削除する

■Windows10の「ディスク管理」で回復パーティションを確認する

まず、Windows10を起動し、画面下部にあるスタートボタンにマウスをもってきます。

もってきた後に右クリックします。

クリックすると、メニューが表示されます。このメニューの中で「ディスクの管理」をクリックします。

クリックすると、「ディスクの管理」のウインドウが表示されます。この「ディスクの管理」内で現在接続中のディスクが確認でき、回復パーティションできます。

■Windows10の「ディスク管理」で回復パーティションの削除を試みる

「ディスクの管理」のウインドウで、現在接続されているディスクに「正常(回復パーティション)」と表示されている箇所があります。この箇所にマウスをあわせて、右クリックをします。

右クリックを押してみるとメニューが表示され、「ヘルプ」しか表示されません。

では、「正常(プライマリパーティション)」と表示されている箇所にマウスをあわせて右クリックをするとどうなるのか。

こちらはメニューが表示され、「ボリュームの削除」でパーティションを削除できます。

「ディスクの管理」のウインドウ内では回復パーティションの削除ができませんでした。

■「diskpart」コマンドを使い回復パーティションを削除する

回復パーティションの削除ができませんでしたので、コマンドプロンプト上で利用可能なディスクのパーティションやボリュームを操作することができる「diskpart」コマンドを使用し、回復パーティションを削除してみます。

まず、Windows10の検索ボックスで「cmd」と検索します。検索すると、コマンドプロンプトが検索結果として表示されますので、「コマンドプロンプト」をクリックします。

クリックすると、コマンドプロンプトのウインドウが表示されます。C:\Users\user>diskpart

表示された後は、上記のコマンドを入力し、Enterキーを押します。

Enterキーを押すとユーザーアカウント制御のウインドウが表示され、「このアプリがデバイスに変更を加えることを許可しますか?」と質問されますので、「はい」ボタンをクリックします。

クリックすると、「C:\WINDOWS\system32\diskpart.exe」というウインドウが表示されます。「Microsoft DiskPart バージョン 10.0.18362.1」と表示され、DiskPartが起動します。DISKPART> list disk

起動後、まずはコンピュータ上のすべてのディスクとボリュームを表示するため、list diskコマンドを入力し、Enterキーを押します。

Enterキー押すと、コンピュータ上のすべてのディスクとボリュームを表示されます。DISKPART> select disk 1

表示された後は回復パーティションを削除したいディスクを選択するために、「ディスク」に割り振られている番号を「select」サブコマンドを入力し、Enterキーを押します。今回の場合は「ディスク 1」が対象なので、「disk 1」となります。「disk 1」を入力する場合は、「disk」と「1」の間は半角スペースを空けてください。

Enterキーを押すと、「ディスクが選択されました。」というメッセージが表示されます。DISKPART> list disk

表示された後は再びlist diskコマンドを入力し、Enterキーを押します。

Enterキーを押すと、「ディスク 1」の左側に「※」が表示されていることが確認できます。これは「select」サブコマンドで「ディスク 1」を選択したためです。DISKPART> list partition

「ディスク 1」を選択された状態になっているので、ディスクの中のパーティションの状態を確認するために、list partitionコマンドを入力し、Enterキーを押します。

Enterキーを押すと、ディスクの中のパーティションの状態が表示されます。今回は回復パーティションを削除しますので、「Partition 3」のTypeが「回復」と記載されているので、3番が回復パーティションだとわかります。DISKPART> select partition 3

回復パーティションの確認ができましたので、「Partition 3」を選択するために、「select」サブコマンドを入力し、Enterキーを押します。「partition 3」を入力する場合は、「partition」と「3」の間は半角スペースを空けてください。

Enterキーを押すと、「パーティションが選択されました」と表示されます。これで回復パーティションするパーティションが選択されました。DISKPART> list partition

念の為、選択されたかどうか、list partitionコマンドを入力し、Enterキーを押します。

Enterキーを押すと、「partition 3」の左側に「※」が表示されており選択された状態であることが確認できます。DISKPART> delete partition override

確認ができましたので、いよいよ回復パーティションの削除を行います。削除を行う際は、delete partition overrideコマンドを入力し、Enterキーを押します。

Enterキーを押すと、「DiskPartは選択されたパーティションを正常に削除しました。」と表示されます。これで回復パーティションの削除は完了となります。

念の為、Windows10の「ディスクの管理」でも確認を行ってみます。

確認してみると、「正常(回復パーティション)」だった箇所が「未割り当て」に変更されており、「正常(回復パーティション)」が削除されていることが確認できました。

IPv6でのファイル共有

たとえば、接続先PCのIPv6アドレスが、以下のようになっていた場合

1111:2222:3333:4444:aaaa:bbbb:cccc:dddd

アドレスの中の( : )コロンを、( - )ハイフンに変更し、
末尾に「 .ipv6-literal.net 」を付けてやればOKです。

1111:2222:3333:4444:aaaa:bbbb:cccc:dddd
↓  ↓  ↓  ↓
¥¥1111-2222-3333-4444-aaaa-bbbb-cccc-dddd.ipv6-literal.net

参考
http://dotsukareta.blogspot.com/2017/06/ipv6fileshare.html

下記をテキストエディタに入力し、ファイル名「key-fix.jp.reg」なと付けて保存。

実行するとレジストリにエントリーされる。 

再起動後キーアサインが正常になる

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411]
“Layout Display Name”=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,\
52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,\
00,32,00,5c,00,69,00,6e,00,70,00,75,00,74,00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,35,00,30,00,36,00,31,00,00,00
“Layout File”=”kbd106.dll”
“Layout Text”=”Japanese”

参考サイト

https://curio-shiki.com/blog/support/msrdp-force-english-keyboard

 

2021年6月8日

上部へスクロール