Windowsを起動するたび、こんなイライラを感じていませんか?
「パスワードの数字が入力できない…あ、またNumLockがオフだ」 「テンキーで数字を打とうとしたら、カーソルが動いてしまう」 「なぜ起動時に毎回NumLockがオフになるの?」 「ノートPCでNumLockの設定が保存されない」
実は、Windows起動時のNumLock状態は、複数の要因で決まっており、設定方法も一つではありません。
この記事では、NumLockを起動時に確実にオンにする7つの方法から、トラブルシューティング、機種別の対処法まで、完全網羅して解説します!
NumLockとは:テンキーの2つの顔

基本的な機能
**NumLock(ナムロック)**は、「Number Lock」の略で、テンキー(数字キーパッド)の動作を切り替えるキーです。
NumLock オン:
7 8 9 → 数字の 7 8 9
4 5 6 → 数字の 4 5 6
1 2 3 → 数字の 1 2 3
0 . Enter → 数字の 0 . Enter
NumLock オフ:
7 8 9 → Home ↑ PgUp
4 5 6 → ← (なし) →
1 2 3 → End ↓ PgDn
0 . Enter → Ins Del Enter
なぜ起動時にオフになるのか
主な原因:
1. BIOS/UEFI設定
2. Windowsのレジストリ設定
3. 高速スタートアップの影響
4. キーボードドライバーの仕様
5. ノートPCの省電力設定
6. Windows Updateによる設定リセット
それぞれに対処法があります。順番に見ていきましょう。
方法1:BIOS/UEFI設定(最も確実)
BIOSでNumLockを有効化
手順:
1. PCを再起動
2. 起動時に特定キーを押してBIOS/UEFIに入る
- Dell: F2 または F12
- HP: F10 または Esc
- Lenovo: F1 または F2
- ASUS: F2 または Delete
- MSI: Delete
3. 設定項目を探す:
- Boot → NumLock State
- Advanced → Boot Options → NumLock
- Integrated Peripherals → NumLock
4. 「Enabled」または「On」に設定
5. F10で保存して終了
メーカー別BIOS設定
Dell
BIOS設定:
1. F2でBIOS起動
2. POST Behavior
3. NumLock LED
4. 「Enable NumLock」を選択
HP
BIOS設定:
1. F10でBIOS起動
2. System Configuration
3. Device Options
4. 「NumLock State at Power-On」→ On
Lenovo/ThinkPad
BIOS設定:
1. F1でBIOS起動
2. Config → Keyboard/Mouse
3. 「NumLock」→ Enabled
4. 「NumLock at boot」→ On
ASUS
UEFI設定:
1. DeleteまたはF2でUEFI起動
2. Advanced Mode(F7)
3. Boot → Boot Configuration
4. 「NumLock State」→ On
方法2:レジストリ編集(Windows設定)
レジストリでNumLock状態を制御
⚠️ 注意:レジストリ編集は慎重に行ってください
手動編集方法
1. Win + R → 「regedit」実行
2. 以下のパスに移動:
HKEY_USERS\.DEFAULT\Control Panel\Keyboard
3. 「InitialKeyboardIndicators」をダブルクリック
4. 値を変更:
- 2147483650 = NumLock オン(推奨)
- 2147483648 = NumLock オフ
- 2 = NumLock オン(古い値)
5. PCを再起動
レジストリファイル(.reg)で一括設定
numlock_on.reg を作成:
Windows Registry Editor Version 5.00
[HKEY_USERS\.DEFAULT\Control Panel\Keyboard]
"InitialKeyboardIndicators"="2147483650"
[HKEY_CURRENT_USER\Control Panel\Keyboard]
"InitialKeyboardIndicators"="2147483650"
実行方法:
- メモ帳に上記をコピー
- 「numlock_on.reg」として保存
- ダブルクリックで実行
- 確認ダイアログで「はい」
PowerShellで設定
# 管理者権限で実行
Set-ItemProperty -Path "Registry::HKEY_USERS\.DEFAULT\Control Panel\Keyboard" -Name "InitialKeyboardIndicators" -Value "2147483650"
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Control Panel\Keyboard" -Name "InitialKeyboardIndicators" -Value "2147483650"
方法3:グループポリシー(Pro版以上)
ローカルグループポリシーで設定
Windows Pro/Enterprise/Education版のみ:
1. Win + R → 「gpedit.msc」実行
2. 以下に移動:
コンピューターの構成
→ 管理用テンプレート
→ Windowsコンポーネント
→ Windows ログオン オプション
3. 「Turn on NumLock before logon」を探す
(ない場合は次の方法へ)
4. 「有効」に設定
5. 適用 → OK
スタートアップスクリプトで制御
1. gpedit.msc を開く
2. コンピューターの構成
→ Windowsの設定
→ スクリプト(スタートアップ/シャットダウン)
→ スタートアップ
3. 「追加」をクリック
4. 以下のVBScriptを登録
numlock.vbs:
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{NUMLOCK}"
方法4:高速スタートアップの無効化
Windows 10/11の高速スタートアップが原因の場合
設定手順:
1. コントロールパネル → 電源オプション
2. 「電源ボタンの動作を選択する」
3. 「現在利用可能ではない設定を変更します」
4. 「高速スタートアップを有効にする」のチェックを外す
5. 変更を保存
コマンドで無効化:
# PowerShell(管理者)
powercfg -h off
方法5:スタートアップに登録

起動時に自動実行するスクリプト
バッチファイルで設定
numlock_on.bat:
@echo off
powershell -Command "Add-Type -TypeDefinition 'using System; using System.Runtime.InteropServices; public class KeyBoard { [DllImport(\"user32.dll\")] public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo); public static void NumLock(bool State) { const int VK_NUMLOCK = 0x90; bool NumLockState = (((ushort)GetKeyState(VK_NUMLOCK)) & 0xffff) != 0; if (NumLockState != State) { keybd_event(VK_NUMLOCK, 0x45, 0x1, (UIntPtr)0); keybd_event(VK_NUMLOCK, 0x45, 0x3, (UIntPtr)0); }} [DllImport(\"user32.dll\")] public static extern short GetKeyState(int nVirtKey); }'; [KeyBoard]::NumLock($true)"
自動実行設定:
1. Win + R → 「shell:startup」
2. numlock_on.bat をコピー
3. 次回起動時から自動実行
タスクスケジューラで設定
1. タスクスケジューラを開く
2. 「タスクの作成」
3. 全般タブ:
- 名前:NumLock有効化
- 「最上位の特権で実行する」にチェック
4. トリガータブ:
- 新規 → タスクの開始:ログオン時
5. 操作タブ:
- 新規 → プログラムの開始
- プログラム:numlock_on.bat のパス
6. OK で保存
方法6:サードパーティツール
NumLocker(フリーソフト)
特徴:
✅ インストール不要
✅ 自動起動設定可能
✅ NumLock状態を監視
✅ CapsLock、ScrollLockも制御
使い方:
1. NumLocker.exe をダウンロード
2. スタートアップフォルダに配置
3. 設定で「NumLock = On」を選択
AutoHotkey スクリプト
numlock_force.ahk:
; NumLockを強制的にオンに保つ
#Persistent
SetNumLockState, AlwaysOn
; 5秒ごとにチェック
SetTimer, CheckNumLock, 5000
return
CheckNumLock:
SetNumLockState, On
return
方法7:Windows設定アプリ(Windows 11)
Windows 11の新機能
設定手順:
1. 設定 → アクセシビリティ
2. 「キーボード」
3. 「固定キー機能」セクション
4. 「NumLockキーをオンにする」設定
(一部のビルドのみ)
ノートPC特有の問題と対策
Fnキーとの組み合わせ
NumLockキーがない場合:
一般的な組み合わせ:
- Fn + F11
- Fn + F12
- Fn + Insert
- Fn + Delete
- Fn + F8(一部のDell)
ノートPC用レジストリ設定
Windows Registry Editor Version 5.00
; ノートPC向け設定
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Accessibility\Keyboard Preference]
"On"="1"
[HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response]
"Flags"="126"
トラブルシューティング
設定しても起動時にオフになる
確認事項:
□ BIOS設定を再確認
□ Windows Updateを実行
□ キーボードドライバーを更新
□ 高速スタートアップを無効化
□ サインインオプションを確認
ログイン画面では有効だが、ログイン後に無効
解決方法:
# 両方のレジストリを設定
reg add "HKU\.DEFAULT\Control Panel\Keyboard" /v InitialKeyboardIndicators /t REG_SZ /d 2147483650 /f
reg add "HKCU\Control Panel\Keyboard" /v InitialKeyboardIndicators /t REG_SZ /d 2147483650 /f
特定のユーザーのみ設定したい
# 現在のユーザーのみ
Set-ItemProperty -Path "HKCU:\Control Panel\Keyboard" -Name "InitialKeyboardIndicators" -Value "2147483650"
Windows 10 vs Windows 11の違い
Windows 10
特徴:
- レジストリ設定が効きやすい
- 高速スタートアップの影響大
- BIOS設定優先度が高い
Windows 11
変更点:
- セキュアブートの影響
- 新しいアクセシビリティ設定
- Microsoft アカウント同期
- 設定の保持が改善
機種別クイックガイド
デスクトップPC
推奨設定順:
1. BIOS/UEFI設定
2. レジストリ編集
3. 必要ならスタートアップスクリプト
ノートPC(テンキー付き)
推奨設定順:
1. BIOS設定(あれば)
2. 高速スタートアップ無効化
3. レジストリ編集
4. Fnキーロック確認
ノートPC(テンキーなし)
対処法:
- 外付けテンキーの使用
- ソフトウェアテンキー
- オンスクリーンキーボード
完全自動化スクリプト

全設定を一括で行うPowerShellスクリプト
setup_numlock.ps1:
# 管理者権限で実行
if (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{
Start-Process PowerShell -Verb RunAs "-File `"$PSCommandPath`""
exit
}
Write-Host "NumLock自動有効化設定を開始します..." -ForegroundColor Green
# レジストリ設定
$paths = @(
"Registry::HKEY_USERS\.DEFAULT\Control Panel\Keyboard",
"Registry::HKEY_CURRENT_USER\Control Panel\Keyboard"
)
foreach ($path in $paths) {
Set-ItemProperty -Path $path -Name "InitialKeyboardIndicators" -Value "2147483650" -Force
Write-Host "✓ レジストリ設定: $path" -ForegroundColor Yellow
}
# 高速スタートアップ無効化
powercfg -h off
Write-Host "✓ 高速スタートアップを無効化しました" -ForegroundColor Yellow
# スタートアップスクリプト作成
$startupPath = [Environment]::GetFolderPath("Startup")
$scriptContent = @'
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{NUMLOCK}"
'@
$scriptContent | Out-File "$startupPath\numlock.vbs" -Encoding ASCII
Write-Host "✓ スタートアップスクリプトを作成しました" -ForegroundColor Yellow
Write-Host "`n設定完了!PCを再起動してください。" -ForegroundColor Green
Read-Host "Enterキーを押して終了"
よくある質問(FAQ)
Q1:BIOSにNumLock設定がない
A:
対策:
1. レジストリ設定を使用
2. スタートアップスクリプトで対応
3. BIOSアップデートを確認
Q2:外付けキーボードだけ設定したい
A:
解決方法:
- デバイス固有の設定を使用
- キーボードのハードウェアスイッチ確認
- 専用ドライバーソフトウェア利用
Q3:リモートデスクトップで設定が効かない
A:
対処法:
1. ローカルとリモート両方で設定
2. RDPクライアントの設定確認
3. グループポリシーで制御
Q4:設定が勝手にリセットされる
A:
原因と対策:
- Windows Update → 再設定
- ドライバー更新 → 設定保護
- セキュリティソフト → 除外設定
まとめ:最適な方法を選んで快適な入力環境を
NumLockの起動時設定は、環境によって最適な方法が異なります。
おすすめの優先順位:
✅ まず試すべき方法
- BIOS/UEFI設定(最も確実)
- レジストリ編集(Windows設定)
- 高速スタートアップ無効化
✅ それでもダメなら 4. スタートアップスクリプト 5. タスクスケジューラー 6. サードパーティツール
✅ 機種別の注意点
- デスクトップ:BIOS設定優先
- ノートPC:Fnキー設定も確認
- 企業PC:グループポリシー活用
✅ トラブル時の確認
- Windows Update後は再設定
- キーボードドライバー更新
- 複数の方法を組み合わせる
一度設定すれば、毎日の小さなストレスから解放されます。
この記事を参考に、あなたの環境に最適な設定を見つけてください!
No More NumLock Frustration! ⌨️🔢
クイック設定コマンド(コピペ用):
:: quick_numlock.bat
@echo off
reg add "HKU\.DEFAULT\Control Panel\Keyboard" /v InitialKeyboardIndicators /t REG_SZ /d 2147483650 /f
reg add "HKCU\Control Panel\Keyboard" /v InitialKeyboardIndicators /t REG_SZ /d 2147483650 /f
echo NumLock設定完了!再起動してください。
pause
コメント