サポート終了したWindows10を出来るだけ安全に使うにはⅡ

前回の記事

では、Windows11に出来ないパソコンを、Ubuntuとデュアルブートにして、Windows10はネット環境から切り離し、通常の使用はUbuntuにするという方法を採用しました。

ただ、この方法には欠点もあります。

  • Windowsでないと出来ない作業のとき、再起動する必要がある
  • Windows使用中は、有線ケーブルを抜く、wifiを止めるなど、ネットワークから切り離す処理が必要

そこで、実働していたWindows10を、Ubuntu上で動作する仮想マシンにした上で、仮想マシンからUbuntuを経由して比較的安全にネット接続できるようにしたいと思います。

仮想マシンとは?

仮想マシンというのは、字義の通り、実体の無い仮想のマシン(コンピュータ)で、実体のあるコンピューターに、ソフトウェアの技術を使って別のコンピューターのシステムを再現したものになります。

これを使用すると、実体のハードウェアとOSで動作しているコンピュータ上に、別のOSで動作するコンピューターを再現する事ができます。

例えば、実体のコンピューターはLinux系OSで動作させながら、その上でWindowsで動作する仮想のコンピュータを動作させるという使い方です。

VPS (Virtual Private Server。仮想専用サーバー)なども、この仮想マシンの技術で提供されている事が多いです。

今回の作業は

この作業が完了し、Windows10とUbuntuのデュアルブートが成功している機材を使用して、デュアルブートのWindowsをUbuntu上の仮想マシンとして起動できるようにします。

仮想マシンを実現するソフトウェアとしては、VMware や Hyper-Vなど種類がいくつか存在しますが、この記事では VirtualBoxを使用します。

Windows機での作業

まず、現在デュアルブートで動いているWindows10を仮想マシン用のイメージに変換します。

Disk2vhdをダウンロードする

ダウンロードサイトから、プログラムをダウンロードします。

Disk2vhdを実行する

Disk2vhd.zip がダウンロードされました。
これを解凍します

私のパソコンは、Windows10の64bitなので、disk2vhd64.exeを管理者として実行します。

私のパソコンは、メインのストレージの他、データ用のハードディスクがあるため、CとFが表示されています。

Fは起動に不要なので除外。

そのFにファイル保存を指定します。

Use Volume Shadow Copyにチェックを入れ、実行中のWindowsを安全にコピーできるようにします。

ファイル作成がスタートします。

これはかなり時間がかかるため、夜間など長時間コンピューターを使用しない時間を選択した方がよいでしょう。

ファイル作成が完了しました

一見、わかりませんが、completed successfully が出ているため、成功です。

これでWindows 10作業は完了なので、Ubuntuで再起動します。

なお、私の環境では、パソコンにM.2SSDと別に、データ保存用のハードディスクが入っているため、画像のDESKTOP-AVMMF8R.VHDXはこのハードディスクに保存しました。

このハードディスクはWindows10からもUbuntuからも見えます。

もし、こうしたデータ用ハードディスクなどが無い場合は、作成したファイルを外付けHDDなどにコピーしておきましょう。

ファイルサイズがかなり大きいので、容量の大きなディスクが必要になります。

Ubuntu機での作業

VirtualBoxをインストールし、そこでWindows10で作成したイメージを起動する内容になります。

VirtualBoxのインストール

Ubuntuのターミナルを開き、以下、入力します。

sudo apt update
sudo apt install -y virtualbox

VirtualBoxの起動

プロンプトの$が返ってきたらインストール完了です。

virtualbox

で起動します

virtualboxが起動しました。

Windowsイメージの指定(不成功)

準備として、virtualboxのデフォルトのフォルダに、Windows環境で作成したイメージファイルをコピーします。

私の場合は、内蔵HDDがデータ用にありますので、そこからUbuntuのフォルダにコピーしています

設定→ストレージでこの仮想マシンの構成を見るとこのようになっています。

既存のストレージに対し、割当を除去を選択して除去します

既存のストレージを削除したら、追加を選択します。

この画面になるので追加を押下して、保存したイメージディスク、私の場合、「DESKTOP-AVMMF8R.VHDX」を選択します。

右下のプルダウンメニューを操作して、対象をすべてのファイルにします。

すべてのファイルにすると、先程コピーした「DESKTOP-AVMMF8R.VHDX」が見つかるので、これをクリックして指定します

エラーが発生しました。

原因ですが、WindowsのDisk2vhdで作成したVHDXファイルに、Ubuntuで提供されているvirtualboxが対応できていないためでした。

方法としては、より最新のvirtualboxをインストールする手段もありますが、現在のvirtualboxで読み込めるVDI形式にファイルを変換する方法がありますので、そちらを採用します。

VHDX→VDI形式変換

次のコマンドで変換します。

VBoxManage clonemedium disk \
"[ファイルのフルパス].VHDX" \
"[変換後のファイルの置き場].vdi" \
--format VDI

例えば、私の環境では、Windowsで取得したファイルを置いたドライブが/media/kazuhiro/ボリューム/としてUbuntuから閲覧できるので、

VBoxManage clonemedium disk \
"/media/kazuhiro/ボリューム/DESKTOP-AVMMF8R.VHDX" \
"/home/kazuhiro/VirtualBox VMs/Windows10Test/converted.vdi" \
--format VDI

になります。

このように変換がはじまりました。

時間は割とかかります。

私の場合、2〜3時間というところでした

100%になり、完了しました。

設定→ストレージで見ると、変換したconverted.vdiが表示されました

選択をクリックすると、今回は表示されました。

仮想マシン起動(失敗)

起動を選択し、仮想マシンを起動します

起動に失敗しました

この原因ですが、私のパソコンでは、BIOSでSecure Bootを有効にしてあったためです。

Secure Bootを無効化して仮想マシン起動(失敗)

一度再起動して、BIOSからSecure Bootをdisableにします。

個人所有のノートパソコンですから、Secure Bootを無効化しても特に問題はありません。

設定を保存して再起動し、virtualboxを起動して、仮想マシンを起動します。

しかしWindowsは起動しません。

この原因ですが、一番最初の前提としてWindowsとUbuntuのデュアルブートにしています。それをそのまま仮想化したため、GRUBが優先されてWindowsが起動しない状態になってしまいました。

解消方法として、デュアルブートの部分をWindows起動に書き換える方法をとります。

Windows起動システムを再構成して仮想マシン起動

ストレージの光学ドライブの追加から、Windowsのisoファイルを指定します。

isoファイル持っていない場合、マイクロソフトのサイトからダウンロードすることもできます。

システムから起動の優先を光学ドライブにします。

また、EFIを有効化のチェックを外します。

この状態で仮想マシンを起動します。

すると、Windows10のインストール画面になります。

次へを押下します。

今回はWindows10のいんすとーるではないので、コンピュータを修復するを選択します。

トラブルシューティングを指定します。

コマンドプロンプトを選択します。

コマンドプロンプが開いたら、

diskpart
list vol

を入力します。

今回の構成では、Windowsマシンで仮想化したマシンなので、Cドライブが見え、追加したWindowsのインストールisoを読み込んだ光学ドライブがDドライブになっています。

ただ、なにも割り当てられていないものがあります。

これがEFIパーティションで、起動用の領域になります。

まず、この未割り当てに臨時のドライブを割り当てます

select vol 2
assign letter=S

を入力します。

これで再び

list vol

で見てみると、Sが割り当てられています。

そうしたら

exit

でdiskpartを終了します。

次にWindowsの起動ファイルをコピーし、さらにWindows Boot Managerを起動するよう設定します。

bcdboot C:\Windows /l ja-jp /s S: /f UEFI
copy S:\EFI\Microsoft\Boot\bootmgfw.efi S:\EFI\Boot\bootx64.efi

を入力します。

設定が正常なら、コマンドプロンプトを閉じ、一度仮想マシンをシャットダウンします。

続けて、virtualboxそのものを一度終了し、

rm ~/VirtualBox\ VMs/Windows10Test/*.nvram

を実行して、NVRAM登録済みエントリを削除します。

これをしないと上記の修正をしてもgrubが起動します。

virtualboxを再度起動し、仮想マシンの設定を修正し、起動順序から光学ドライブを除き、拡張機能でEFIを有効化します。

virtualboxでWindows10がようやく起動しました。

仮想Windows機にGuest Additionsをインストール

起動はしましたが、ウィンドウサイズも固定され、仮想マシンとホスト機の間でクリップボードのやりとりもできません。

このため、Guest Additionsというサポートアプリをインストールします。

ls /usr/share/virtualbox/

を実行して、VBoxGuestAdditions.isoが在ることを確認します。

光学ドライブの追加で、上記のisoファイルを追加します。

仮想マシンのWindowsのPCを見ると、光学ドライブにVirtualBox Guest Additionsが表示されています。

通常、光学ドライブをそのまま実行できますが、万一ファイル表示されたときは、VBoxWindowsAdditions.exeを実行します。

許可を求められるので、はいを押下します。

説明です。そのままNextを押下して進めます。

インストールするディレクトリの選択ですが、デフォルトで問題ないのでそのまま進行します。

最終確認です。

インストールが進行します。

完了しました。再起動が必要なので、再起動します。

再起動中です。

すると、このように仮想マシンの画面サイズを変更するとそれに追随して、画面いっぱいにWindowsを表示することもできます。

仮想マシンの調整

起動はしましたが、このマシンは元は実体機だったものをDisk2vhdを使って仮想マシンに変換したものです。

このため、実体機としてのデバイスドライバーや設定をまるごと変換された状態です。

不要なデバイスドライバーやアプリは削除した方がいいでしょう

Windowsのスタート→設定→アプリから、コンピュータのハードウェアに関係したものを削除します。

例えば、元々がHP 社のProbook 470 G4 ですからHP関連が入っているので削除します。

インテルのチップセットの制御プログラムですが、仮想マシンなのでこれも削除したほうがいいでしょう。

NVIDIAのドライバです。仮に使っているコンピュータにはNVIDIAのグラフィックボートがあっても仮想マシンでは使わないので削除します。

この他にも、コンピュータ本体をコントロールするアプリは削除したほうがいいでしょう。

重複アプリの削除

Ubuntuにも存在するアプリも削除したほうが良いでしょう。

例えば画面のfilezillaやGIMPはUbuntuのアプリがありますから削除しても大丈夫です。

Gitや Chrome もあります。Windowsから外にアクセスする事を少しでも減らすためには、削除の方がよいと思います。

ブラウザやメールにMozilla を使っている場合も、これらはUbuntuにアプリがあるので削除します。

また、Windowsで仮想マシンを使っていたときのWindows版VirtualBoxも不要なので削除します。

起動アイコンの設定

最後に、今の状態だと、ターミナルを立ち上げて、VirtualBox とコマンド入力する必要があるので、アイコン起動できるようにしましょう。

vi ~/.local/share/applications/virtualbox.desktop

と入力します。

開いたエディタに、

[Desktop Entry]
Name=VirtualBox
Comment=Oracle VM VirtualBox
Exec=virtualbox
Icon=virtualbox
Terminal=false
Type=Application
Categories=System;Emulator;
~                            

と入力します。

エディタが保存されて閉じたら、

update-desktop-database ~/.local/share/applications/                            

と入力し、アイコン情報を読み込みします。

これにより、アイコンが作成されました。

次回以降は左、下のアプリの表示をクリックし、VirtualBoxのアイコンで起動する事ができます。

まとめ

VirtualBox にWindows10を格納する事により、再起動せずにWindowsでしか動かせないアプリを動作させる事ができるようになります。

しばらく、マシンを更新できない状態でしたら、この状態で使い続けるのも方法の一つでしょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です