OOBE(Windowsのセットアップ画面) をスキップする-2 (sysprepを使う方法)

この記事を作った動機 ミンゲイインターネット にて見つけた記事である Windows 11 でローカルアカウントを作成する方法【2026年7月時点】 に対して散々書いたので、それに対して自分なりにどうしたいか書いてみる。 具体的には、記事で書かれている方法が機能するかどうか調べることと、sysprepを使った方法に対して、自分なりにやりたい方向性で手順を記述する。Windows 11 でローカルアカウントを作成する方法【2026年7月時点】 で書かれていることで嫌なこととして、内容がいちいち冗長で複雑で特別なスクリプトを実行させようとしてくるところがある。 簡単な方向性 今回は、Windows ADK を使って、簡易的な応答ファイルを作成し sysprep コマンドにそれをセットアップ時に指定して読み込ませるということをする。複雑なスクリプトなども不要になるよう、作成した応答ファイルはこのブログに掲示する。 各個人は、それをコピペするなりダウンロードして、xml として保存し、読み込ませれば使えるようにし、確認に過大な負荷を要する特殊な操作や特殊なスクリプトを排する。今回ブログに上げる応答ファイルのXMLを使えば、Windows ADK などの特殊なツールを使わずに作業を完結させられるはずである。 ADK は以下のリンクから得られるものを利用した。 Windows ADK をダウンロードしてインストールする | Microsoft Learn https://learn.microsoft.com/ja-jp/windows-hardware/get-started/adk-install (2026年9月12日) 応答ファイル テスト済みの環境リスト チェックがついているものがテスト済み、ついていないものがこれから。(基本的によほど制限があるエディションでなければ汎用に動くと思われる。) Win 11 Pro 25H2 26200.8037 Win 11 Home 25H2 26200.8037 Win 10 Pro 22H2 19045.2965 Win 10 Home 22H2 19045.2965 仕様 ユーザ名(管理者) Main パスワード pass 同意画面 隠す ローカルアカウント作成画面(OOBE) 隠す オンラインアカウント作成画面(OOBE) 隠す ダウンロード install.xml 生成した応答ファイルの全容 <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="NonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OOBE> <HideEULAPage>true</HideEULAPage> <HideLocalAccountScreen>true</HideLocalAccountScreen> <HideOnlineAccountScreens>true</HideOnlineAccountScreens> <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> </OOBE> <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> <Password> <Value>cABhAHMAcwBQAGEAcwBzAHcAbwByAGQA</Value> <PlainText>false</PlainText> </Password> <Name>Main</Name> <Group>Administrators</Group> </LocalAccount> </LocalAccounts> </UserAccounts> </component> </settings> <cpi:offlineImage cpi:source="wim:c:/users/main/desktop/install.wim#Windows 11 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend> ...

2026年9月12日

OOBE(Windowsのセットアップ画面) をスキップする-1

この記事を作った動機 ミンゲイインターネット にて記事を漁っていると、Windows 11 でローカルアカウントを作成する方法【2026年7月時点】 という記事が見つかっため読んでみたところ、気になることがあったのでそのことについてまとめたい。 あと経過観察として、msoobe bypassnroが機能したかも記録したい。ちなみに全ては Pro エディションを対象としており HOME は対象としていない。個人的には HOME やそれに類似するエディションを使うことは推奨していない。 前回の記事 OOBE(Windowsのセットアップ画面) をスキップする 次の記事 OOBE(Windowsのセットアップ画面) をスキップする-2 (sysprepを使う方法) 関連する記事とか LLM の利用状況の現状 コマンドライン経由で windows をインストールする パスワードを無期限で利用できるようにする msoobe bypassnro経過観察 2026/9/12 Pro 公式から入手できるISO 26200.8037 機能した UUP dump からダウンロードした ISO (26H2 Preview 26300.9539) 機能した Home 公式から入手できるISO 26200.8037 機能した Windows 11 でローカルアカウントを作成する方法【2026年7月時点】 の記事についての疑問点 Bypassnro ができないという記述について 対象のブログに以下のような記述があることが気になった。しかし私が現時点では検証したうえでは、これは本当ではなさそうである。bypassnro.cmd というスクリプトがなくなるくらいならあり得る気もしたが、それも仮想マシンで試したところ存在していることが確認できた。 なぜローカルアカウントが作れないのか Windows 11 のセットアップは、途中で Microsoft アカウントへのサインインを要求します。ここでネットワークをつないでいると、ローカルアカウントを作る選択肢が表示されません。 以前は回避方法がいくつかありました。 oobe\bypassnro.cmd を実行する start ms-cxh:localonly を実行する しかしこれらはすでに削除されており、2026 年 7 月現在は使えません。Microsoft が意図的に塞いでいる領域です。 ちなみに以下は、公式から入手できるISOで試したときの様子である。ビルド番号も対象のブログが出しているものと同じである。 ...

2026年9月12日

Git で間違った Remote URL を設定してしまったときに修正する方法のメモ

この記事を作った動機 単に Git で間違ったリモートを設定してしまったときの修正方法の記録をする。 やり方 # 必要に応じて変更したリモートリポジトリにあるブランチ名を確認すること # リモート先に origin と指定した場合自動選択される。 git branch -a # * main # remotes/origin/main # Remote URL を間違える例 git remote add origin https://url.to.repo/userName/Receipt-OCR-to-CSV-with-PDF.git git remote -v # origin https://url.to.repo/userName/Receipt-OCR-to-CSV-with-PDF.git (fetch) # origin https://url.to.repo/userName/Receipt-OCR-to-CSV-with-PDF.git (push) # 正しい Remote URL に設定する例 git remote set-url origin gitea@192.168.x.x:userName/Receipt-OCR-to-CSV-with-PDF.git git remote -v # origin gitea@192.168.x.x:userName/Receipt-OCR-to-CSV-with-PDF.git (fetch) # rigin gitea@192.168.x.x:userName/Receipt-OCR-to-CSV-with-PDF.git (push) 参考にしたサイトとか Google Gemini https://gemini.google.com/app (2026年4月19日) Git - git-remote Documentation https://git-scm.com/docs/git-remote#Documentation/git-remote.txt-add (2026年4月19日) Git - git-remote Documentation https://git-scm.com/docs/git-remote#Documentation/git-remote.txt-set-url (2026年4月19日) Git - user-manual Documentation https://git-scm.com/docs/user-manual#managing-branches (2026年4月19日) Git - git-remote Documentation https://git-scm.com/docs/git-remote#Documentation/git-remote.txt-set-head (2026年4月19日) Git - git-branch Documentation https://git-scm.com/docs/git-branch#Documentation/git-branch.txt--a (2026年4月19日)

2026年4月19日

Windows 11 の強制アプデの無効化

この記事を作った動機 Microsoft が強制的に Windows Update をさせようとすることでPCの電源メニューのところについて、無効化する話題がたまたま見つかり、私も強制アプデは嫌なので自分用に記録を取る。 設定方法 レジストリエディタを開く Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\Orchestratorを開く 日本語環境ではコンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\Orchestratorになる。 ShutdownFlyoutOptionsを0に設定する レジストリの値を保存する Microsoft は強引に設定した値を戻すことがあるので、設定したレジストリ値を保存しておくことを推奨する。一度保存したら、PCの電源項目がおかしくなった時、保存したレジストリのファイルをクリックして設定しなおすだけである。 検証内容 The Ultimate Fix for a Forced Windows Update - YouTubeの内容が本当かどうか仮想マシンに新規インストールした Windows 11 Pro (25H2)で検証してみた。ShutdownFlyoutOptionsについて以下の設定値を試した。 16/10進数併記 (2進数4桁) 試したこと <- 表記例 0 (0000) すべて無効 1 (0001) 通常再起動 2 (0010) 更新して再起動 4 (0100) 通常シャットダウン 8 (1000) 更新してシャットダウン 0 (0000) すべて無効 1 (0001) 通常再起動 2 (0010) 更新して再起動 4 (0100) 通常シャットダウン 8 (1000) 更新してシャットダウン 他の方法 強制アプデ回避を行う他の方法にはコマンドプロンプトから再起動やシャットダウンを行う方法があると思われる。ただ今回用意した仮想環境 Windows 11 Pro (25H2) では、これだと強制的に更新がかかってしまったため、必ずしも有効なわけではないようである。 ...

2026年2月16日

mDNSでwindowsに対してlinuxクライアントから名前解決をしたい

この記事を作った動機 LinuxクライアントからWindows側にRDP接続などをするとき、いちいちIPアドレスを直接入力しているのは気持ち悪いと思っていた。今まではそれでいいやと放置していたが、最近いい加減どうにかしようということで、具体的な解決を試みようと思って、案の定手間取ったので記録する。 具体的には、mDNSを使って、Linuxクライアント側から、WindowsクライアントのプライベートIPアドレスを割り出したいということをしていた。基本的には以下のポイントがあった。 ファイアウォールの設定で、mDNSを受け付けるようになっているか? Linuxクライアントに必要なパッケージがインストールされ、必要なデーモンが動いているか? 接続先対象としてのWindows側のホスト名は間違っていないか? Linux側から名前解決を試みるとき、.localのTLDをつけ忘れていないか? 環境 前提としては、個人的なLAN内での利用を想定している。今回は、パブリックネットワーク向けのセキュリティー重視という観点では書いていない。 また重要な前提として、接続先と接続元は、同じプライベートネットワークに属していることとする。 接続先 (Windows) Windows 11 24H2 を使っている 接続元 (Linux) NetworkManger を使っている systemd-resolved を使っていない、無効にしている GNOME 環境 arch linux 環境 仮定 今回は説明のために以下の仮定をしている。Linux側に関しては、/etc/hostnameにすでに適切なホスト名が設定されているという前提である。 Windows側 ホスト名: WinHost IPアドレス 192.168.1.33 Linux側 ホスト名: LinuxHost IPアドレス 192.168.1.55 設定手順 Windows側 (接続される側、mDNSで名前解決される側) ファイアウォールの設定を確認する 今回はmDNSだけでなく、そもそも接続されているか確認するために、pingも通るように設定する。 ネットワーク探索が無効になっていないか確認する Linux側 (接続を試みる側、mDNSで名前解決をしようとする側) パッケージのインストール yay -S avahi nss-mdns # pacman -S avahi nss-mdns デーモンの有効化 sudo systemctl enable --now avahi-daemon.service /etc/nsswitch.confを設定する 以下はAvahi - ArchWikiを参考に設定した一部の例である。今回は IPv4 を対象として、mdns4_minimalを指定した。試してはいないが、mdns_minimal、mdns、mdns6_minimal(IPv6)としても、Avahi - ArchWikiを見る限り設定できる模様である。 ...

2026年1月18日

IDEからAHCI モードにする

この記事を作った動機 いちいちどのレジストリいじるべきか調べるのが面倒くさいから記録する。 まとめ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\StartOverrideを 0にする。AHCIからIDEモードにするときに機能するかは不明である。 引用 Yes there is a way on WIN 10 also ! Go into BIOS set the SATA mode to IDE and boot into system. Start REGEDIT and look for this line : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\StartOverride Change the 0 DWORD value from 3 to 0. Reboot, and change your SATA controller to AHCI in BIOS. Now let it boot into safe mode, WIN 10 will install required drivers for AHCI. ...

2025年12月14日

PyOCR を Windows で動かしたい

この記事を作った動機 pyocrを使うおうとしたらライブラリだけじゃなくて、OCRを実際にする部分である tesseract をインストールしないといけないことが分かったので記録をとってみる。前提として Windows 環境上で作業していて、Python環境はすでに構築されていて機能するものとする。 ちなみに、躓いた点としては、tesseract をただインストールする必要があるだけでなく、環境変数Pathを通して、tesseractコマンドが使える状態しないと、pyocr が tesseract を見つけられないという点があった。 Windows と違って、Linux や Mac 系の環境では、tesseract をインストールした時点ですでにパスが通っているところにバイナリが配置され、追加の設定が不要ということがあるかもしれないが、現時点ではまだ確かめていない。 pyocr を使えるようにする手順 pyocr ライブラリの導入 pip install pyocr tesseract をインストール インストーラの取得 Home · UB-Mannheim/tesseract Wiki から、tesseract-ocr-w64-setup-XXXXXXXXXXXXXX.exeをダウンロードする。 日本語のOCRデータが含まれるように指定する インストーラを実行し進める。ただ単に進めるだけでなく、途中で日本語向けのOCRデータを含むように明示する必要がある。 インストーラを進めている途中で出てくる以下のパスは、のちにPathという環境変数を設定するために使うため、どこかにコピーしておく。私の環境では以下のようになった。 環境変数を通す インストーラで見えていた場所に対して、環境変数のPathを設定する。なお変更の反映にはターミナルなどの再起動が必要である。また設定したのにうまく反映されない場合は PC ごと再起動した方がいいかもしれない。 環境変数が通ると、コマンドプロンプトなどで以下のように表示されるはずである。 tesseract # Usage: # C:\Program Files\Tesseract-OCR\tesseract.exe --help | --help-extra | --version # C:\Program Files\Tesseract-OCR\tesseract.exe --list-langs # C:\Program Files\Tesseract-OCR\tesseract.exe imagename outputbase [options...] [configfile...] # # OCR options: # -l LANG[+LANG] Specify language(s) used for OCR. # NOTE: These options must occur before any configfile. # # Single options: # --help Show this help message. # --help-extra Show extra help for advanced users. # --version Show version information. # --list-langs List available languages for tesseract engine. 環境変数がうまく通ってない場合の例(PowerShell) ...

2025年12月2日

React を使った Web アプリを Android アプリにしたい

この記事を作った動機 React で作った Web アプリを Android に移植しようとしたら超絶めんどくさかったので、記録するだけ。 自分の試した構成 Vite React TypeScript Android Studio (with SDK) npm create vite@latest 使った汎用コマンド集 すべての環境変数をリスト (Windows,PowerShell) gci env:* | sort-object name 環境変数を新規作成 (Windows,PowerShell) # 具体例 ANDROID_HOME にパスを設定する $env:ANDROID_HOME = "C:\Users\[userName]\AppData\Local\Android\Sdk" 特定の環境変数に対してパスを追加 (Windows,PowerShell) # 具体例 ANDROID_HOME にパスを追加設定する $env:ANDROID_HOME += ";C:\Users\[userName]\AppData\Local\Android\Sdk" 準備 Capacitor を使えるようにする 必要なパッケージのインストール npm i @capacitor/core npm i @capacitor/android 初期化する npx cap init android 向けに初期化する npx cap add android ANDROID_HOMEを設定する エラー例 Android SDK のパスが、ANDROID_HOMEとして環境変数に設定されていない場合は、以下のようなエラーが出てくる。 npx cap build android # × Running Gradle build - failed! # [error] # > Configure project :app # WARNING: Using flatDir should be avoided because it doesn't support any meta-data formats. # > Configure project :capacitor-cordova-android-plugins # WARNING: Using flatDir should be avoided because it doesn't support any meta-data formats. # FAILURE: Build failed with an exception. # * What went wrong: # Could not determine the dependencies of task ':app:bundleReleaseResources'. # > SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable or by setting # the sdk.dir path in your project's local properties file at 'C:\Users\userName\work\TODOListApp\TODO # List\android\local.properties'. # * Try: # > Run with --stacktrace option to get the stack trace. # > Run with --info or --debug option to get more log output. # > Run with --scan to get full insights. # > Get more help at https://help.gradle.org. # BUILD FAILED in 1s ...

2025年11月21日

Git でローカルリポジトリの変更を退避、破棄する

この記事を作った動機 単に、git pullして変更をリモートリポジトリからローカルリポジトリに反映しようと思ったときに、ローカルリポジトリ側に未反映の変更があり、衝突してマージに失敗することがある。そのような場合に、とにかくそのローカルリポジトリにある変更内容を破棄して、リモートリポジトリの変更を反映したいとき用に、記録をとりたい。 ローカルリポジトリの変更内容を保持しておきたいときは、git stash dropをする必要はない。 とにかくリモートリポジトリの変更内容を反映する例 リモートリポジトリの変更をローカルに反映しようとしてエラーになる git pull remote: Enumerating objects: 56, done. remote: Counting objects: 100% (56/56), done. remote: Compressing objects: 100% (15/15), done. remote: Total 56 (delta 41), reused 56 (delta 41), pack-reused 0 (from 0) Unpacking objects: 100% (56/56), 6.00 KiB | 79.00 KiB/s, done. From github.com:hello30190f/OneNoteAlternative c539ef0..a484d7c master -> origin/master Updating c539ef0..a484d7c error: Your local changes to the following files would be overwritten by merge: firstPrototype/backend/dataServer/notebookData/test/contents/test.json Please commit your changes or stash them before you merge. Aborting ローカルリポジトリの変更を退避する git stash Saved working directory and index state WIP on master: c539ef0 save 退避したローカルリポジトリの変更を破棄する git stash drop Dropped refs/stash@{0} (e64f70a6e978cf0a154795872e0b07f6530123aa) ローカルリポジトリの変更を退避または破棄したことで、衝突しなくなる git pull Updating c539ef0..a484d7c Fast-forward .../commands/notebookAndPage/createNotebook.py | 6 +- .../commands/notebookAndPage/deletePage.py | 4 +- .../commands/notebookAndPage/updatePage.py | 4 +- firstPrototype/backend/dataServer/helper/common.py | 3 +- .../backend/dataServer/interrupts/controller.py | 10 +-- .../notebookData/newnote/contents/test.md | 3 +- .../notebookData/newnote/contents/testa.md | 10 ++- .../dataServer/notebookData/newnote/metadata.json | 17 +++- .../notebookData/newnote/metadata.json.backup | 17 +++- .../notebookData/newntoe/contents/asfsdfsdsss.md | 4 +- .../dataServer/notebookData/newntoe/metadata.json | 13 ++- .../notebookData/newntoe/metadata.json.backup | 13 ++- .../notebookData/test/contents/test.json | 99 +++++++++++++++++++++- .../notebookData/test/contents/test/anArticle1.md | 13 ++- .../test/contents/test/test2/testaaaa.json | 53 +++++++++++- .../notebookData/test/contents/test1.json | 11 +++ .../dataServer/notebookData/test/metadata.json | 25 +++++- .../notebookData/test/metadata.json.backup | 25 +++++- .../backend/dataServer/type/pages/free.py | 2 +- .../backend/dataServer/type/pages/markdown.py | 2 +- .../src/modules/FakepagesPath.tsx | 16 +++- firstPrototype/note/architecture.md | 2 +- 22 files changed, 321 insertions(+), 31 deletions(-) create mode 100644 firstPrototype/backend/dataServer/notebookData/test/contents/test1.json 参考にしたサイトとか Git - git-stash Documentation https://git-scm.com/docs/git-stash (2025年11月12日)

2025年11月12日

GRUB で Windows も起動する

この記事を作った動機 単に今までめんどくさくて放置していた、Windows と Linux の デュアルブート環境において、GRUB を利用しているとき、Windows OS の選択肢が出てこないということについて、対応した時にわかったことを記録したいというだけ。 ちなみに今回の作業をするまでは単に BIOS 側で、.efi ファイルを指定することで、Linuxを起動するエントリと、Windowsを起動するエントリを作って、BIOSのブートメニューで選択していた。 なお今回の記事では前提として、GRUB が入っており、以下に示すコマンドはすでに使えることを想定している。 grub-install grub-mkconfig 環境 System Details Report(GNOME settings からのコピペ) Report details Date generated: 2025-08-04 14:45:58 Hardware Information: Hardware Model: Dell Inc. XPS 15 9575 Memory: 16.0 GiB Processor: Intel® Core™ i7-8705G × 8 Graphics: Intel® HD Graphics 630 (KBL GT2) Disk Capacity: (null) Software Information: Firmware Version: 1.20.0 OS Name: Arch Linux OS Build: rolling OS Type: 64-bit GNOME Version: 48 Windowing System: Wayland Kernel Version: Linux 6.15.7-arch1-1 パティーション構成 どんなパーティション構成で、デュアルブートを構成しているかも示す。Windows も Linux もどちら側も UEFI で動作しており、それぞれ個別に起動用の EFI パーティションを持っているという構成である。 ...

2025年8月4日