goods and life +

Windows と「fast-boot」を有効にしたブートについて

Linux と Windows のデュアル ブート マシンの話
Linux と Windows 10, 11などの最近の Windows を搭載したデュアル ブート マシンを使用していて、Linux で起動させた時に intel製 Wi-Fiデバイスの初期化中に問題が発生し始めた場合、たいていその原因が Windows の「高速スタートアップ(fast-boot)」機能である可能性、という、よくわからないしがらみみたいな既知の問題があったりします。
まあそれは置いといて…


Windows の「高速スタートアップ(fast-boot)」機能ってなんじゃ?

高速スタートアップ機能の無効化時と有効時では Windows起動プロセスが異なる

高速スタートアップ無効化時の起動プロセス
電源入→BIOS起動→OSの起動・デバイスの初期化→ログイン→デスクトップ画面表示

高速スタートアップ有効時の起動プロセス
電源入→BIOS起動→ hiberfil.sys 読み込み→ログイン→デスクトップ画面表示


hiberfil.sys の働きはメリットもあるけどデメリットもあるし、foolproof になっていないじゃ?
「高速スタートアップを有効にする(推奨)」は推奨になっています。
もしチェックが入っていても無問題の人は、入ったままでもぜんぜんいいとは思いますけど、個人的にはあんまり推奨されたくはない感じ。
そもそも HDD ではなく SSD、NVMe が起動ディスクなら、起動の高速化への貢献なんて無いに等しくほとんどたいした意味がない。

むしろ、何かあったらここを疑ってみてもいいんじゃないかって感じで。
別にオフにしたからって特に起動が遅くなるなんてこともないですしね、せいぜいローディングの白いクルクルが 2〜3回転分くらい余分に回るのが関の山で、そんなことより、起動時の不要な読み込みや起動後の不要なバックグランドを全部切りにするなど、リソースの配分を自分の意図でコントロールしたほうが使い心地はスッキリするかと。

Windows の「高速スタートアップ」機能を有効にしていると、Windows はシャットダウン後のマシンを次回起動時により速く起動できるように、メモリーや CPU の状態を保持したり、部分的に何かを「実行したままのような状態」にしておいてシャットダウンしていたりします。
HDD の場合スタートアップが速くなる一方で、そもそも、Windows の「高速スタートアップ」機能は以前から休止状態やシャットダウンが失敗する原因でもあるわけです。
SSD、NVMe が起動ディスクなら、今時はもう意味がありません。

で、有効にしていると、とかいいますけど、厄介なことに、たぶん自分で有効にした記憶がないはずで、おそらく Windows 11 など普通にインストールして、何もしていなくてもはじめからこのチェックマークが入になっているんじゃ?

高速スタートアップ機能の有効時には、シャットダウン時に hiberfil.sys にコンピュータの状態を保存しておき、起動時にその hiberfil.sys を呼び出すようにするため、環境によってはシャットダウンに余計めに保存時間がかかる場合があり、起動時には BIOS設定を開けなくもなり、Windowsアップデートが正常に行われないケースもあり、起動時のハードウェアの構成を前回の終了時からちょっと変更していると不具合が発生することがありますね。(そうならない場合もありますよ)

「ハードウェアの構成を変更して不具合」といっても、なにも大物パーツの交換や取付や増設とかではなくて、たまたま USBポートに何かをつなげたり、あるいはそれを外したり、違うものを取り付けたりしたなど、とにかく「前回の終了時とは同じ環境ではなくなっている状態」で起動しようとして、呼び出す内容とちょっと違うため、それが元でちゃんと起動することができなかったり、つないでいる機器がまったく認識されなかったりするなどもありがちです。(そうならない場合もあるので、ややこしいですね)

Winclone なんかで 外付けディスク用の Boot camp フォームイメージのクローンを Mac側で作成中に、Windows パーティションを読み取り/書き込み可能にマウントし、 hiberfil.sys を削除してから云々〜、とかエラーやアラートが出たりするケースも稀にあったりもするわけです。
この場合も、Windows が完全なシャットダウンになっていないことが原因かもしれないので、hiberfil.sys を削除しちゃうわけです。
(Mac で見ても hiberfil.sys は不可視なので、コマンド + shift + . で表示させます)
Pagefile.sys、Hiberfil.sys、Win386.swp、386spart.par、Backup.log、Restore.log などの本質的に一時的なファイルは、もともと Backup によってバックアップも復元もされず、バックアップおよび復元プロセス中にデフォルトでスキップされるものですし、hiberfil.sys を削除してから云々〜、なんて言われた日には、別にビビらずに削除しちゃえばいいんです。(必要ならどのみち後で勝手に生成されてしまいます)


このおせっかいなオプションを無効にする方法
[コントロール パネル] → [ハードウェアとサウンド] → [電源オプション]
「電源ボタンの動作の選択」を選んで、「現在利用可能ではない設定を変更します」の青文字をクリック。(アイコンに管理者マークが付いています)
「シャットダウン設定」の「高速スタートアップを有効にする」オプションのチェックマークを外して機能を無効にし、下のほうにある「変更の保存」を押します。

これで Windows は完全なシャットダウンが可能になり、問題が解決する場合があります。
ここまでやりたくない人はシステム終了時に「shiftキー」を押しながらシャットダウンすれば状態をディスクに格納しないまま電源を切る事が可能な「完全なシャットダウン」となります。
(完全なシャットダウン= MS のいうところのクリーン シャットダウンです。他にもハイブリッド シャットダウンやらフル シャットダウンやら、いろいろややこしいのが Windows)
(ただし、シャットダウン中またはログオフ中に Shift キーを押したままにすると、自動ログオンが無効にならない場合があるので、自動ログオンにしている人は注意)
なにか問題があったわけではないですけど、Windows とデュアルブートの MacPro5,1 でも、この高速スタートアップの無効化をやって以降は、「シャットダウン時にも消えない、けど消したい、でも仕様で消えないはず」と某所で話題の ASUS製のグラボの 8ピンのあたりのうすら青白い給電 LED の無駄な常時発光というか常時点灯も、コンピュータがコンセントに繋いであったとしてもマシンの稼働中以外には点灯せず、シャットダウンすれば毎回ちゃんと消えてくれるようになって気持ちいいです。

こうなると、LED の無駄な常時発光の件を ASUS に問い合わせた結果、仕様だからそれは消えませんと回答されたという話も、ちょっといい加減な回答であるような気もします。
電源を入れてないのに光る仕様って、それは本当なのかと。

高速スタートアップみたいなものが勝手に入りになっていると…
そのマシンは次回起動時に前回終了時と同じ環境、構成でなければいけない暗黙の縛りのようなものができているので、その場合は縛りに従うみたいな儀式的な手順が必要になったりしますよね、ちょっと昔の Mac だとミニDIN4pin の ADB・シリアルケーブルは起動の前にコールドでつないでおく、だとか、SCSI でつながれた外付け HDD の電源は起動させる前に入れておく、みたいな。
まあ儀式のようでいて、読込の都合で実際にはそうしないとダメな理由があるわけですけど。

つい最近もさっきまで使えていた ThunderBolt 3 経由の eGPUボックスの外部GPUでの再起動不能ループでパニクっている有名ユーチューバーの行動を見たような気がします。
で、案の定視聴者は誰も指摘してくれないどころか、機器のせいみたいに語りだすのは言うまでもないので解決しないお約束(笑)
どうしようもないですね。


もしかしたら Windows とデュアルブートの Mac でも効くのかも?
デュアルブートでもトリプルブートでもなんでもいいけど、もしかしたら Windows とデュアルブートの Mac でも、この問題についての解決方法を転用しておけば、予め無駄なトラブルが避けられている可能性があったりするのかもしれない、と思ってやっておきました。
別にブートで不具合とかはないので、実際の効果の程はしらんけど、ASUS製のグラボの 8ピンのあたりの青白い給電 LED の無駄な常時発光なんかはなくなってますね、ただし、因果関係はよくわからない。
けど、実際にそれが回避できるので、メソッドとしては有りかもしれない。

あと、複数のディスクを搭載している Mac で、Windows で起動させている時に、Cドライブ以外のそれらのディスクを Windows環境ではまったく利用しない・させない・していない環境である場合、それらのディスクのプロパティには、おそらく何もしていなくても OS側が気を利かせてはじめから勝手にチェックが入っているかもしれない「ディスクキャッシュとして利用する」機能のチェックも外し、その機能をあえて無効にしておくと、よくわからないしがらみのような無用なアクセスみたいな無駄にいらん関わりだとか、高速スタートアップ機能と同じく次回起動時の予約絡みのなんらかの仕組み発動による謎トラブルも予めなくせておけるのかもね?、と思ったので、これもついでにやっておきました。

別に実際になにか問題が起こっているわけでもないので、それで予め無駄なトラブルが避けられている可能性があったりするのかどうかは不明で、確証やエビデンスもあるわけではないインチキ予防医学みたいなもんですけど、コンピュータだと結果にプラシーボは混じらないので、自己責任でなにかやってみてそれで調子よく問題なく動いて結果オーライなら別にいいんじゃね?って感じで。

ちゃんとやってるはずだけど、MacPro5,1 で普通に使えるはずの Windows なのに、なぜかいろいろ躓いていてどうにも調子がおかしい、って人は、案外「高速スタートアップを有効にする(推奨)」の hiberfil.sys のふるまいあたりが盲点になっているかもしれないですね。
しらんけど。

…というお話しなのさ。


そんじゃあね〜…(´・ω・`)

お買いもの忘れはないですか?

*
*
* (公開されません)

CAPTCHA


※スパム対策のため、日本語を含まない投稿は無視されます。

Return Top