その2：「PCのリフレッシュ」 個人ファイルを保持したままOS再インストール Windows 8.xは「個人ファイルを保持したままOSを初期状態に戻す」というリフレッシュ機能を備えている。この機能は、デバイスドライバやデスクトップアプリなど、ユーザーがインストールしたものは基本的に削除されるもの。 本誌の読者は、「そうした（中途半端な）機能を使うより、普通に再インストールする」という人が多そうだが、自分のPCはともかく、他人のPCをメンテナンスする際には「一つの手」として覚えておくと便利だ。……とはいうものの、自分が使わない機能はわからないと思うので、ざっと概要を説明したい。 右図は実行時の流れをまとめたものだが、基本的にはユーザーデータなどをバックアップした後に、回復パーティションにあるイメージファイルを展開。レジストリに格納した設定を適用してからOSを入れ替え、バックアップデータの復元を行うというものだ。バックアップ対象となるのは「%USERPROFILE%」フォルダー(%USERPROFILE%\AppDataフォルダーは除く)や、ルートフォルダーにユーザーが独自作成したフォルダーやCドライブ(OS用パーティション)以外のフォルダー、そしてファイル履歴のバージョン管理データとなる。 逆に「%ProgramData%」「%ProgramFiles%」「%ProgramFiles(x86)%」「%SystemRoot%」フォルダーはすべてリフレッシュするため注意が必要だ。ただし、「Windows.old」フォルダー下には、%ProgramData%フォルダーがC:\Windows.old\ProgramDataフォルダーという形で残るため、ここから各フォルダー下のファイルをサルベージすることもできる。 所要時間はSSDを搭載したノートPCで約1時間、念のため仮想マシン上でも測定したが1時間半未満。 これは実機は多くのユーザーファイルやデスクトップアプリをインストールしていたため、バックアップなどの処理に時間を要したと思われる。

その3：「記憶域」 高機能なソフトウェアRAID 当初この日本語訳を目にした時、筆者はピンと来なかった。英語では「Storage Spaces」という名称を持つ本機能は、文字どおりストレージ空間を独自に作成する仮想ストレージシステムである。PCに接続した物理ディスクを「記憶域プール」でプール化し、「記憶域スペース」にある仮想ディスクを使用するという仕組みだ。RAIDやLVM(Logical Volume Manager)に類似していると述べると分かりやすいだろう。 使用できるのはストライピング(RAID 0: 複数のストレージにデータを分散させる)処理を行う「シンプル」、ミラーリング(RAID1: 複数の物理ディスクに同じデータをコピーする)処理を行う「双方向ミラー」、「3方向ミラー」の場合は5台以上の物理ディスクにデータを格納するため、RAID 6と説明すべきだろう。そして「パリティ」はRAID 5と同じくパリティを分散して記録する。平たく述べれば、記憶域はMicrosoft製RAIDシステムなのである。 基本的に記憶域はソフトウェアRAIDと同等のため、M/B(マザーボード)にRAID機能が備わっている場合、メリットを感じないかもしれない。だが、各ベンダーの独自UIではなくWindowsの統一したUIで管理できるのはメリットに数えていいのではないだろうか。蛇足だが筆者は以前Windows Server 2012で記憶域スペースを作成していたが、サーバーPCを廃棄後にそのままHDDをWindows 8.1 PCに接続したところ、そのまま記憶域スペースからファイルのサルベージが可能だった。この点もM/BのRAID機能に対する優位な点である。

その4：ISO/VHDの直接マウント ISOはリムーバブルメディアとして、VHDならHDDとして OSやアプリケーションのインストールメディアとしてISO(イメージ)ファイル(厳密にはISO-9660およびISO-13346)を使う場面は多い。一昔前はCD/DVD-Rメディアへ書き込むか、対応するアプリケーションで仮想ドライブにマウントしていたことを思い出す方も少なくないだろう。Windows 7もISOファイルを書き込む機能を備えていたが、Windows 8.xはISOファイルを直接マウントする機能を備えている。 上図のようにダブルクリック1つでマウントし、コンテキストメニューなどからアンマウントできるが、バックグラウンドでは、Microsoft仮想DVD-ROMドライブを有効にしてISOファイルの読み込みを行う仕組みだ。 仮想HDDであるVHD(Virtual Hard Disk)ファイルの扱いもWindows 8.xで変化している。こちらもダブルクリック1つでマウントできるが、ISOファイルをリムーバブルディスクとして扱うのに対して、VHDファイルは新たなHDDとしてマウントする。さらにVHDを拡張したVHDXを使えるのもWindows 8.x以降から。最大64TB(VHDは2GB)までの容量とメタデータの二重化などによる耐障害性の向上といった特徴を持ち、さらに使いやすくなっている。

その5：「高速スタートアップ」 よくWindows 8.xは起動が速いと言われている。その理由はWindows 8から実装した「高速スタートアップ」の存在だ。端的に述べるとシャットダウン時に作成した休止状態ファイルを再起動時に利用し、OSの初期化として行うカーネルやデバイスドライバー、その他のシステムコンポーネントファイルの展開を省くことで、スタートアッププロセスに要する時間を軽減している。 上図はWindows 7とWindows 8.1のスタートアッププロセスを図にしたものだが、POST(Power On Self Test)を終えてブートローダーが起動すると、Windows 7はカーネルなどのメモリー展開が始まる。 高速スタートアップはシャットダウンプロセスで作成したハイバネーション(休止状態)ファイルをロードし、その後ドライバーの初期化にプロセスが移る仕組みだ。この初期化はACPI S4(ハイバネーション)からの復帰に類似し、そのままサインインやエクスプローラーの起動という流れになる。 他方、高速スタートアップの使用はデメリットにつながるのも事実だ。Microsoftもデバイスドライバーやアプリケーションなどに悪影響を及ぼす可能性を否定していない。例えば外付けHDDに保存したファイルが消失してしまうという問題がある。これはWindows 7とWindows 8.xはLFSのバージョンが異なるために発生する現象だ。 Windows 8.xは今まで以上にログファイルのI/Oカウントを減らすため、LFSを1.1から2.0にバージョンアップしているが、以前のWindows(NTFS)と互換性がないため、Windows 7とWindows 8.xと異なる環境に外付けHDDを接続すると、上記のトラブルに遭遇してしまう。もっとも外付けHDDの取り外しポリシーを「クイック削除」で運用すれば、問題は発生しないので安心してほしい。なお、この問題に関してはTechNet(英語)で詳しく説明されているので、興味のある方ご一読頂きたい。

その6：「セキュリティ」 よくWindows 8.1を指して「UIを変更したにすぎない」という評価を耳にするが、それは大きな間違いだ。 Microsoftは2002年1月から「Trustworthy Computing」という方向性を打ち出し、セキュアなOS・ソフトウェアの開発に取り組んでいる。下図は日本マイクロソフトが2014年9月に開催した発表会で示した、各製品のセキュリティ進化をまとめたスライドだ。 漠然と「セキュリティ」といわれてもなんだかわからないと思うが、例えば、アプリケーションでのメモリの使われ方を強制的にランダム化することで、特定アドレスに対する攻撃を防ぐASLR(アドレス空間配置のランダム化)の適用範囲を増やしたり、“DEP(データ実行防止)の強化”などといった数多くの改善が施されている。

その7：「セキュアブート」 セキュリティ対策の見直しが重視される昨今だが、Windows 8.xが持つアドバンテージの1つに「セキュアブート」がある。ファームウェアやbootコード、Windowsのカーネルなど対する改ざんを未然に防ぐため、UEFI OSローダーやカーネル、デバイスドライバーに埋め込んだ署名を検証し、その上でローディングするという仕組みだ。 ただし、厳密に述べるとセキュアブートが指すのはUEFIブートのみである。[日本語訳の資料](https://msdn.microsoft.com/ja-jp/library/hh824987.aspx)でもセキュアブートという呼称を用いているが、ブートローダーからサードパーティ製ドライバーの読み込み前までは「トラステッド(信頼された)ブート」という呼称を用いている。また、下図にあるELAMは「Early Launch Anti-Malware」の略称で、すべてのデバイスドライバーを読み込む前にテストを行うプロセスだ。 このようなプロセスを持つセキュアブートは、一部のGPUやOSをインストールする際の弊害となるのも否めない。その際は「UEFIファームウェアの設定」などからM/BのBIOS/UEFIメニューを呼び出し、セキュアブートを無効にすればよい。

その8：「Hyper-V」 Windows 7まではXPモード(Windows Virtual PC+Windows XP Service Pack 3)を提供していたが、Windows 8以降はハイパーバイザ型である「Hyper-V」を実装している。 ちなみにこれはWindows ServerのHyper-Vのサブセット版にあたるため、Windows 8.xは“クライアントHyper-V”と称することが多い。もちろん仮想環境を使うためには一定以上のハードウェアスペックや、CPUが仮想化テクノロジー(Intel VTもしくはAMD-V)に対応、64ビット版のWindows 8.1 Proを選択しなければならないが、本誌読者であれば、大きな問題にはならないだろう。 Windows 8.1のHyper-VはホストPCとゲストPC間の連係機能を改善し、ファイルのやり取りやクリップボードの共有、オーディオ再生といった機能を実現した。ただし、これらの恩恵を受けるには拡張セッションモードという接続形式を用いるものの、ゲストOSはWindows 8.1、Windows Server 2012 R2に限られる。それでもUSBデバイスのリダイレクト機能などを備え、VMware Playerなど他の仮想化環境と見比べるレベルに達したと述べても過言ではないだろう。