🐧

Linux 使いになりたい人向けの Intel N100 ミニ PC で構築する開発環境(3)- Windows 11 仮想マシン

2024/01/26に公開

はじめに

これは、Linux 使いになりたい人向けに Intel N100 ミニ PC を使って開発環境を構築する方法を解説する記事の第3弾です。第1弾はLinux 使いになりたい人向けの Intel N100 ミニ PC で構築する開発環境(1) - 構築する開発環境について にあり、そこから第2弾へと続いています。もしよろしければ、そちらからご覧ください。

ここで使用する Intel N100 ミニ PC の仕様は次のものを前提とします。

項目 内容
OS Windows 11 Pro
CPU Intel N100
メモリ 16GB
ストレージ SSD 512 GB
画面出力端子 HDMI×2
WiFi 5G/2.4G
イーサネット RJ45×1
Bluetoot BT4.2
USB USB3.0×2/USB2.0×2

このマシンで最終的に Windows と Ubuntu Desktop が使えるように環境構築することを目指します。zenn.dev を購読している人のレベルを考えると、画面キャプチャはそれほど必要がないと考えているため少なめです。また、説明についても明示しないとわかりにくいと思われるものに絞っているので少なめです。

なお、実際に作業するときは、ネットワーク回線については数GBのデータをダウンロードしても問題ないものを使うようにしてください。作業の中には、数GBのデータをダウンロードするものも含まれてますので、テザリング環境では使用可能なパケットを使い切ってしまうこともあります。

仮想マシンの設定とインストールするソフトウェア

今回は、Hyper-V の仮想マシンの基本的な使い方について説明します。

また、仮想マシンへインストールしたゲスト OS の Windows について、日本語環境を設定します。

さらに、次の表に示すソフトウェアをインストールします。インストールするソフトウェアとしては、Windows で作業をする上で基本といえるものを選んでいます。

ソフトウェア名 winget の id 説明
winget - Windows パッケージマネージャー
Windows ターミナル Microsoft.WindowsTerminal ターミナル統合アプリ
PowerToys Microsoft.PowerToys Windows 拡張設定用アプリ
PowerSHell Microsoft.Powershell Windows用シェルアプリ

Hyper-V 仮想マシン Win11Eval の利用

それでは、Hyper-V 仮想マシン Win11Eval を使ってみましょう。Hyper-V 仮想マシンを使うには、コマンドや Hyper-V マネージャーから起動してから接続します。接続時に起動していないときは、起動ボタンを含む接続画面が表示されます。

仮想マシンの終了は起動した OS でするのが基本です。ただし、OS を終了しても電源が自動で切れないものもあるので、「マシンの電源を切る」に相当することがホスト OS や Hyper-V マネージャーからできます。仮想マシンの OS が反応しなくなったときなどにも、その機能を使って強制終了させることができます。

vmconnect コマンド

コマンドを使って接続画面を表示するには、vmconnect.exe を使います。コマンドは PowerShell で実行できます。Windows では拡張子の .exe を省略してコマンド指定ができるので、コマンドは vmconnect として良いです。

vmconnect <接続先のIPまたはホスト名> <仮想マシン名>

それでは、PowerShell を開いて、実際に Hyper-V 仮想マシン Win11Eval へ接続してみましょう。仮想マシンの実行には管理者権限は必要ないので、普通に PowerShell の画面を開いて、次のコマンドを実行します。

vmconnect localhost Win11Eval

すると、接続画面が表示されます。画面内に「起動」のボタンがあるのでクリックします。

/images/20240122_hyper_v/windows-hyper-v-win11eval-03.png
Hyper-V 仮想マシン Win11Eval 接続画面

これで、Win11Eval が起動します。Win11Eval が起動したら接続します。すると、サインインの画面になるので「Signin」をクリックします。

/images/20240126_win11eval_basic/n100-win11eval-login-en.png
Windows のサインイン画面

サインインしたら、Windows が動作していて操作できることを確認します。評価版 Windows のシステム情報などを確認しておくと良いでしょう。なお、この仮想マシン Win11Eval のホスト名は、Windows の設定(Config)アプリを開いて確認すると WinDev2401Eval となっていることが確認できます。このホスト名は Windows をインストールした時期によって変わるので 2401 の部分は違っているかもしれません。

さて、評価版の Windows は英語版なので、そのままでは少し使いにくいと感じるでしょうが、日本語環境にするのは後ですることにします。ここでは一通りの動作確認が済んだら、Windows を終了します。

Windows のスタートメニューを開き、右下の電源のアイコンをクリックしてメニューを表示します。メニューにある「シャットダウン(Shutdown)」をクリックすると、Windows が終了して仮想マシンが停止します。

これで、Hyper-V 仮想マシン Win11Eval が使えるようになりました。なお、良く使う仮想マシンの vmconnect コマンドをショートカットとしてデスクトップへ登録しておけば、ショートカットから起動することもできるようになります。

ここでは、Hyper-V 仮想マシンの動作確認をしたかったので、コマンドを使った起動と接続の方法について説明しました。Hyper-V 仮想マシンの管理については、Hyper-V マネージャーを使うのが基本となります。次に、その説明をします。

Hyper-V マネージャーを使った仮想マシンの管理

Hyper-V マネージャーを使うと、仮想マシンを実行する環境の設定と、仮想マシンの管理をすることができます。

/images/20240122_hyper_v/windows-hyper-v-manager-n100.png
Hyper-V マネージャーの画面

Hyper-V マネージャーは仮想マシンを起動したり、停止したりするといった基本的なことも当然できます。コマンドを使うよりも、Hyper-V マネージャーを使った方が楽な場面も多いので活用すると良いでしょう。

Hyper-V マネージャーは「Windows ツール」(コントロール パネル\システムとセキュリティ\Windows ツール)の画面から起動することができます。

/images/20240122_hyper_v/windows-tools-hyper-v-manager.png
Windows ツールの画面

Hyper-V マネージャーを起動して表示される画面について、右側にある「操作」パネルのメニューを使うと、Hyper-V の設定と仮想マシンの管理ができます。

/images/20240126_win11eval_basic/windows-hyper-v-manager-n100-sidemenu.png
Hyper-V マネージャーの操作パネルのメニュー

Hyper-V の設定に関するメニューについて、簡単な説明をつけて一覧にしました。

メニュー 説明
新規 仮想マシンの新規作成
仮想マシンのインポート 仮想マシンファイルから仮想マシンをインポートして作成
Hyper-V の設定 仮想ハードディスクの保存ディレクトリ指定など Hyper-V 自体の設定
仮想スイッチマネージャー 仮想マシンで使用するネットワーク用の仮想スイッチの設定
仮想 SAN マネージャー 仮想ファイバーチャンネル記憶域エリアネットワーク(SAN)の設定
ディスクの編集 仮想ハードディスクの編集
ディスクの検査 仮想ハードディスクの検査
サービスの停止 仮想マシン管理サービスとその依存サービスを停止
サーバーの削除 選択した仮想化サーバーを Hypre-V マネージャーの一覧から削除
最新の情報に更新 表示している情報を最新のものへ更新
表示 仮想マシンの一覧表示に表示する列の指定

Hyper-V マネージャーの画面中央にある仮想マシンの一覧で仮想マシンを選択すると、その仮想マシンのメニューが表示されます。

/images/20240126_win11eval_basic/windows-hyper-v-manager-n100-sidebar-win11eval.png
仮想マシンのメニュー

このメニューを使って選択した仮想マシンを管理することができます。メニューについて簡単な説明をつけて一覧にしました。

メニュー 説明
接続 仮想マシンに接続して画面を表示
セッション設定の編集 仮想マシンに接続するときのセッションについて設定(仮想マシン起動中のときに表示)
設定 仮想マシンの設定
停止 仮想マシンを停止
シャットダウン 仮想マシンの電源を切断
保存 仮想マシンの状態を保存して終了
一時停止 仮想マシンを一時停止
リセット 仮想マシンの電源をリセット
チェックポイント 仮想マシンの状態を復元可能なチェックポイントを作成
戻す 仮想マシンの状態を前のチェックポイントから復元
移動 仮想マシン、または、その記憶域を移動
エクスポート 仮想マシンをファイルへエクスポート
名前の変更 仮想マシンの名前を変更

拡張セッションの設定変更方法

仮想マシンへ接続する際は、基本セッションと拡張セッションのどちらかのセッションを使うことになります。拡張セッションの方が便利な機能が使えるので通常はこちらを使います。

使用するセッションの設定については、次の手順で指定できます。

  1. 仮想マシンを起動
  2. Hyper-V マネージャーの操作パネル内にある仮想マシンのメニューの「セッション設定の編集」をクリック

もしくは、次のように仮想マシンのコンテキストメニューから指定することもできます。

/images/20240126_win11eval_basic/n100-win11eval-session-config-menu.png

このメニューを表示する手順は次のとおりです。

  1. 仮想マシンを起動
  2. Hyper-V マネージャーで仮想マシンの状態が実行中となるのを待つ
  3. 仮想マシンを右クリックして表示されるメニューで「セッション設定の編集」をクリック

なお、このとき、仮想マシンの接続画面を表示しているとメニューに「セッション設定の編集」が表示されないので注意してください。

セッション設定の編集をクリックすると、接続画面が表示され、その中にセッション設定のための画面が表示されます。セッション設定画面で「オプションを表示」をクリックすると、追加の設定ができます。オプションにある「今後この仮想マシンに接続するときのために設定を保存」にチェックをつけて「OK」をクリックすると、設定が保存されます。

/images/20240126_win11eval_basic/n100-win11eval-session-config-01.png
オプションを表示した状態のセッション設定画面

ここでは、オプションにある「今後この仮想マシンに接続するときのために設定を保存」にチェックをつけます。また、ホストマシンの n100 のディスクも参照できる設定をするために「ローカルリソース」のタブを表示します。

/images/20240126_win11eval_basic/n100-win11eval-session-config-02.png
ローカルリソースのタブの画面

それから「ローカル デバイスとリソース」の「詳細」をクリックしてローカルリソースの設定画面を表示します。図のように「ドライブ」と、そこに含まれる「Windows (C:)」と「後で接続するドライブ」のチェックを追加して「OK」をクリックします。

/images/20240126_win11eval_basic/n100-win11eval-session-config-03.png
ローカルリソースの設定画面

これで「接続」をクリックすると、Win11Eval へ拡張セッションで接続します。

拡張セッションでの Win11Eval 接続

拡張セッションでの Win11Eval 接続ができたら、Windows の画面が表示されます。「Sign in」をクリックしてサインインしましょう。

/images/20240126_win11eval_basic/n100-win11eval-login-en.png
Windows のサインイン画面(英語)

それから、画面上部に並んでいるアイコンをマウスオーバーして確認しましょう。「基本セッション」と表示されるアイコンがあれば拡張セッションになっています。

/images/20240126_win11eval_basic/n100-win11eval-session.png
基本セッションへ切り替えるためのアイコン

このアイコンは、拡張セッションを使わずに基本セッションで接続する場合にクリックして使うものです。基本セッションで接続していると同じ場所に「拡張セッション」と表示されるアイコンが用意されて置き換わります。もし「拡張セッション」と表示されるアイコンとなっているようなら、それをクリックして拡張セッションでの接続へ切り替えてください。

拡張セッションはリモートデスクトップ機能を内部的に利用しているようなので、それに関する機能を使わずに作業をしたいときは基本セッションを使います。例えば、セーフモードで Win11Eval を起動して設定したい場合などに必要です。

なお、今回は、オプションにある「今後この仮想マシンに接続するときのために設定を保存」にチェックをつけたので、この後の接続は基本的に拡張セッションで接続となります。

拡張セッションでの接続ができるようになったら、Win11Eval の設定をしてみましょう。

日本語の設定

日本語の設定をするには GUI を使うのが確実ですが Hyper-V の仮想マシンでは本格的に使うわけでもないので、ある程度の設定ができていれば良いと割り切ることにします。そのため、PowerShell のスクリプトで設定できる範囲で対応します。

スクリプト

日本語の設定をするための PowerShell スクリプトは次の set-ja-jp.ps1 になります。これを、管理者で実行した PowerShell のターミナル画面で実行することにします。

set-ja-jp.ps1
<#
日本語環境設定用 PowerShell スクリプト

実行例
    PowerShell -File "$HOME\set-locale-ja-jp.ps1"
    PowerShell -ExecutionPolicy Bypass -File "$HOME\set-locale-ja-jp.ps1"
#>
# 言語パックインストール
Install-Language ja-JP
# Time zone タイムゾーンの設定
Set-TimeZone -id "Tokyo Standard Time"
# Region 地域の設定(日本は 122)
Set-WinHomeLocation -GeoId 122
# Language & Region - Windows display language, Windows 表示用言語の設定(ja-JP)
Set-WinUserLanguageList -LanguageList ja-JP -Force
# 日本語 - 言語のオプション - キーボードレイアウトの設定(日本語配列 レジストリ変更)
[string]$Path = "HKLM:\SYSTEM\CurrentControlSet\services\i8042prt\Parameters"
Set-ItemProperty -Path $Path -Name "LayerDriver JPN" -Value kbd106.dll
Set-ItemProperty -Path $Path -Name "OverrideKeyboardIdentifier" -Value PCAT_106KEY
Set-ItemProperty -Path $Path -Name "OverrideKeyboardType" -Value 7
Set-ItemProperty -Path $Path -Name "OverrideKeyboardSubtype" -Value 2
# 現在のユーザーの設定について、ようこそ画面と新しいユーザーへコピー
Copy-UserInternationalSettingsToSystem -WelcomeScreen $True -NewUser $True
# システムで優先される UI 言語の設定
Set-SystemPreferredUILanguage ja-JP
# システムのロケール設定
Set-WinSystemLocale ja-JP
# 再起動
Restart-Computer

スクリプト内で設定している内容についてはスクリプトにあるコメントのとおりです。設定画面のどの項目に該当するのかは、Windows の設定に慣れていないとわからないと思いますが、大体「設定」アプリの「言語と地域」の画面から指定できるものについて、設定しています。

このファイルを n100 マシンのアカウント user001 のホームフォルダーへ置いたとします。これは Win11Eval 仮想マシンの Windows エクスプローラー(Explorer)を使って表示することが出来ます。

/images/20240126_win11eval_basic/set-locale-ja-jp-ps1-en.png
Win11Eval マシンのエクスプローラーで n100 のファイルを表示

ということで、Windows エクスプローラー経由で n100 マシンから set-locale-ja-jp.ps1 ファイルを Win11Eval の C:\Users\User\ フォルダーへコピーすることができます。

ファイルが用意できたら、PowerShell を起動しましょう。次の図のように、タスクバーの虫眼鏡のアイコンをクリックして表示される検索画面で「powershell」と入力すると、PowerShell を起動するためのメニューが表示されます。この中にある「Run as Administrator」をクリックすると、PowerShell を管理者として実行することができます。

/images/20240126_win11eval_basic/powershell-en.png
PowerShell を起動するためのメニュー

管理者として実行する PowerShell の画面が表示できたら、スクリプトを実行してみましょう。ファイルは C:\Users\User\ フォルダーに置いてあるとします。なお、エクスプローラーではフォルダーといいますが、PowerShell のようなターミナルではフォルダーのことをディレクトリーといいます。GUI での操作ではフォルダーと呼びますが、ターミナルでは同じものをディレクトリーと呼ぶので覚えておいてください。

ここで、PowerShell のターミナル画面でスクリプトの実行ができる設定となっている場合は、これをそのまま実行すれば良いのですが、今回用意した仮想マシンでは、スクリプトの実行が許可されていなかったのでエラーとなります。そのため、次のようにして、この制限をバイパスするポリシーを指定しながらスクリプトを実行します。

PowerShell -ExecutionPolicy Bypass -File "C:\Users\User\set-locale-ja-jp.ps1"

これで、基本的な日本語設定がされて、自動的に仮想マシンが再起動します。仮想マシンが再起動すると、ウェルカム画面が日本語に名あります。

/images/20240126_win11eval_basic/n100-win11eval-login.png
Windows サインイン画面(日本語)

サインインすると、メニューが日本語になっていて、日本語入力もできるようになっているはずです。

パッケージマネージャー winget

日本語対応の Windows 評価環境が構築できたら、ソフトウェアをインストールしましょう。

ソフトウェアをインストールするにあたっては、ソフトウェアの管理がしやすくなるパッケージマネージャーを使うのが良いです。ここでは winget というパッケージマネージャーをインストールします。winget は winget.run で公開されています。

ちなみに、今回、使っている n100 マシンでは最初から使えました。次のように、バージョンを確認するコマンドの winget --version を実行して、バージョン情報が表示されたらインストール済みの環境だということになります。

PS C:\Users\User> winget --version
v1.6.3482

また、Win11Eval でも確認したところ、そちらでもインストール済みでした。

なお、winget は Microsoft Store からインストールしたり、PowerShell でコマンドを使ってインストールすることもできます。コマンドを使ってインストールする場合は、次のように Add-AppxPackage コマンドを使います。

Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe

winget はパッケージマネージャーなので、管理対象を示す場合はパッケージという用語を使うので覚えておいてください。アプリとパッケージの用語について区別がよくわからない場合もあるかもしれませんが、ここの winget の説明ではパッケージといったらアプリのことだと考えておいて大丈夫です。

パッケージの一覧

winget を使ってインストールされているパッケージを確認するには winget list コマンドを実行します。

winget list

これで winget を使ってインストールしたパッケージの一覧が表示されるので、それを確認します。

目当てのものを抽出する場合は、少し複雑なコマンドを組み合わせる必要があります。winget コマンドの出力はターミナル上では日本語が正しく表示されるのですが、パイプライン処理をしたりすると文字化けが発生します。

これは、パイプライン処理をするときの文字コードが UTF8 となっていないからなので、次のようにコンソールへの出力時に使用するエンコーディングに UTF8 を使うようにしてから、コマンドを実行します。結果を winget-list.txt へ保存しておけば、そのファイルを使って抽出ができるようになります。

PS C:\Users\User> $TempMyOutputEncode=[System.Console]::OutputEncoding
PS C:\Users\User> [System.Console]::OutputEncoding=[System.Text.Encoding]::UTF8
PS C:\Users\User> winget list > winget-list.txt
PS C:\Users\User> [System.Console]::OutputEncoding=$TempMyOutputEncode

出力結果には処理の進行を示すための関係がない行が含まれますが、それについては無視して構いません。

このファイルからテキストを抽出するには Select-String コマンドを実行します。このコマンドへ -Pattern オプションをつけ、値として抽出条件を指定します。

Select-String -Pattern <抽出条件>

抽出条件については色々な指定ができますが、ここではキーワードを含む抽出をする場合についてのみ説明します。キーワード を含む文字列を抽出するには .*キーワード.* を抽出条件として指定します。キーワード の前後につけている .* は「任意の文字の繰り返し」という意味なので、これで「キーワードを含む文字列」という抽出条件となります。

例えば「Windows ターミナル」を抽出する場合で、ターミナル をキーワードとするなら、次のようにします。

PS C:\Users\User> cat .\winget-list.txt | Select-String -Pattern .*ターミナル.*

Windows ターミナル (略)Microsoft.WindowsTerminal    1.18.3181.0   winget

他のパッケージについても同じようにしてインストールされているか確認すると良いでしょう。

ちなみに winget list の結果を UTF-8 のテキストファイルへ保存するものは、コマンドを忘れてしまったときのためにスクリプト winget-list.ps1 として用意しておくと良いでしょう。

$TempMyOutputEncode=[System.Console]::OutputEncoding
[System.Console]::OutputEncoding=[System.Text.Encoding]::UTF8
winget list > winget-list.txt
[System.Console]::OutputEncoding=$TempMyOutputEncode

パッケージの更新

winget で管理しているパッケージについて更新するには winget upgrade コマンドを使います。--all オプションを指定すると全パッケージについて更新することができます。

winget upgrade --all

指定したパッケージだけ更新するということも出来ます。その場合はクエリをコマンドへ指定します。クエリにはパッケージの ID、名前といったものを指定できます。なお、クエリに指定された文字列については、大文字小文字の区別はされません。

winget upgrade <クエリ>

パッケージの検索

パッケージの検索をするには、winget search コマンドを使います。検索キーワードをクエリとして指定すると、それに一致するパッケージの一覧が表示されます。

winget search <クエリ>

例えば、Windows ターミナルアプリを検索するために、クエリに「windows terminal」を指定して実行するには、次のようにします。

winget search "windows terminal"

これを実行すると、次のような結果となります。

PS C:\Users\User> winget search "windows terminal"
'msstore' ソースでは、使用する前に次の契約を表示する必要があります。
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
ソースが正常に機能するには、現在のマシンの 2 文字の地理的リージョンをバックエンド サービスに送信する必要があります (例: "US")。

すべてのソース契約条件に同意しますか?[Y] はい  [N] いいえ:

契約条件への同意を求められるので、「Y」と入力して「Enter」を入力すると先に進みます。すると、次のように検索キーワードにヒットしたパッケージの一覧が表示されます。

(略)
すべてのソース契約条件に同意しますか?[Y] はい  [N] いいえ: Y  ← Y と入力
名前                     ID                                バージョン  ソース
-------------------------------------------------------------------------------
Windows Terminal         9N0DX20HK701                      Unknown     msstore
Windows Terminal Preview 9N8G5RFZ9XK3                      Unknown     msstore
Windows Terminal         Microsoft.WindowsTerminal         1.18.3181.0 winget
Windows Terminal Preview Microsoft.WindowsTerminal.Preview 1.19.3172.0 winget

ここで得られた情報を使って winget install コマンドでパッケージをインストールすることができます。

なお、パッケージの詳細を知りたいときは、 winget show コマンドを使います。詳細を知りたいパッケージの名前などの情報をクエリとして指定します。クエリの大文字小文字は区別されません。

winget show <クエリ>

例えば Windows ターミナルの情報を表示するには、クエリへ「windows terminal」を指定します。

PS C:\Users\User> winget show "windows terminal"
複数のパッケージが入力条件に一致しました。入力内容を修正してください。
名前             ID                        ソース
--------------------------------------------------
Windows Terminal 9N0DX20HK701              msstore
Windows Terminal Microsoft.WindowsTerminal winget

このように複数のパッケージがヒットした場合は、--id オプションで ID による指定をすると絞り込めます。

PS C:\Users\User> winget show --id Microsoft.WindowsTerminal
見つかりました Windows Terminal [Microsoft.WindowsTerminal]
バージョン: 1.18.3181.0
公開元: Microsoft
発行元 URL: https://www.microsoft.com
発行元のサポート URL: https://github.com/microsoft/terminal/issues
作成者: Microsoft
モニカー: terminal
(略)
  依存関係:
    - パッケージの依存関係:
        Microsoft.UI.Xaml.2.8 [>= 8.2306.22001.0]

それでは、この後に使う各ソフトウェアについて説明とインストール方法の紹介をします。

パッケージのインストール

今回、筆者の手元にある Windows では、すでにインストールされているものもありますが、インストールされていない環境でも大丈夫なように必要なパッケージのインストール方法について説明します。

Windows ターミナル

Windows ターミナルは、Microsoft が開発したターミナルエミュレーターです。Powershell、コマンドプロンプト、Linux のシェルなど、さまざまなターミナルアプリケーションを統合して利用することができます。

Windows ターミナルは、次の特徴を備えています。

  • さまざまなターミナルアプリケーションを統合して利用可能
  • 優れたカスタマイズ性
  • 高いパフォーマンス

Windows でターミナルを使いたい場合は、用途によって使いたいターミナルが変わります。そして、色々なターミナルを使っていると、ターミナルの画面が複数表示されて整理しにくい状態になっていることに気がつくことが多くなります。そういったときに、Windows ターミナルを使うと、画面の整理がしやすくなって便利なのです。

winget install コマンドを使って Windows ターミナルをインストールするには、オプションに --exact--id を指定するのが確実です。--exact はパッケージを検索するときに完全一致を使用します。--id には winget search で検索した時に確認したパッケージの ID を指定します。具体的には次のようにします。

winget install -e --id Microsoft.WindowsTerminal

PowerToys

Windows PowerToys は、Microsoft が開発しているオープンソースのユーティリティソフトウェアです。Windows の機能を拡張し、カスタマイズして、生産性を向上させることを目的として開発されています。

PowerToys には、次の機能が含まれています。

  • FancyZones:複数のウィンドウを簡単にレイアウトできる機能
  • File Explorer Preview:ファイル エクスプローラーで画像、ビデオ、 PDF などのファイルをプレビューできる機能
  • PowerRename:ファイル名を一括で変更できる機能
  • Shortcut Guide:キーボード ショートカットを簡単に確認できる機能

PowerToys の検索をするには次のコマンドを実行します。

winget search powertoys

実際に実行すると次のようになります。

PS C:\Users\User> winget search powertoys
名前                ID                          バージョン 一致           ソース
---------------------------------------------------------------------------------
Microsoft PowerToys XP89DCGQ3K6VLD              Unknown                   msstore
PowerToys (Preview) Microsoft.PowerToys         0.77.0                    winget
EverythingPowerToys lin-ycv.EverythingPowerToys 0.77.0     Tag: PowerToys winget

msstore をソースとするものとするか、winget をソースとするプレビュー版とするか、悩ましいところです。ただし、バージョンが 1.0 に達していないことから、このソフトウェアの安定リリースはまだ出ていないと考えて良さそうです。

ということで、ここでは winget をソースとするプレビュー版を使うことにします。PowerToys をインストールする具体的なコマンドは次のようになります。

winget install -e --id Microsoft.PowerToys

PowerShell

PowerShell は、Microsoft が開発したコマンドラインシェルです。このシェルで動作するスクリプトのことを指すこともあります。Windows に標準で搭載されていて、Windows の管理や開発に広く利用されています。Windows コマンドプロンプトよりも強力で柔軟な機能を備えていて、Windows のリソース操作もできるため、システム管理や開発に必要な作業を効率的に行うことができます。

PowerShell については、すでに使ってみているので、どういったアプリなのかはわかるかと思います。ここで、使っているときに気がついたかと思いますが、Windows にインストールされているものは、実は古いバージョンなので、新しいバージョンのインストールをするように推奨するメッセージが表示されます。ですから、ここでは新しいものをインストールします。

それでは winget search で検索してみましょう。

winget search microsoft.powershell

これを実行すると、次のような結果になります。

PS C:\Users\User> winget search microsoft.powershell
名前               ID                           バージョン ソース
------------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.4.1.0    winget
PowerShell Preview Microsoft.PowerShell.Preview 7.4.0.101  winget

通常版をインストールするには次のようにします。--source は検索結果の「ソース」にあるものを指定するときに使うオプションです。こういったオプションもあるということで使用例として提示してあります。検索結果では、ID が同じでソースが別というものがなかったので、--source は指定せずに --id の指定だけでも大丈夫です。

winget install --id Microsoft.Powershell --source winget

もしプレビュー版をインストールしたいのであれば、次のようにします。

winget install --id Microsoft.Powershell.Preview --source winget

インストールを実行すると、アプリがデバイスへ変更を加えることを確認する画面が表示されるので「はい」をクリックして進めます。

/images/20240126_win11eval_basic/powershell-install-01.png
PowerShell アプリがデバイスへ変更を加えることを確認する画面

すると、PowerShell 7 (x64) のアプリが使えるようになります。

Windows のスタートから「すべてのアプリ」をクリックして「アプリの一覧」を表示すると「PowerShell 7 (x64)」が追加されているはずです。こちらの PowerShell 7 (x64) を起動すると、新しい PowerShell が使えるようになります。

/images/20240126_win11eval_basic/powershell-install-02.png
アプリの一覧にある PowerShell 7 (x64)

以上で、Hyper-V の仮想マシンにインストールした Windows 11 評価版の日本語化と、基本的なソフトウェアのインストールができました。

Discussion