サポート終了した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を実行する

私のパソコンは、メインのストレージの他、データ用のハードディスクがあるため、CとFが表示されています。
Fは起動に不要なので除外。
そのFにファイル保存を指定します。
Use Volume Shadow Copyにチェックを入れ、実行中のWindowsを安全にコピーできるようにします。
これでWindows 10作業は完了なので、Ubuntuで再起動します。
なお、私の環境では、パソコンにM.2SSDと別に、データ保存用のハードディスクが入っているため、画像のDESKTOP-AVMMF8R.VHDXはこのハードディスクに保存しました。
このハードディスクはWindows10からもUbuntuからも見えます。
もし、こうしたデータ用ハードディスクなどが無い場合は、作成したファイルを外付けHDDなどにコピーしておきましょう。
ファイルサイズがかなり大きいので、容量の大きなディスクが必要になります。
Ubuntu機での作業
VirtualBoxをインストールし、そこでWindows10で作成したイメージを起動する内容になります。
VirtualBoxのインストール
VirtualBoxの起動
Windowsイメージの指定(不成功)

準備として、virtualboxのデフォルトのフォルダに、Windows環境で作成したイメージファイルをコピーします。
私の場合は、内蔵HDDがデータ用にありますので、そこからUbuntuのフォルダにコピーしています
方法としては、より最新の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
になります。
仮想マシン起動(失敗)
この原因ですが、私のパソコンでは、BIOSでSecure Bootを有効にしてあったためです。
Secure Bootを無効化して仮想マシン起動(失敗)
この原因ですが、一番最初の前提としてWindowsとUbuntuのデュアルブートにしています。それをそのまま仮想化したため、GRUBが優先されてWindowsが起動しない状態になってしまいました。
解消方法として、デュアルブートの部分をWindows起動に書き換える方法をとります。
Windows起動システムを再構成して仮想マシン起動

ストレージの光学ドライブの追加から、Windowsのisoファイルを指定します。
isoファイル持っていない場合、マイクロソフトのサイトからダウンロードすることもできます。
今回の構成では、Windowsマシンで仮想化したマシンなので、Cドライブが見え、追加したWindowsのインストールisoを読み込んだ光学ドライブがDドライブになっています。
ただ、なにも割り当てられていないものがあります。
これがEFIパーティションで、起動用の領域になります。
これで再び
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が起動します。
仮想Windows機にGuest Additionsをインストール
仮想マシンの調整
起動はしましたが、このマシンは元は実体機だったものをDisk2vhdを使って仮想マシンに変換したものです。
このため、実体機としてのデバイスドライバーや設定をまるごと変換された状態です。
不要なデバイスドライバーやアプリは削除した方がいいでしょう
Windowsのスタート→設定→アプリから、コンピュータのハードウェアに関係したものを削除します。
この他にも、コンピュータ本体をコントロールするアプリは削除したほうがいいでしょう。
重複アプリの削除

Ubuntuにも存在するアプリも削除したほうが良いでしょう。
例えば画面のfilezillaやGIMPはUbuntuのアプリがありますから削除しても大丈夫です。
Gitや Chrome もあります。Windowsから外にアクセスする事を少しでも減らすためには、削除の方がよいと思います。

ブラウザやメールにMozilla を使っている場合も、これらはUbuntuにアプリがあるので削除します。
また、Windowsで仮想マシンを使っていたときのWindows版VirtualBoxも不要なので削除します。
起動アイコンの設定
最後に、今の状態だと、ターミナルを立ち上げて、VirtualBox とコマンド入力する必要があるので、アイコン起動できるようにしましょう。

開いたエディタに、
[Desktop Entry]
Name=VirtualBox
Comment=Oracle VM VirtualBox
Exec=virtualbox
Icon=virtualbox
Terminal=false
Type=Application
Categories=System;Emulator;
~
と入力します。
まとめ
VirtualBox にWindows10を格納する事により、再起動せずにWindowsでしか動かせないアプリを動作させる事ができるようになります。
しばらく、マシンを更新できない状態でしたら、この状態で使い続けるのも方法の一つでしょう。


















































