高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

PCを変更しました

表題の通りですが、PCを新しいものに変更しました。

以前まで使っていたPCは4年ほど前のものでグラフィックボードなども付けておらず、とくにZoomやPowerPointなど、ゲームじゃなくてもグラフィックボードがないと結構厳しくくなってきたため。

そろそろ動作が怪しくなってきたのもありますし、思い切って*1

買ったもの

とりあえず以下のもの。

kakaku.com

  • OS: Windows(R) 11 Pro
  • CPU: AMD Ryzen 5 5600X
  • メモリ: 32GB
  • SSD:512GB SSD
  • HDD:2TB(今まで使っていたPCから引き継ぎ)
  • グラフィックボード:NVIDIA GeForce GTX 1660 SUPER 6GB

大変だったこと

ハードディスクの取り付け

HDDを以前のPCから抜き出し、今回のPCに接続するという作業にだいぶ手こずりました。

SATAケーブルって、付属品じゃないんですね、古いPCから拝借してしまいました(あとマザーボードSATA端子の位置が分かりづらくて苦戦しました)。

そして、ネジが足りない。

PCには予備ネジなどが一切付属していないので、HDDを増設しようとかいうことになるだけでもネジが足りなくなる。

こういうときにインチねじって結構使うものなんだなあ、予備を持っておかないといけないんだなあ と思いました(これもまた、古いPCから何本か拝借しました)。

OSのライセンス認証

また、OSのライセンス認証も。

FRONTIERのPCはライセンス認証が最初から行われているわけではなく、側面に貼られたラベルから個別に認証を行うという手順を踏むようです。

PCの電源投入前にHDDを接続してしまったので、そのせいでライセンスが無効になってしまったのかと思ってしまい、サポートに連絡するなんてことをしてしまった。

その他のソフトウェアセットアップ

その他のソフトウェアセットアップについては、たいていwingetとChocolatyでまかなえたため、そちらでほぼ全自動。

github.com

以下のような手順でサクッとおわらせます。

  1. ひとまずローカルアカウントでサインインするため、LANケーブルを接続せずにPCを起動、作業用アカウントを作る
  2. Dドライブをフォーマットする。
  3. 作業用アカウント起動後、レジストリを変更しUserProfileフォルダをDドライブに移動する*2
  4. TakamiChieアカウントを作成し、管理者に変更、作業用アカウントからサインアウトする。
  5. TakamiChieアカウントに入り、LANケーブルを接続して、Microsoftアカウントを設定
  6. 作業用アカウントを削除
  7. ATOKをインストール、PC名を設定し、再起動
  8. OneDriveの同期をすべて開始し、GitHubからwingetとChocolatyのアプリリストをダウンロード。winget importコマンドを実行してじっくりコトコト煮込む(約1時間)
  9. おわったらChocolatyのインストール処理も実行し、再起動
  10. OneDriveの全ファイルの同期を開始し、じっくりコトコト煮込む(約1日)
  11. あらかじめ用意しておいたPowerShell初期スクリプトPowerShellフォルダに配置する、よく使うファイルのシンボリックリンクをドキュメントフォルダ上に配置する*3

Chocolatyはそれ自体別途インストールが必要なので面倒ですが、wingetはほぼすぐ使えるのでいいですね。

exportコマンドがすべてのプログラムをエクスポートできない場合があるのでそこは要注意ですが、あらかじめ出力したJSONファイルに格納されなかったパッケージを全部手作業で追加するなどしておくとよいでしょう(詳しくはこのあとに書きます)。

10の間は普通にPCは使えますので問題はないのですが、気になる場合は特に必要なフォルダから順番にダウンロードするなど工夫した方が良いでしょう。

また、手順7の時点でwingetが使えない場合もありますが、その場合はWindows Storeよりアプリインストーラーを更新してみてください。

www.microsoft.com

wingetがすべてのプログラムをエクスポートできない問題。

wingetは、winget exportコマンドで今インストールしていて、wingetでインストール可能なパッケージのリストを出力する機能がついています。

しかしこれは、レジストリから現在インストールされているパッケージの一覧を確認して、JSONを生成しているようで、ときどきそこで情報が見つからず、winget installでインストールしたにもかかわらず、winget exportコマンドで出力されないパッケージが出てきます。

これは次のリポジトリにて管理されており、manifestsディレクトリ配下にすべてのパッケージの情報が詰まっています。

github.com

ただし、現状すべての項目が網羅されているわけではないようで、以下のようなパッケージの情報は見つけられずに漏れてしまうようです。

  • レジストリに書き込まれるアプリケーション名がPCのロケールによって異なるもの(OpenShot、Rapid Environment Editorなど)
  • インストールしようとしたパッケージと、実際にインストールされるアプリケーションの名前が違うもの(Microsoft Officeなど)
  • 原因不明だがパッケージの記述が誤っているもの
  • Microsoft Storeでインストール可能だが、wingetにパッケージのエントリがないもの

とはいえものによってはIssueとして提案すれば対応してくれるかもしれませんので、もし何故そうなっているのかが大まかにでも分かったらIssueで投稿してみるのもいいかもしれません。

実際winget importコマンドを実行してみると出てくる警告表示と実際のパッケージ名を照合してみると、何が抜けているのかがわかりそうです。

f:id:TakamiChie:20220224172648p:plain
winget exportの出力

なので万全を期すなら

  1. winget exportを実行し、JSONファイルを生成
  2. 出力された警告の中から、winget searchでアプリ名を探すと出てくるもの(wingetでインストールできるもの)をリストアップし、1で生成したJSONファイルに追記
  3. GitHubなどにコミット

としておくとよいでしょう。

GitHubにコミットしておくことで、2回目以降エクスポートしたときに、容易にエクスポートできなかったパッケージ一覧を復元できるので、便利ですね。

PCを変えて…

とりあえず今のところ、大きな変化は感じません。

OSメジャーバージョンが変わり、タスクバーが下固定になったのは*4やや違和感を感じますがじきに慣れるのかなと。

とりあえずAudacityの波形のズームがとても早くなった。Zoomと同時にAnimazeを立ち上げても動作がカクつかなくなった というところでしょうか。他の変化は今後実感していくのかもしれませんね。

*1:PowerPointも、資料を書くだけなら問題ないですが、動画作成などに使うとかなりGPU使うんですよね

*2: この辺参照

*3:OneDriveフォルダ内などクラウドストレージとリンクしているフォルダ内にシンボリックリンクを配置すると、動作がおかしくなることがあるので、それらフォルダ内にはシンボリックリンクを置かないようにするのが良いでしょう

*4:モニタの前にiPadを置いているので、画面下部には目が届きづらい