目次
Windows
セットアップ
オフラインのアカウントというのを選択する.
windows update
- スタートボタン → 設定(歯車マークのやつ) → 更新とセキュリティ → Windows Update
- インストールする
画面解像度の設定
- デスクトップで背景を右クリック → ディスプレイ設定 → 拡大縮小とレイアウト
電源周りの設定
やるべし
- スタートボタン → 設定(歯車マークのやつ) → システム → 電源とスリープ
→ 関連設定-電源の追加設定 → 電源ボタンの動作を選択する → 現在利用可能ではない設定を変更します → 高速スタートアップを有効にする(推奨) のチェックボックスを外す
エクスプローラの設定
- エクスプローラを開く
- コマンドバーの「表示」をクリック
- ファイル名拡張子 と 隠しファイル にチェックを入れる
PowerShellを管理者権限でタスクバーにピン止め
- PowerShellを開く
- タスクバーにあるPowerShellアイコンを右クリックして「タスクバーにピン留め」
- エクスプローラからホームディレクトリの
AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBarに行く Windows PowerShellを右クリックして「プロパティ」- 「ショートカット」「詳細設定」 → 「管理者として実行」にチェックを入れる
- OK して 適用 して OK
WSL2 のインストール
- PowerShell を管理者権限で立ち上げ
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- PowerShell を閉じて Windows を再起動
- PowerShell を管理者権限で立ち上げ
wsl --set-default-version 2
- WSL2 を実行するには、カーネルコンポーネントの更新が必要です.と出たら
WSLインストールガイドにある https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi をダウンロードして実行する.
-
- または Microsoft Store を使わない方法もある https://docs.microsoft.com/ja-jp/windows/wsl/install-manual#downloading-distros
-
- wsl.exe か bash.exe か distroつまりubuntu かの3つの方法で WSL が起動できる.
- どう違うか…
- distro は Metro APP という形式のため、旧来の DeskTop APP と比べ使い勝手が悪い。
- 可能なら distro のインストールは wsl.exe のインストールコマンドからやるのが良いだろう。
windows terminal
- Microsoft Store から入れる
- または https://docs.microsoft.com/ja-jp/windows/terminal/get-started github から入れることができる
プロダクトキーの確認
- 管理者権限 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'' 効かない問題
/etc/resolv.confで解決する場合 : https://zenn.dev/ekuinox/articles/520500939e5242a6393c- /etc/wsl.conf
[network] generateResolvConf = false
- コマンドプロンプトで
wsl –shutdown - 次の行を追加
- /etc/resolv.conf
nameserver 8.8.8.8
resolv.confがリンクファイルになっている場合は消して上記の行だけを書き込んだファイルを作る - コマンドプロンプトで
wsl –shutdown
- その他の解決方法 : https://github.com/microsoft/WSL/issues/5437
.wslconfigのswapを0にすると解決する?
Windowsアップデートができない問題
- MBR と GPT でのインストールでの違い
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
クリーンインストール
- リカバリメディアを挿して起動
最新のバージョン
- https://www.microsoft.com/ja-jp/software-download/windows10 にアクセスしてアップデートツールをダウンロード
Windows 11
Windows 10 環境で Windows 11 もデュアルブートしたいとき
対応チェック
- スタートメニューから「PC正常性チェック」を検索して開く。
- 「今すぐチェック」を押すと対応しているか確認できる。
パーティションの作成
- スタートメニューから 「ディスクの管理」を開いて
- Cドライブで右クリック → 「ボリュームの縮小」 で新しく場所を作る
インストールメディアの作成
- USB を挿しておく
- インストールメディア作成ツールをダウンロードして実行
インストール
- インストールメディアを挿しっぱなしで起動すればインストール画面が出てくる
- カスタム:インストール場所を選べる
オフラインアカウントの作成
- インストール後、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 を使ってインストールするものが多いが、ほとんどうまくいかなかった。 うまくいったのは以下。
-
- 以下の二つのファイルをダウンロードして、中身の dll を 5個、 tmux.exe 1個を
/c/'Program Files'/Git/usr/bin/に入れるだけ。 - 管理者権限で開いた bash で作業すればよい。
Windows の小ネタ
タブグループについて
Chrome などでウィンドウを二つ作って左右に配置したとき、タブグループになる。 タブグループはタスクバー(通常は画面下部)のアイコンをホバーしたときに通常のウィンドウと並列で表示される。 つまり、ホバー時に出てくるウィンドウが重複している状態になってしまう。 これだとウィンドを選んで「これじゃなかった。これかな?」と選択しなおすときに何度もミスするので邪魔である。
設定からシステム→マルチタスク→ウィンドウのスナップ→「タスクビューのタスクバーアプリの上に…」をオフにする。
