戻る目次 、次へ

今こそWinXP

Win7も2020/1/14 に延長サポート期間が終了します。マイクロソフトは、最新の Windows 10 環境への移行を勧めています。移行がスムーズに行われるように多くの動作検証、アップグレードのためのドキュメントも公開しています。移行に関する記事も多数、存在します。それでも移行につまずく方も多いようです。

本記事は、アップグレードによるトラブル、特に直接業務に影響することを心配されている企業の方、いずれかのタイミングでアップグレードをしようと思ったものの、無料アップグレードのタイミングを失してアップグレードができずにいる方、あるいは、アップグレードしたものの、度重なる半強制的な自動更新にまつわる、さまざまな不具合に遭遇して疲弊している方への情報です。

皆さんは Windows に何を期待していますか?多くの人は「いつも通りの操作」で、「いつも通りのアプリケーションが安心して安定的に動く事」だと思います。Windows 10 にアップグレードした方の多くも、「安心して動かすため」とか、特に何も考えずに「サポートが終了するから」という回答だと思います。

本稿では、いつも通りのアプリケーションを安心して安定的に動かすために、Windows10へのアップグレードではなく、「Linuxの上のゲストWinXP」を提案します。


図1 Linux上のブラウザFirefox と WinXP上のテキストエディタmeryを使っているシーン

使い方

・ホストPC(Ubuntu)を起動(実測68秒)して、VirtualBoxを起動(1秒)、ゲストPC(WinXP)を起動(13秒)
・ネットアクセスはLinuxのFirefoxとThunderbird
・その他はWinXPの上で作業

●クリップボードはホスト・ゲストで双方向に利用可能なので、検索結果のコピペはネットにつながったオンラインWinXPとそん色ない使い心地を実現しています!
●ネットコンテンツからウイルスを持ち込まないために筆者は、テキストエディタにいったんコピーして、文字情報だけになったコンテンツをテキストエディタからワードやエクセルにコピペしています。
●USBメモリも(USB接続の)プリンタもWinXPから使えます。
右CTRL-Fで全画面/ウインド画面の切り換え。全画面にすると正に WinXP そのもの!
●WinXPから「オフラインなのでネットに接続しないのか」といった趣旨のメッセージが来ますが、当然、無視します。

WinXPしか知らないユーザでも安心して使えます!

提案する環境は、Linuの上のWinXPですので、WinXPの操作はできるが、Linuxの操作が心配と思われる方もいらっしゃると思います。確かに、インストールなど環境構築には多少の知識は必要です。でも大丈夫です。日常の利用ではLinux独自の知識は不要です。意識しておくことは1つだけ、 WinXPはLinuxのサンドボックスに守られたゲストPCですので、「ネットアクセスはLinuxで」これだけです。
といってもLinuxでのネットアクセスは、画面左のメニューの、Thunderbird(メール)、Firefox(ブラウザ)アイコンをクリックするだけです。WinXPでの操作とほとんど変わりません。USBメモリもプリンタもWinXPからアクセスできますので困ることはありません。

  
図2 ゲストPC(WinXP)の起動、FirefoxとThunderbird起動の各アイコン

Win7以上のPCにインストールすれば、事務作業用途であれば、十分実用的

マイクロソフトには申し訳ないことですが、最新の Windows 10 環境に引っ越すことなく、半永久的にWinXPの環境で安心してワード・エクセル等を使っての事務作業が可能となります。
万が一、PCのハードウエアが故障したとしても、オフライン部は、
 WinXPの仮想PCのディスクイメージファイル XP.vdi とDドライブのデータ
があれば、簡単に別のPCで同じ環境が再構築できます。

・マイリカバリはとっても簡単です!今までのようなバックアップアプリ(EaseUs Todo Backup)は必要ありません。

・調子のよいときのXP.DVIを、Windows用のDドライブにコピー(マイリカバリイメージ保存)
・調子が悪くなったら、保存していたXP.DVIを /home/vboximg に上書き(マイリカバリ)

開発の経緯

今更、WinXP ?

環境の変更は面倒なので、個人的には、Win7の延長サポート期間が終了するタイミングで変更することを検討していました。しかし、最近(2018-10月以降)PCの動作が重くなり、リカバリしても回復しないという原因不明の症状に至りました。ネット検索すると、同様の症状らしき書き込みもあり、オフラインのアプリの起動も遅くなってきています。マイクロソフトが何かしたのかしら? 新種のウイルスが悪さしているのかしら? 原因はわかりません。

そんな中、重くなったPCからの脱出を試行錯誤するうちに、試しにゲストPCにWinXPをインストールして使ってみると、Win7と同じアプリが、遅くなったホストPCのWin7より、ゲストPCのWinXPで軽快に起動することを発見。考えてみれば、日常使っているワードやエクセル、パワポ、テキストエディタはバージョンアップはしたもののすべてWinXP時代から引き継いだアプリばかり。いっそのこと、OSはWinXPに戻しても、特段、困った事態には至らないのではとの考えに至るのでした。

皆さんは、PCをどのような目的で使用されているのでしょう?
ネットサーフィンをしたり、ネットにデータをアップして情報発信をする目的であれば、ネット接続は必須です。一方、ワードやエクセルなどの事務処理では、ネット接続は基本的に不必要です。フォトショップやGIMP等で画像処理、専用ソフトでの音楽の再生や編集など、ネット接続が不必要なアプリや処理が実はたくさんあることに気が付くと思います。これらは、5年前にサポートを終了したWinXPでも、ネットから隔離してオフラインで使用すれば安全に快適に処理できることは、想像に難くないでしょう。

サポートとは?

延長サポート期間が終了している、ということは、仮に WinXP に何かしらの不備が発見された場合でも、もはや WinXP の更新プログラムはマイクロソフトから提供されないということです。しかし、WinXPの不備には基本動作の不備とネット関連のセキュリティホールに関連する不備があり、前者の不備については長期間の利用により、ほぼ問題は出尽くした感があるといってよいと思います。
一方、後者の不備に関しては、日々更新され変化し増殖し続けるウイルスソフトに対応するため、安全といえるのは、新しいウイルスソフトが開発されるまでの一時的な状況になります。つまり、 常に最新のウイルス対策を行わない限り安心してPCを使うことができないということになります。したがって、サポート期間が終了しているOSの利用は危険であるとの結論になるわけです。
逆に、オフラインでネットに接続しないのであれば、 WinXPは基本動作の不備が無くなったほぼ完成された OS とも言えるわけです。


図3  サポートとは? WinXPに不具合は見つかった場合に、更新プログラムが提供されるということ。
WinXPの基本動作の不備はほぼ解決しているので、ネット関連のセキュリティ対策のサポートがほとんど。

本記事では、「Linuxの上のゲストWinXP」の作り方について解説します。

2度目の挑戦! PCの性能が上がって十分実用的

実はこの記事は2回目なのです。前記事を書いたから5年程経過しました。前記事では、WinXPのマシンをホストOSをLinuxにしてその中にゲストOSとしてWinXPをインストールする方法を書きました。しかし、非力なPCでは、ホストマシンとしてXP運用は可能でも、仮想マシンのXPでは動きがギクシャクして実用に耐えない場合がありました。しかし、Win7のマシンで同じことを実行してみたところ、ゲストマシンのWinXPも十分実用的な応答が得られましたので、自信をもってお勧めします。

概要は、
・HDDのパーティションを「/ 15GB,/home 35GB,swap 2GB,/home/windows ドライブ(残り)」の4つに分割して、ホストPCにLinuxをインストール
・VirtualBoxでゲストPCを用意し、WinXPをインストール
・共有フォルダとして、/home/windowsを指定して、ゲストPCを起動
・メール送受信等ネットアクセスはホストPCで、ワードやエクセルはオフラインのゲストPCで運用
です。

以下、設定の詳細を説明します。

具体的な設定の手順

0) 準備

用意するものは以下の4点です。
 WinXPの仮想PCのディスクイメージファイル XP.vdi (4.4GB) (注*)
 ubuntu-ja-18.04.1-desktop-amd64.iso (1.85GB)
 HDD 1000GB
 USBメモリ 2GB以上

注*) 今回使用したWinXPの仮想PCのディスクイメージファイル XP.vdi は前記事の 「WinXPをネットから隔離して仮想マシンの上で運用しよう」で作成したものを流用しました。

「仮想マシン 作成方法」等の検索ワードで検索するといろいろな作り方があります。

例1:フリーのユーティリティ「Disk2vhd」。ダウンロードしたのちダブルクリックして起動、形式を“vhdx”ではなく“vhd”を指定し、保存先を指定して[Create]ボタンをクリック。

例2:フリーのEaseUs Todo Backupでディスクイメージを作成。VirtualBoxを起動して、仮想PC環境で「CD起動のEaseUs Todo Backupを使ってリカバリ」する。結果、XP.vdiが作成できる。

例3:VirtualBox「新規」で、WindowsXPのインストールCDから作成。WindowsXPのインストールCDのISOイメージを用意。VirtualBoxを起動し、
新規 - XP
 メモリは実メモリの半分程度
 仮想ハードドライブを作成する(C)
 VDI(VirtualBox Disk Image)
 可変サイズ(D)
設定 - ストレージ
 コントローラーIDE 
 「+」のCDのアイコンクリック 「ディスクの使用」 WinXP起動用のISOイメージを指定
起動

1) 起動用のUSBメモリを作る

 フリーソフトWin32DiskImagerでubuntuの起動用のUSBメモリを作る

2) HDDにUbuntuをインストールする

下図のようなパーティションのHDDを作ります。


 (Windowsの外付けHDDとして、図のようなパーティション配置にしてから、手順5)を先に行ってもよいですが、ここではLINUXでパーティションの設定を行う手順で説明します。)

・HDDをPCにセットし、電源投入直後にF12を打鍵してUSBメモリ起動
・ubuntuが起動するので、日本語を選んで「Ubuntuをインストール」をクリック
・ネット接続、サードパーティソフトのインストールにチェック
「インストールの種類」で「それ以外」を選択
・HDDを真っ新にする(パーティションがあったら左下の「−」でパーティションを削除し)、HDDの先頭から
 15GB (/)
 35GB (/home)
末尾から
  2GB SWAP
を確保し、残りを/home/windows に、(NTFSを選びたいがなかったので )とりあえずFAT32として確保
・「続ける」をクリックして、ubuntuのインストール
 タイムゾーン
 キーボードレイアウト
 ユーザ名 ******* パスワード ******** 「自動的にログインする」
 (30分ほど待つ)
・「HDDからubuntuを起動」を選び、USBメモリを取り外せとのメッセージが出るまで(3分ほど)待って、指示通り再起動

3) virtualBoxをインストール

・ubuntuが起動するので、画面左メニューの「ソフトウエアセンター」

・検索窓に「virtualbox」
・ネットにつないで、virtualBoxをダウンロード&インストール

4) USB機器を使うためのおまじない

・ターミナルを起動し
$ sudo gpasswd -a <ユーザ名> vboxusers
を実行

・VirtualBox を起動
 ファイル - 環境設定 - 拡張機能 - 右端のボタン
 Extention Pack を選択し、インストール

5) Windows用Dドライブの設定(Windowsからの操作

・HDDを取り出し、別のWindowsマシンに外付けHDDとして接続
・/home/Windowsのパーティションを選択してNTFSでフォーマット
・ルートにWinXPの仮想PCのディスクイメージファイル XP.vdi (4.4GB)をコピー
・引っ越し前のPCのDドライブから必要なファイルをコピー

6) ゲストPCのWinXPの作成

・再びHDDをPCに接続し ubuntu を起動
・/home に vboximgフォルダを作りそこに XP.vdi をコピー
・VirtualBoxを起動
・新規 − WinXP
 メモリは実メモリの半分程度
 すでにある仮想ハードドライブを使用する
  コピーしたXP.DVIを指定
・設定 - 共有フォルダー
 右側の「+」
 /home/windows を指定
 「自動マウント」
・設定 - ネットワーク
  「ネットワークアダプタを有効化」のチェックを外す
・設定 - 一般 - 高度(A)
 クリップボードの共有  「双方向」
・設定 - USB
 使用するUSBをPCに接続
 画面右の「+}印のUSBアイコンをクリック
 追加するUSB機器をUSBデバイスフィルターに登録
 USB機器をPCから取り外す
 USBデバイスフィルターのUSB機器をクリック
  ベンダーID、プロダクトID、リビジョンをそのまま残し、 メーカー、製品名、シリアルNoを消す

7) ゲストPCのWindowsXPの設定 (オフラインの設定/ドライバのインストール)

●共有のDフォルダをDドライブとして使用する設定
DドライブがたとえばCD-ROMに割り当てられている場合:
・コントロールパネル - 管理ツール - コンピュータの管理 - 記憶域 - ディスクの管理
 CD-ROMを選択 - 右クリック - ドライブ文字とパスの変更
 DドライブならEドライブに変更してDドライブを空ける  

●オフラインの設定
・コントロールパネル - システム
 ハードウエア - デバイスマネージャ(D)
  「ネットワークアダプタ」を選択し、現在選択されているドライバを無効にする
 →これにより、万が一 WinXP がウイルス感染しても、情報漏洩のリスクが回避できる。
(念には念を入れて)
 自動更新 - 「自動更新を無効にする(T)」
 リモート- チェックを外す
(ついでに)
 システムの復元 - 「システムの復元を無効にする」にチェック

・コントロールパネル - 管理ツール - サービス
 「状態」が「開始」になっているネット関連のサービスを「無効」にする。(筆者が無効化したのは以下のサービス)
 Automatic Updates
 Computer Browser
 Network Connections
 Network Location Awareness (NLA)
 Remote Access Connection Manager
 Security center
 Server
 TCP/IP NetBIOS Helper
 Telephony
 Terminal Services
 WebClient
 Wireless Zero Configuration
 Workstation

●USB機器のドライバのインストール
 裸のWinXPでのドライバインストールと同じ手順

おまけ

仮想ディスクイメージは使っているうちに肥大化していきます。
肥大化した場合、保存しておいたスリムなディスクイメージに取り換える(マイリカバリ)するのも手ですが、今あるディスクイメージファイルを縮小する方法もあります。

●圧縮する前に仮想ディスクの空き領域を0で埋める必要があります
ゲストPCでの処理
Windows: マイクロソフトが無料で提供している SDelete ツールを利用して、コマンドラインで
>sdelete -z c:
を実行
Linuxの場合はddコマンドを実行
$ dd if=/dev/zero of=zero bs=4k; \rm zero

●VboxManage コマンドで圧縮します
ホストPCでの処理 (windows/Linux共通)
>VBoxManage list hdds
でUUIDを調べて、
>VBoxManage modifyhd [仮想ディスクのUUID] --compact

これで、使われなくなったディスクスペースが解放されて、ディスクイメージファイルのサイズが小さくなる