yuuho.wiki

カオスの欠片を集めて知恵の泉を作る

ユーザ用ツール

サイト用ツール


tips:windows:start

Windows

セットアップ

オフラインのアカウントというのを選択する.

windows update

  • スタートボタン → 設定(歯車マークのやつ) → 更新とセキュリティ → Windows Update
  • インストールする

画面解像度の設定

  • デスクトップで背景を右クリック → ディスプレイ設定 → 拡大縮小とレイアウト

電源周りの設定

やるべし

  • スタートボタン → 設定(歯車マークのやつ) → システム → 電源とスリープ
    → 関連設定-電源の追加設定 → 電源ボタンの動作を選択する → 現在利用可能ではない設定を変更します → 高速スタートアップを有効にする(推奨) のチェックボックスを外す

エクスプローラの設定

  • エクスプローラを開く
  • コマンドバーの「表示」をクリック
  • ファイル名拡張子 と 隠しファイル にチェックを入れる

PowerShellを管理者権限でタスクバーにピン止め

  • PowerShellを開く
  • タスクバーにあるPowerShellアイコンを右クリックして「タスクバーにピン留め」
  • エクスプローラからホームディレクトリの AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar に行く
  • Windows PowerShell を右クリックして「プロパティ」
  • 「ショートカット」「詳細設定」 → 「管理者として実行」にチェックを入れる
  • OK して 適用 して OK

WSL2 のインストール

windows terminal

プロダクトキーの確認

  • 管理者権限 PowerShell で
    wmic path SoftwareLicensingService get OA3xOriginalProductKey

通知欄全表示

「設定」→「個人用設定」→「タスクバー」→「通知領域 タスクバーに表示するアイコンを選択します」 「常にすべてのアイコンを通知領域に表示する」をONに

WSL のディスクサイズ変更

wsl+docker

sudo service docker restart

以下のように ~/.bashrc を書いておけばよい。

.bashrc
docker ps > /dev/null 2>&1 || sudo service docker start

状況確認

wslバージョン確認

wsl -l -v

障害対応

WSL でネットワーク周りの設定がおかしてくて ''apt'' 効かない問題

Windowsアップデートができない問題

vcxsrv

echo “export DISPLAY=¥$(cat /etc/resolv.conf | grep nameserver | awk ‘{print ¥$2}’):0.0” >> ~/.bashrc
source ~/.bashrc
dbus-uuidgen | sudo tee /etc/machine-id

Windows10

クリーンインストール

  • リカバリメディアを挿して起動

最新のバージョン

Windows 11

Windows 10 環境で Windows 11 もデュアルブートしたいとき

対応チェック

  • スタートメニューから「PC正常性チェック」を検索して開く。
  • 「今すぐチェック」を押すと対応しているか確認できる。

パーティションの作成

  • スタートメニューから 「ディスクの管理」を開いて
  • Cドライブで右クリック → 「ボリュームの縮小」 で新しく場所を作る

インストールメディアの作成

インストール

  • インストールメディアを挿しっぱなしで起動すればインストール画面が出てくる
  • カスタム:インストール場所を選べる

オフラインアカウントの作成

  • インストール後、wifi の設定のところで Shift+F10 してコマンドプロンプトで .\oobe\BYPASSNRO.cmd

インストールできないときのBIOS設定について

  • 最新のマシンなのに Windows11 のインストールで躓くことがある。
    • 「セキュアブートをサポートしている必要があります」など警告が出て先に進めない。
    • 対応としては、TPM (Trusted Platform Module) をBIOSで有効にする必要がある。

キーボード設定

ノートPCなど内蔵キーボードが日本語配列で、外付けキーボードが英字配列のことがある。 通常であれば、配列を変更して再起動しないと切り替えられない。

面倒なのでレジストリを書き換えて、両方のキーボードが使用できるようにする。

windows update ごとにキーボード設定が変わってしまうことがある。悲しみ

  • コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
    • 追加= LayerDriver JPN, REG_SZ, kbd106.dll
    • 追加= OverrideKeyboardIdentifier, REG_SZ, PCAT_101KEY
    • 削除= OverrideKyeboardSubtype
    • 削除= OverrideKeyboardType
  • デバイスマネージャー > キーボード > HIDキーボードデバイス > プロパティ > 詳細 > プロパティ > デバイスインスタンスパス
  • コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID
    • VID_5957&PID_0400&MI_00\7&8009e39&0&0000\Device Parameters
      • 追加 KeyboardTypeOverride, REG_DWORD, 4
      • 追加 KeyboardSubtypeOverride, REG_DWORD, 0

結局、日本語配列と英字配列を併用することが何故かできなかったので、完全に英字配列とした。
日本語キーボードのほうがキーが多いのでノートPC本体日本語であれば問題なく使える。
キートップにシールでも貼って対応すべし。

wsl2

PowerShell を管理者権限で起動。スクリプトを実行できるように以下を設定しておく。

Set-ExecutionPolicy RemoteSigned -Force

SSH について

LAN 内のPCから Windows の WSL に直接 ssh接続したい。 ポートのマッピング (Windows の特定のポートに届いたデータを WSL のポートに流す設定)と、 ファイアウォールの解除 (windows マシン外からのアクセスを制御する設定、デフォルトではガチガチ)

# ポートのマッピング状況を確認 (管理者権限 powershell で)
netsh interface portproxy show v4tov4
 
# ポートのマッピングをする
netsh interface portproxy add v4tov4 listenport=22 connectaddress=localhost
# localhost ではなく wsl -e hostname -I で表示された ipアドレスを使うべき(先頭のもの)

ファイアウォールを設定

コントロールパネル、システムとセキュリティ、 Windows Defender ファイアウォール、 ファイアウォールの状態の確認、
詳細設定、受信の規則、新しい規則、ポート、次へ、TCP、特定のローカルポート 22

送信側も何かしないといけないのか?

こっちのほうが洗練されているかも https://zenn.dev/shishimaruwo/articles/f106b12896e2ba

メモ

Get-NetFirewallRule -DisplayName 'WSL 2 Firewall Unlock' | Get-NetFirewallPortFilter | Format-Table
Show-NetFirewallRule | where {$_.LocalPort -eq "22"}
 
# 時間は数分かかるが、 22番ポートを利用しているファイアウォールのルールが確実に表示できる。
Get-NetFirewallRule | Where-Object { (Get-NetFirewallPortFilter -AssociatedNetFirewallRule $_).LocalPort -eq 22 }

未整理

- UWP アプリの起動方法を特定する

Get-AppxPackage |? { $_.Name -like "*Terminal*" } | tee-object -Variable packageMatches

$packageMatches |% {
    $executableName = ((Get-AppxPackageManifest -Package $_.PackageFullName).Package.Applications.Application.Executable)
    if ($executableName) {
        "Start-Process ""$($_.InstallLocation)\$executableName"""
    } else {
        "No executable found"
    }
}

git bash と tmux を windows terminal から使う

web上にある情報は pacman を使ってインストールするものが多いが、ほとんどうまくいかなかった。 うまくいったのは以下。

Windows の小ネタ

タブグループについて

Chrome などでウィンドウを二つ作って左右に配置したとき、タブグループになる。 タブグループはタスクバー(通常は画面下部)のアイコンをホバーしたときに通常のウィンドウと並列で表示される。 つまり、ホバー時に出てくるウィンドウが重複している状態になってしまう。 これだとウィンドを選んで「これじゃなかった。これかな?」と選択しなおすときに何度もミスするので邪魔である。

設定からシステム→マルチタスク→ウィンドウのスナップ→「タスクビューのタスクバーアプリの上に…」をオフにする。

tips/windows/start.txt · 最終更新: 2025/04/01 01:21 by yuuho