Windows 11 NAS
古いWindows 10 ProマシンをWindows 11 ProにアップグレードしてNASとして利用します。Windows 10のHDDはMBRフォーマットでしたのでGPTフォーマットのSSDに移行しました。
しばらく利用しない時はリモートからスリープさせます。利用する際にはリモートからWake on LANで起動します。
私の持っている外付けディスクケースは電源連動のさせ方が少し複雑でしたが設定することにより安定して動作するようになりました。
環境
- Windows 10 Pro
- 外付けディスクケースLHR-4BNHEU3
Windows 10パーティションの移行
MBR HDD上のWindowsシステムパーティションをGPT SSDのパーティションに移行します。
HDDのWindowsパーティションサイズを変更
パーティションを移動しやすいようにLinuxのgpartedでWindows 10のシステムパーティションを適当なサイズに縮小します。(例えば60,000MiB)
NTFSパーティションのコピーにCloneZillaを使う場合は不要な操作と思います。
Windowsパーティションの修復
一旦、Windowsでディスクを修復しておきます。(重要)
Windowsからは中身が正常に見えますがLinuxでは中身が参照できないという状態を回復できます。
SSDをGPTフォーマット
LinuxのgpartedでSSDをGPTフォーマットして各パーティションを作成
- EFI用
fat32/1000MiB - Windows用
ntfs/60000MiB
Windowsパーティションのコピー
HDDのパーティションをSSDのパーティションにコピー
sudo dd if=/dev/sdbX of=/dev/sdaX bs=4M status=progress |
パーティションの拡大
gpartedでSSDのWindowsシステムパーティションを拡大
Windows 10のUEFIブート設定
EFIパーティションの構築
Windows 10 インストーラディスクでブートしてトラブルシュートからコマンドプロンプトを実行
- EFIパーティションにドライブ文字Nをマッピング
diskpart
nはディスク番号(例: 0)、mはEFIパーティション番号List disk
select disk n
list volume
select volume m
assign letter=N:
Exit - ドライブNをfat32でフォーマット
format N: /FS:FAT32
- ブートマネージャの設定
bcdboot C:\windows /s N: /f UEFI
- ブートローダの修復エラーがでないことを確認
bootrec /fixboot
確認
BIOSの設定をUEFI起動に切り替えてWindows 10が起動できることを確認
Windows 11にアップグレード
- Windows 10で起動してWindows 11 インストーラISOをマウント
- インストール実行インストール中、1つ目の「個人用ファイルとアプリを引き継ぐ」を選択するとエラーがでたので2つ目の「個人用ファイルを引き継ぐ」を選択(アプリはひきつがない)
setup /product server
ディスクケースとPCの電源連動
ディスクケース側の電源連動モード設定
- LHR-4BNHEU3のSYNCボタンを3秒間押して電源連動スリープ機能を有効に設定
電源連動 LED(SYNC)がオレンジになることを確認 - パソコンが電源オフ/スリープになるとディスクケースがスリープ状態になります。
Windows側の電源管理設定
- デバイスマネージャから「ユニバーサルシリアルバスコントローラー」の下の「USB大容量記憶装置」のプロパティで「電源管理」タブの「電力の節約のために、コンピュータでこのデバイスの電源をオフにできるようにする」をオフ
Windowsの自動スリープ抑止
電源設定
スリープ状態になるまでの時間を「なし」に設定
無人スリープタイムアウトの設定
- 無人スリープタイムアウトの設定項目表示
powercfg -attributes SUB_SLEEP 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 -ATTRIB_HIDE
- 電源オプションの「システム無人スリープタイムアウト」で2分→0分
モダンスタンバイの状態確認
- Windowsの電源設定を確認「スタンバイ(S0 低電力アイドル)」が利用できない状態であることを確認
powercfg /a
Wake on LAN
サーバ
UEFI設定のブートメニューでWake on LANを有効化
クライアントWindows
- インストール
winget install --id DarkfullDante.wol
- 実行
wol -m="XX:XX:XX:XX:XX:XX"
クライアントUbuntu
- インストール
sudo apt install wakeonlan
- 実行
wakeonlan wakeonlan XX:XX:XX:XX:XX:XX