前回は Windows 11 PC を動作可能にし、ローカルアカウントの環境を整えた。
今回は移行元 Windows 10 で愛用していたファイル、アプリケーション、プログラム、パッケージをインストールし、移行元の環境を可能な限り復元する。
エディション Windows 11 Pro
バージョン 25H2
インストール日 2024-04-01
OS ビルド 26200.7019
エクスペリエンス Windows 機能エクスペリエンス パック 1000.26100.265.0
[TOC]
最初に、移行先 PC にインストールするプログラムすべてを確定する。順序がたいせつになることがあるのですべてだ。
- 移行元 PC でコマンド
winget listを使って、まともな方法でインストールしているものを控えておく。winget exportして JSON ファイルを手許に控えておくとなお良い。 - インストーラーがないプログラム(単品のゲームにありがち)は個別に対応する。本稿ではそのようなプログラムについては議論しない。
ネットワーク接続の方法は複数あるが、筆者環境で転送効率が最も良くなる手段は次の手順だった:
- 二台の PC を LAN ケーブルで接続し、
- 共有フォルダーを移行先 PC に作成して
- 移行元 PC から対象ファイル群を写すことが可能であるようにする
有線接続の詳しい手順は資料 Connection が含んでいる。
引っ越し前 PC からユーザーファイルを輸送するのに、Softbank Air 購入時に付属していた LAN ケーブルを用いることができた。無線でやり取りすることも可能だが、転送速度が違い過ぎる。 Vostro 側で共有フォルダーを設け、移行元 PC から欲しいファイルをこのフォルダーへコピーし、移行先の Explorer などで所定のフォルダーに移すのだ。
移行元のシステムファイル、例えば C:\Windows\System32\drivers\etc\hosts などのシステムファイルを人力で編集して利用している場合、移行先に持ち込むことを忘れるな。
自らによる成果物のほとんどがフォルダー %USERPROFILE% 以下にある。
基本方針:
- 移行元環境で、フォルダー
%USERPROFILE%にあるファイル、フォルダーのうち、移行したいものを移行先環境の共有フォルダーにコピー。 - 移行先環境で、共有フォルダーにコピー済みのファイル、フォルダーを、パスが同一になるようにフォルダー
%USERPROFILE%に移す。
サブフォルダー AppData を丸ごとコピーするのは慎みたい。特に、後述する WSL のイメージファイルもこのフォルダーの深くに含まれるが、このファイルは今回は特別な方法で扱いたい。
対象となるアプリケーションのすべてを(断りのない限りシステムに)インストールした後に、アプリケーション個別に環境構築を行う。
Windows 11 は初期状態で winget が使用可能だ。差し当たり次を移行先 PC で実行する:
winget source update
winget list
インストーラーが公式に用意されているパッケージについては、インストール形態がユーザーではなくシステムにインストールする方針だ。つまり、%USERPROFILE% 以下に実行ファイルを入れたくない。したがって、winget でインストール可能なものについては次の注意を要する:
- 少なくとも管理者権限で実行しろ。インストール場所に影響する場合がある。
winget importではなく、winget installで一つずつちまちまインストールするのが無難だ。 また、システムインストールを望むので、オプション--scope machineを付けろ。
黙っているとユーザーインストールになるパッケージとしては次のものがある:
- GIMP 3 (GIMP)
- Visual Studio Code (VS Code)
- Zoom
winget を知らないアプリケーションのうち、インストーラーが公式に用意されている場合はそれを手動で実行する。そうでないものは移行元環境からファイル的に複製する。私の環境での例を挙げる:
- Sleipnir
- Windows Subsystem for Linux (WSL)
- Ubuntu on Windows
- 圧縮解凍ソフト Noah
- 単品ゲームプログラム各種
※WSL に関しては「インストール」の意味があいまいになりがちなので、のちほど詳しく記す。
CPUID や Rapid Environment Editor など、動作環境にのみ依存するような単品プログラムは、インストーラーを実行して移行終了だ。
フォルダー %APPDATA% にある、アプリケーションに関連するサブフォルダーを丸ごと移転先の同じ場所にコピーすれば復元完了となるについて、そのようにして移行する。
フォルダーをコピーする前に、当該アプリケーションのプロセスを完全終了させておく。
- DeepL
- draw.io
- FastStone Viewer
- GIMP
- Inkscape
- LibreOffice
- Mozilla Thunderbird
- OBS Studio
- VLC media player
- Zoom: ただし、カメラ、マイク、ヘッドフォンの設定はやり直す
- Dropbox, pCloud: ログインをしたいので UI を用いて最初から設定する
- LibreOffice: 英語パックを明示的にインストールする
- Sleipnir
- Visual Studio Code
- WSL
Version: 25.8.2.2 (X86_64)
Build ID: d401f2107ccab8f924a8e2df40f573aab7605b6f
CPU threads: 8; OS: Windows 11 X86_64 (build 26200); UI render: default; VCL: win
Locale: ja-JP (ja_JP); UI: en-US
Calc: CL threaded
UI を英語にしたいので、インストーラー実行中に言語パックをオンにしたい。しかし、winget install ではインストールウィザードが出現しないからダメかも?
次に機会があれば、次のコマンドを実行してダウンロードした msi ファイルでカスタムインストールだ:
winget install -e --id TheDocumentFoundation.LibreOffice --scope machine
Version: 6.5.13.4000
- 公式ページからインストーラーをダウンロードする
- インストーラーを実行する
- 移行元 PC からプロファイルフォルダー群を移行先 PC にコピーする
- Sleipnir を起動して次を確認する
- UI
- ブックマーク
- RSS
- 移行元 PC で使用していた拡張をインストールする
前半は移転前後の PC の %APPDATA%\Fenrir Inc\Sleipnir5\setting などを同期させるという意味だ。
TODO: rsync か何かを用いた移行スクリプトを用意する。
移行元環境で、プログラム実行中に Activity Bar の歯車アイコンメニューで Settings Sync is On であることが前提。筆者は GitHub を保存装置として使っている。
Windows Subsystem for Linux 利用ノートに記す。
Version: 1.0.7.0
移行前 PC のバイナリーを再利用したいところだが、移行先 PC で改めてインストールする必要があるようだ。30 GB 近くのデータを再びダウンロードするのはつらい。
- Microsoft Store 画面に、購入時に用いた MicroSoft アカウントでログインする。
- ドラクエ 11 をダウンロード
- 実行せず、移行元 PC を起動して OS をログアウト
- 移行先 PC でドラクエを起動
これで行けるはず。冒険の書はクラウドに存在しているようだ。
- オプション
--scope machineを使え。 - それでもダメなら
winget uninstallを実行し、別の方法でインストーラーを入手、実行しろ。
本稿の趣旨はプログラムを %PROGRAMFILES% 系フォルダーにインストールし、どのローカルユーザーも同じものを利用できるようにすることだ。
前回ノートで少し記したように、Windows 側での設定を要する:
- Run ダイアログで
ms-settings:keyboardを開くなどして、《言語と地域》設定画面を表示する。 - ページ下部に 《Google 日本語入力》の箱があることを確認して、《Microsoft IME》を三点メニューから削除する。
拡張のうち、Marketplace で配布されていなかったものが問題になる。VS Code を起動して
Extensions パネルで警告マークの付いた拡張を手動でインストールしろ。設定自体はファイル settings.json に生き残っている。いい機会なので、各拡張の設定項目を見直せ。
- 移行前に Ubuntu ファイルシステムの掃除をしろ。
- イメージファイルを圧縮する CLI が存在するので、それを使え。
WSL の移行に関する問題の処方箋としては資料 WSL1 が決定的だ。PowerShell で Optimize-VHD を使えるようにする時間が惜しいときに資料 WSL2 を当たれ。私の例では 80 GB を 50 GB に削減できた。
圧縮が成功してもイメージファイルサイズは 10 GB 単位の巨大なものなので、最速手段、LAN ケーブルでの転送が望ましい。
移行元 PC でドラクエをいつもプレイしているアカウントをシャットダウンすれば十分。
| プログラム | --id |
言葉 |
|---|---|---|
| CPUID CPU-Z | CPUID.CPU-Z |
構成の必要なし |
| DeepL | DeepL.DeepL |
移行元環境を移植する |
| draw.io | JGraph.Draw |
移行元環境を移植する |
| Dropbox | Dropbox.Dropbox |
手動で構成する |
| FastStone Image Viewer | FastStone.Viewer |
移行元環境を移植する |
| GIMP | GIMP.GIMP.3 |
移行元環境を移植する |
| Google 日本語入力 | Google.JapaneseIME |
移行元環境を移植する+Windows 設定 |
| Inkscape | Inkscape.Inkscape |
移行元環境を移植する |
| LibreOffice | TheDocumentFoundation.LibreOffice |
移行元環境を移植する |
| Microsoft Visual Studio Code | Microsoft.VisualStudioCode |
プログラム機能で環境を復元+拡張の一部を手動でインストール |
| Mozilla Thunderbird (ja) | Mozilla.Thunderbird.ja |
移行元環境を移植する |
| OBS Studio | OBSProject.OBSStudio |
移行元環境を移植する |
| pCloud Drive | pCloudAG.pCloudDrive |
手動で構成する |
| PowerToys | Microsoft.PowerToys |
移行元環境を移植する |
| Rapid Environment Editor | OlegDanilov.RapidEnvironmentEditor |
構成の必要なし |
| SumatraPDF | SumatraPDF.SumatraPDF |
移行元環境を移植する |
| VLC media player | VideoLAN.VLC |
移行元環境を移植する |
| Zoom Workplace | Zoom.Zoom |
移行元環境を移植する+手動でハードウェアを構成する |
- FastStone Image Viewer の初回起動を後回しにしたい。外部ツール設定が実物がないと消えるようだ。
- Thunderbird は UI を英語にするのはいつでも可能だが、最初から英語版をインストールすれば良かったか。
- Windows Terminal はインストールしない。Windows 11 に元から備わっている。
- Complete List Of Windows 11 MS-Settings URI Commands
- パソコン2台を有線LANで接続する方法
- タブブラウザ Sleipnir 6
- ファイル・バックアップ用ファイル - Sleipnir for Windows 非公式 @Wiki
- WSL でストレージ不足エラーが発生したときの対処方法:別マシンへ ext4.vhdx を移して復旧する手順
- [wsl2]ディスク容量が満タンで困った!><でも、Optimize-VHDなんて存在しないとき
- ファイル・バックアップ用ファイル - Sleipnir for Windows 非公式 @Wiki
以上