はじめに
このページはWindowsの使い方がわからない筆者が筆者のために書いた。
ほとんどの記述はWindows 11を前提としている。
データ移行
端末を乗り換える場合はデータ移行が発生するだろう。
やり方としては以下が考えられる。
- エクスプローラーでコピー&ペースト
- オンラインストレージの同期
- robocopy
- Grsync
- rsync (MSYS2)
データ移行はエクスプローラーの操作やオンラインストレージの同期で済むなら、それが最も楽だ。しかし、現実はそう甘くない。ファイル数、ファイルサイズ、ファイル名の長さでコピーが途中で止まるか失敗する。エクスプローラー操作ではエクスプローラーが固まる。探索者がダウンとは何とも不吉である。途中で止まっても再開できればよいが、どこから再開すればよいか悩むはずだ。
そこで筆者はrobocopyを使う。マルチスレッドで動き、エクスプローラーと違って長いファイル名もコピー可能で、コピー失敗時のリトライ機能がある。その上、再開する場合にはすでにコピーしているファイルはスキップする。ログも残せる。
以下はrobocopyの使用例である。データ移行元の端末でコマンドプロンプトを立ち上げて使う。
|
|
コマンドのオプションの詳細はrobocopyを参照してほしい。robocopyには /MIR
オプションがあるが、そのオプションの特性でコピー元とコピー先の指定を間違えるとデータを失うため、凡ミスが多い筆者は絶対に使わない。データは引き継げれば良い。
エクスプローラー
ウェブ会議などで画面共有の際にエクスプローラーを映すかもしれない。エクスプローラーは左側に位置するナビゲーションバーやホームに最近の開いたファイル、フォルダを表示する機能を提供する。そのため、意図せずファイル名やフォルダ名がエクスプローラーに映ってしまうかもしれない。
そういった事態を回避するため、プライバシー欄にある以下3点のチェックを外す。
説明は割愛するが、筆者はファイルの拡張子を表示する設定に変える。
パッケージマネージャー
|
|
インストールするパッケージ
コマンドプロンプトを管理者権限で開いて、以下を実行する。
|
|
ネットワークと共有
共有の詳細設定を確認する。
-
プライベートネットワーク … 自宅や職場を想定
ネットワーク探索
が意図した値になっているかファイルとプリンターの共有
が意図した値になっているか
-
パブリックネットワーク … 外出先を想定
-
ネットワーク探索
がオフになっているか- 外出先のネットワークで自機をネットワークで示すことはほぼないはず。
-
ファイルとプリンターの共有
がオフになっているか- 外出先のネットワークで自機をハブにしたいことはほぼないはず。
-
-
すべてのネットワーク
パブリックフォルダーの共有
がオフになっているか (意図してオンにしている場合を除く)パスワード保護共有
がオンになっているか (意図してオフにしている場合を除く)
リモートデスクトップ接続 (接続される側の設定)
ラップトップの蓋と電源
WindowsがラップトップPCで動いている場合、蓋を閉じた時にスリープするかなどを変更できる。
コントロールパネルを開き 電源オプション
をクリックする。
カバーを閉じた時の動作の選択
をクリックする。
下図の赤枠内で任意の設定に変更する。
マウス
筆者はMX Master 3 for Macを使う。Windowsでも利用できる。
キーボード
筆者が使うキーボードは基本はHHKB (US配列)であるが、JIS配列のキーボードを使う時もある。
キーボードを切り替える例としてはリモートデスクトップ接続でログインしたWindows ServerがJIS配列というケースである。大方のサーバーはキーボード配列の変更を出来ないだろうから、JIS配列のキーボードを取り出して自分のPC環境を変える。
残念ながら、Windowsでキーボード配列を変更するにはOSを再起動しなければならない。いや、前向きに考えよう。設定を変えてOSを再起動すればキーボード配列を変更できる。
設定で「時刻と言語 > 言語と地域」に移り、言語欄に「日本語」があるはず。その右端の3点リーダーをクリックして 言語オプション
を開く。そうすると、下図の画面に辿り着くので レイアウトを変更する
ボタンをクリックする。
余談だが、筆者は毎度「時刻と言語 > 入力 > キーボードの詳細設定」と画面遷移してしまう。頭の中に「キーボード配列の変更なのだから、言語の画面に行って、入力に関係するから入力を選び、配列変更は表に出す項目ではないだろうから、キーボードの詳細設定に行けば良い」といった思い込みがあるせいだろう。ソフトウェアに頭が追従できていないのである。2022年現在の言い方をするとDXできていない。
GUIでなくコードでやるならレジストリを書き換えるようにすればいいのだろうが、そのやり方はWindows 7かWindows 8.1で卒業した。
話を元に戻そう。 レイアウトを変更する
ボタンをクリックすると下図の画面が出る。そこでキーボード配列を選べばよい。いや、その後に再起動が必要だ。
なお、選択肢に 接続済みキーボードレイアウトを使用する
がある。これはWindows 10にはなかったように思う。筆者はWindows起動時に物理キーボードの配列に応じてハードウェアキーボードレイアウトが自動で変わることを期待して試した。
手元で試した限りでは、この項目は設定画面で「今すぐ再起動する」ボタンを押した際に繋がっているキーボードの配列を参照するのみであった。US配列とJIS配列の切り替えを円滑にかつ自動で動作するものではなかった。
キーマップ
ソフトウェアでキーは割り当て直せる。これは便利である。ただ、自分自身に都合の良い物理キーボードを手に入れるのが一番楽である。
ソフトウェアでCAPS LOCKをCtrlに変更する (できない)
2022年10月29日現在、手元のWindows 11 21H2環境ではCAPS LOCKをCtrlに変更できなかった。今後のソフトウェアのバージョンアップで変更可能になるかもしれないので試したことをここに記録する。
PowerToysのKeyboard Mangerを使う
Power ToysのKeyboard Managerを使ってキーマップを変更する。Power Toysは winget
などでインストールできる。
Power Toysを起動する。
Keyboard Manager
をクリックする。
キーの再マップ
をクリックする。
プラス記号のボタンをクリックするとウィンドウが表示されるので、そのウィンドウにあるプルダウンからCAPS LOCKを選択して、割り当て先としてCtrl (Left)を選ぶ。キーの再マップの画面でOKボタンをクリックして反映する。
ただし、手元のWindows 11 21H2で試した限りではCAPS LOCKを押すとCtrlキーがずっと押されているような状態になるか半角全角の切り替えが起きた。
Ctrl2Capを使う
Ctrl2CapはCtrlとCAPS LOCKを変換する機能を提供する。以下から入手できる。
管理者権限でターミナル (例えばコマンドプロンプト) を開く。そして以下コマンドを実行するとインストールできる。
|
|
アンインストールしたい場合は以下の通り。
|
|
インストールはできるが、手元のWindows 11 21H2で試した限りではCAPS LOCKを押すとCtrlキーがずっと押されているような状態になるか半角全角の切り替えが起きた。
日本語入力とIME
IMEはWindows標準搭載のMicrosoft IMEを使う。筆者が使っているUS配列のHHKBには半角/全角キーがないので Alt + `
で切り替えをする。
ディスプレイ接続
画面の拡張
テキストエディタ
話が長くなる。別の機会にしよう。
Git
筆者はGit for Windowsで済むことが多い。分量が多くなってくるとAtlassianのSourceTreeを使う。
参考までにGitクライアントを以下に列挙した。
diff
例えば、Git for Windowsのbashでソースコードの差分を表示する場合は以下のようになる。
|
|
WinMerge
WinMergeで表示するようにしたい場合は以下のようにする。
なお、筆者の場合はWinMergeが %LOCALAPPDATA%Programs にある。
|
|
Visual Studio
Visual StudioはVisual Studio Installerで構成(ワークロード)を変更できる。また、その構成を .vsconfig
ファイルに出力できる。この辺りに関しては以下が詳しい。
- コマンド ライン パラメーターを使用して Visual Studio をインストールする | Microsoft Learn
- インストールに使用するコマンド ライン パラメーターの例 - Visual Studio (Windows) | Microsoft Learn
Visual Studio構成を .vsconfig
ファイルにエクスポート。管理者権限のコマンドプロンプトで実行する。
|
|
Visual Studio構成を .vsconfig
ファイルをインポート。管理者権限のコマンドプロンプトで実行する。
|
|
インポートが何故か上手くいかない時がある。以下がその例である。
|
|
末尾に "Trying to remove …" とログに出るが、ファイルだけでなく _Channels
フォルダ内のデータを削除すると処理が正常に動くようになった。そのため、上手くいかない場合は以下のフォルダ内のデータを削除して、再度実行してみるとよいかもしれない。
|
|
Windows Terminal
設定ファイルのパス。JSONファイルなので任意のテキストエディタで編集するのもありだが、Windows TerminalにGUIがある。
|
|
Git for WindowsのBash
Git for WindowsにBashがある。これがあるとGit操作時に何かと便利である。そこでWindows Terminalのプロファイルに追加する。筆者はGit for WindowsをAtlassianのSourceTreeが取得するパッケージを使うので、パスがそのようになっているが基本的には bash.exe
を指定すればよい。
Windows Terminalで Ctrl + ,
をタイプすると設定画面が開く。
Bashのパス
|
|
アイコンのパス
|
|
x64 Native Tools Command Prompt for VS 2022
VC++環境下でビルドする場面があるので登録する。
コマンドプロンプトのパス
|
|
アイコンのパスはWindows Terminalのプロファイルにあるコマンドプロンプトで設定しているアイコンと同じにした。
Windows Terminalが使えない場合
スタートメニューでWindows Terminalを検索してアプリとしてヒットしない場合がある。その場合はアプリ実行エイリアスの画面でターミナルのオン → オフ → オンを試してほしい。
下図はスタートメニューのアイコンで右クリックした際のスクリーンショット。Windows PowerShellとなっている。ここにターミナルが表示されてほしい。
アプリ実行エイリアスの画面。ターミナルの項目をトグルし直す。
その後、スタートメニューのアイコンで右クリックするとターミナルが表示されるようになった。
Unity
UnityのLTSをインストールする。
Unity Hubのコマンドライン操作でUnity Editorをインストールできる。 -m
はモジュールである。詳しくは後述のヘルプコマンドを参照されたい。
|
|
インストール済みのUnity Editorは以下のコマンドで確認できる。
|
|
Unity Hubのコマンドラインは以下のヘルプコマンドを参照されたい。
|
|
Windows Sandbox
プログラムを試しに実行してみたいが、取り扱う内容によっては実行環境の用意に時間を要する場合がある。例えば、PowerShellスクリプトやバッチファイルでアプリインストールやフォルダやファイルの作成や削除などをして環境を初期化したい場合だ。しかも何度も試したい場合だ。
こういった場合には仮想マシンを用意するという手があるが、クラウドに仮想マシンを立てるか、ローカルマシンにハイパーバイザーを入れてOSをインストールして仮想マシンを構築せねばならない。この準備が面倒である。
アプリ Windows Sandbox
は起動するだけでクリーンなWindows環境が手に入る。アプリを終了するとデータが消え真っ新になる。後始末のことを考えなくてよいので楽である。
どうやらvEthernet (Default Switch)を経由してインターネットに繋がるらしい。
ただ、手元の環境 (Windows 11 21H2) ではWindows Sandboxを有効にしても、ホストのネットワークアダプターの一覧には vEthernet (Default Switch)
が表示されなかった (上図参照)。そのDefault SwitchはHyper-Vでも利用するとのことだから、Hyper-Vを有効にしてみたが、結局はネットワークアダプターの一覧には変化がなかった。
グループポリシーを念のために確認してみたが、ネットワーク接続を禁止しているような設定ではなかった。
ひとまず、Windows Sandboxの利用を諦めた。
未構成を選択しているが「このポリシー設定を構成しない場合は、ネットワークが有効になります。」とあるので、このままでよいはずだ。なお、有効にしてからWindowsを再起動してWindows Sandboxを起動してみたが、変化はなかった。
Hyper-V
Windows 11で動くので、いわゆるクライアントHyper-Vである。死後かもしれない。Windows ServerのHyper-Vとは差異があるので、区別するためにそう呼んでいると記憶している。
インストール方法
Hyper-Vは Windows の機能の有効化または無効化
で有効にする。
下図はWindows 11 Pro 22H2でのスクリーンショットである。
余談: Default Switch
Hyper-Vを有効にすると、ネットワークアダプタに Default Switch
が追加される(要出典)。
ただ、手元のPCではそれが追加されなかった。原因不明。
ネットワーク設定 - 仮想スイッチ
ネットワークに以下の種類がある。
- Default Switch
- 外部ネットワーク
- 内部ネットワーク
- プライベートネットワーク
以下の記事が詳しい。
- 仮想スイッチの種別と用途:Windows 10 Hyper-V入門 - @IT
- Hyper-Vネットワークの基本 - Windows Server 2012 R2 - MURA の Home Page
Default Switchに関しては以下が詳しい。
Windows 11 開発環境 (WinDev2210Eval)
Hyper-Vマネージャーが提供する クイック作成
には Windows 11 開発環境
がある。
何やら便利そうではあるが、よく読むと気になる記載がある。
Windows 11 VM のライセンス条項は、競合するどのWindows ライセンス条項よりも優先されます。
EULA
このまま Windows 11 開発環境
で仮想マシンを作成すると、その仮想マシンのデスクトップにEULA.pdfが置かれている。EULA.pdfを開くと文頭に MICROSOFT SOFTWARE EVALUATION LICENSE TERMS FOR VIRTUAL HARD DISK IMAGE WITH WINDOWS 11, VISUAL STUDIO, AND OTHER MICROSOFT PRODUCTS IDENTIFIED IN EXHIBIT A
とある。
そのEULA.pdfを素人である筆者が「2. Installation and Use Rights.」の「d. Multi-Use scenarios.」の「(vi) Remote access.」を読む限りではWindows PCのユーザーと仮想マシンにリモートアクセスするユーザーが同一であればリモートアクセスは許可されているようだ。実際の文面を読みたい場合は Windows 11 開発環境
で仮想マシンを作成してほしい。
また、同文書には 90日
という記述が多かった。 Windows 11 開発環境
で作った仮想マシンのデスクトップの右端を見ると Windows License valid for 90 days
とある。どうやらこれを指しているようだ。
以上のように90日という稼働制限があるため、MSDNサブスクリプションを契約済みなら Windows 11 開発環境
ではなく、MSDNにあるWindowsのISOを使ったほうが無難かもしれない。
リモートデスクトップ
仮想マシン「Windows 11 開発環境」はWindowsローカルアカウント User
を持つ。このアカウントにはパスワードがない。そのため、Hyper-Vマネージャから同仮想マシンに接続する際はSign inボタンをクリックするだけでログインできる。(下図参照)
ところが、このままではリモートデスクトップ接続ができない。リモートデスクトップ接続でのログインを許可している状態であっても、ユーザーにパスワードが設定されていない場合はログインできない。 User
はその状態にある。
なので、試しにウィンドウにパスワードを空欄のままOKボタンを押すと……
エラー応答が届く。
これは User
にパスワードを設定すればよい。
User
にパスワードを設定し終わったら、その情報でリモートデスクトップ接続でログインできる。
Python
Windows 11では(正確にはWindows 10のMay 2019 Update以降から)、PythonをMicrosoft Storeからインストールできるよう導線が組まれており、Pythonをインストールしていない状態でコマンドプロンプトでPythonを実行するとMicrosoft Storeに遷移する。そこでPythonのインストールが出来る。この導線は導入の手軽さがあって良い。
Microsoft Storeを含め、以下のように選択肢がいくつかある。
- Microsoft StoreのPython
- Visual Studioのワークロード (Microsoft.VisualStudio.Workload.Python)
- パッケージマネージャー (例: winget, Scoopeなど)
- Anaconda
- pyenv
- Python公式サイト (手動でインストーラーを入手する)
なお、筆者はwingetでPythonをインストールする。
Microsoft StoreのPythonの導線を消す
一度もPythonをインストールしたことがない場合に、そのPythonの実行ファイルの在処は以下のように確認できる。
|
|
C:\Users\User\AppData\Local\Microsoft\WindowsApps
を調べるとPythonが0バイトのファイルだとわかる。
|
|
これを消すには設定アプリで操作する。
下図赤枠内の アプリインストーラー
をオフにする
その他 - Windows 10関連
User Management
Windows OS Version
- GUI
- PowerShell
- Command Prompt
Type winver in Run (Windows + R)
See version
|
|
systeminfo
|
|
ver
|
|
Environment Variables
Version 20H2
Local Group Policy
- Enter
Win + R
- Enter
gpedit.msc
DirectX Diagnostic Tool
- Enter
Win + R
- Enter
dxdiag


参考資料
- 仮想スイッチの種別と用途:Windows 10 Hyper-V入門 - @IT
- Hyper-Vネットワークの基本 - Windows Server 2012 R2 - MURA の Home Page
- Hyper-VのDefault Switchの正体を調べる - 朝から昼寝
- コマンド ライン パラメーターを使用して Visual Studio をインストールする | Microsoft Learn
- インストールに使用するコマンド ライン パラメーターの例 - Visual Studio (Windows) | Microsoft Learn
- Visual Studio のワークロードとコンポーネント ID | Microsoft Learn
- PowerToys Keyboard Manager utility for Windows | Microsoft Learn
- How to: Enable a 64-Bit MSVC Toolset on the Command Line | Microsoft Learn
- Use the Microsoft C++ toolset from the command line | Microsoft Learn
- VFX Reference Platform
- Git - git-difftool Documentation
- Git - git-mergetool Documentation
- Command line - WinMerge 2.16 Manual
- Unity HubをCLIで操作してUnityをインストールする | Yucchiy's Note
- -Diff (devenv.exe) - Visual Studio (Windows) | Microsoft Learn
- robocopy | Microsoft Learn