2.3. ひな形ディスクイメージの作成

2.3.1. ディスクイメージについて

ネットブートではディスクイメージを使って端末を起動します。

一般には端末のハードウェア構成が異なると、異なるディスクイメージを用いることになります。 そのため、1機種1OS あたり 1ディスクイメージを作成することになります。

Linux については端末のハード構成が異なっていても1つのディスクイメージで起動する「ディスクイメージの共通化」がうまくいくことが多いです。 しかし Windows においては一旦ディスクイメージを共通化できたとしても、その後ディスクイメージを更新した後にすべての端末で適切に動作するかどうかを保証できません。 このような点から、原則として 「1機種1OS あたり 1ディスクイメージを作成」 してください。

なお、同じ機種ながらもアプリケーション環境の構成が異なる多数のディスクイメージを作成する場合には、先にOSのみの状態でディスクイメージを作成してから、それをコピー(分岐)して複数のディスクイメージにすることは簡単にできます。

アプリケーションを導入した後にディスクイメージ化しようとすると、ディスクイメージから上手く起動できない場合があります。 そのため、Windowsの場合もLinuxの場合も、OSと最小限のドライバを導入しただけの段階でディスクイメージを作成してください。

2.3.2. Windows のイメージ作成

Windows のひな形イメージを作成する手順を説明します。

ネットブートしたい端末にインストール済みの Windows 環境をイメージ化します。 この方法を「オンラインイメージ作成」と呼びます。

注意

作成したイメージでネットブートした際に問題があったときに不具合原因の特定や対策が困難なため、原則として「OSを新規インストールをした直後」にイメージ化してください。

注意

ひな形イメージ作成用の端末について、以下の点にご注意ください。

  • 本番環境で使用する端末と同一機種であること
  • 有線LAN接続で、ほたてサーバに接続できること
  • UEFI モードであること
  • UEFI のセキュアブート設定において、「Microsoft 3rd Party UEFI CA」を有効にすること。(セキュアブート無効にしても動作します)
  • UEFI の設定において、ファームウェアを自動で更新する設定がある場合には無効にしておくこと
  • HotateBoot 2022.1.6.14 版以降を利用していること

事前準備

イメージ作成に必要なツール、Hotate Client パッケージ、Windows のインストールメディアを準備します。

  • ツール
    • サーバー環境の構築」のドキュメントの通り実施している場合には、サーバーの HotateShare\Modules にあります。 ほたてサーバーセットアップ時に SetupServer 2024年8月版以降を使用している必要があります。
    • 別途取得する場合はダウンロードサイトから SetupClient をダウンロードします (2024年8月版以降を取得してください)。
  • Hotate Client パッケージ
    • サーバー環境の構築」のドキュメントの通り実施している場合には、サーバーの HotateShare\Modules にあります。 ほたてサーバーセットアップ時に SetupServer2024年8月版 以降を使用している必要があります。
    • 別途取得する場合はダウンロードサイトから HotateBoot_xxxx-xx-xx-x.zip をダウンロードします (x にはバージョンを示す番号が入ります)。 パッケージファイル内の Client フォルダが Hotate Client のパッケージです。 HotateBoot 2024年8月版以降を取得してください。
  • Disk2Vhd
    • Microsoft のダウンロードページから取得してください。

Windows のインストール

Windows インストールメディアを用いてひな形端末の SSD(内蔵ディスク)に Windows をインストールし、SSD から起動するようにしてください(標準的な Windows のインストール手順です)。

注意

ネットブートをするためには、Microsoft のライセンス規約に従い、Education ないし Enterprise 等、Volume License 版のものを利用する必要があります。

Windows の設定

  1. Windows の初期セットアップを完了させてください。

注意

Windows 11 24H2 では、暗号化の機能が標準で有効化されるようになりました。インストールする際には、次の設定をしてください。

  • デバイスの暗号化の設定を無効にする
  • BitLocker を無効にする (暗号化されている場合には暗号化を解除してください)

詳しい手順は Windows 11 24H2 の利用方法について を参照してください。

また、ユーザーアカウントについては、以下の設定を行ってください。

  • ローカルアカウントまたは Active Directory を使用する
  1. Windows Update を最新まで実施してください。
  2. 各種ドライバーのインストール

一般的なドライバーのインストールと同様に、必要なドライバをインストールします。

注意

NICのドライバーについては、 NIC の製造元(Intel, Realtek など)が提供するドライバーの最新版をインストールすることが推奨されます。

注意

Windows11 環境でネットワークドライバーをインストールする際には、NetAdapterCx 対応のドライバーではなく NDIS 対応のドライバーを導入してください。

(CO-Colors ほたて) Windows 11 をイメージ化する際の注意点

  1. NIC のドライバーの設定

デバイスマネージャーの NIC ドライバーのプロパティから、ネットワークドライバの省電力系の設定を全て無効にします。

詳細設定タブで [省電力イーサネット]、 [超低消費電力モード]、 [グリーンイーサネット]、 [Power Saving Mode]、 [Selective Suspend] などの設定を無効にします。

  1. HotateClientパッケージの展開

エクスプローラーから \\HotateMasterServer\HotateShare を開いて、Module フォルダーをひな形端末の適当な場所にコピーします。

メモ

以降では C:\work\Modules にコピーしたものとします。

事前準備」で取得した Disk2Vhd を適当な場所で展開し、 disk2vhd64.exe を Modules フォルダ以下に配置してください。

メモ

手動でツール及び Hotate Client パッケージを取得した場合には、ツール(SetupClient 内の全てのファイル) 及び Hotate Client パッケージ(Client、 ClientProgramData)のそれぞれを C:\work\Modules に配置してください。

Work\
└ Modules\
  ├ Client \
  |    ├ NetbootOptimizer\
  |    ├ x64\
  |    | ├ HotateDriver.msi
  |    | └ その他HotateBootドライバーファイル
  |    |
  |    └ その他ほたてクライアント関連フォルダ・ファイル
  |
  ├ ClientProgramData \
  ├ SetupClient\
  |    ├ ExecuteHotateSprayClient
  |    ├ UpdateHotateCache
  |    └ ver.txt
  |
  ├ CopyClientModules.bat
  ├ CreateDiskImageOnline.ps1
  ├ CreateVHDXImage.bat
  ├ CreateVHDXImage.ps1
  ├ disk2vhd64.exe
  ├ DownloadAdditionalPackages.ps1
  ├ HotateClientSetup.ps1
  ├ HotateDriver.msi
  ├ ParameterBuilder.ps1
  ├ SetupADK.ps1
  └ SetupVhdxNativeBoot.ps1

ひな形イメージの作成

  1. PowerShell スクリプトの実行権限を “default” から “RemoteSigned” に変更します。

管理者権限で PowerShell のコンソールを起動して下記のコマンドを実行してください。

PS C:\Work\Modules> Set-ExecutionPolicy -force RemoteSigned
  1. ほたてドライバーのインストール

CreateDiskImageOnline.ps1 を実行します。

PS C:\Work\Modules> .\CreateDiskImageOnline.ps1

Tips

「CreateDiskImageOnline.ps1 はデジタル署名されていません。」というエラーがエラーが表示される場合は、 以下のコマンドを実行してファイルのブロックを解除してください。

PS C:\Work\Modules> Get-ChildItem -R C:\work\Modules | Unblock-File

Bitlocker が無効であることを確認してエンターキーを押してください。

C: ドライブで Bitlocker が無効であることを確認して、 Enter キーを押して:

ほたてドライバーの導入について確認されるので エンターキーを押してください。

ほたてのドライバーの導入を行います。(Enter を押してください)

ほたてドライバーのインストーラーが起動されるのでインストールを完了させてください。

ほたて ドライバー セットアップ
  1. NetbootOptimizer(ネットブート最適化ツール)の設定

NetbootOptimizer が起動します。

ネットブートのタブのすべてにチェックを入れて[適用する]をクリックしてください。

ウィンドウを閉じると処理が続きます。

NetbootOptimizer
  1. Disk2Vhd の実行

Disk2Vhd の License Agreement が表示されるので [Agree] をクリックしてください。

Disk2Vhd License Agreement

Disk2VHD が開始されます。

Disk2VHD

メモ

内蔵ドライブ相当のディスクサイズで作成されます。

  1. イメージ作成の完了

次のように表示されたらひな形イメージ作成完了です。

イメージ作成が完了しました。作成されたディスクイメージは C:\hotate.VHDX にあります。適切な名前に変更しつつ、サーバに転送してほたてに登録してください。

メモ

CreateDiskImageOnline.ps1 スクリプトを実行して作成したイメージには下記の設定がされています。

  • NIC ドライバーの電源管理の設定
    • 電力の節約のために、コンピューターでこのデバイスの電源をオフできるようにする
    • このデバイスで、コンピューターのスタンバイ状態を解除できるようにする
    • Magic Packet でのみ、コンピューターのスタンバイ状態を解除できるようにする
  • その他、最適化の設定
    • 高速スタートアップ無効
    • ストアアプリの自動更新無効
    • コンピュータアカウントパスワードの変更無効
    • USB のセレクティブ サスペンドの設定[無効]
    • Windows Update 経由での ドライバーのインストール無効
    • Modern Standby 無効

ディスクイメージをほたてサーバーに転送

C:\hotate.VHDX のファイルを、ほたてサーバー( \\HotateMasterServer\HotateShare\Uploads) にコピーしてください。

ひな形端末での作業はここで終了です。

ひな形イメージの登録

作成したディスクイメージをほたてで利用するには、ほたてサーバーへの登録が必要です。

この作業は、ひな形イメージをアップロードしたほたてサーバーで実施してください。

  1. ほたてサーバーに管理者権限を持つユーザー(ほたて管理ユーザー)でログインします。
  2. 管理者権限でコマンドプロンプトを起動し、下記コマンドを実行します。
HotateAdmin.exe ImportDisk [登録する vhdx のフルパス]

登録に成功しました。と表示されれば成功です。

メモ

ひな形イメージが D:\HotateShare\Uploads\Win10.vhdx にある場合、次のように実行します。

> cd "C:\Program Files\CO-CONV\HotateBoot\Server\Tools"
> HotateAdmin.exe ImportDisk D:\HotateShare\Uploads\Win10.vhdx

    ~ 中略 ~

2020-11-09 12:00:01,061 INFO 登録に成功しました。コンソールで確認してください。

注意

登録する vhdx はほたてのストアパスとは別の場所に置いておく必要があります。

ページングとイメージ更新

イメージを更新モードで起動し、

  • ページングファイルの設定
  • 最適化設定(イメージ作成時にNetbootOptimizer を未実施の場合)
  • HotateMonitorClient.ini の設定

を行ってください。

注意

端末からイメージを起動するには、 端末登録 を事前に行う必要があります。

ページングファイルの設定

ほたてで Windows イメージを利用するには、ページファイルを端末の内蔵ディスク内の NTFS パーティションに作成する必要があります。 イメージを更新モードで起動して、ページファイルの設定を行ってください。

  1. コントロールパネル > システムとセキュリティ > システム > システムの詳細設定を開きます。
  2. 「パフォーマンス」 の [設定] をクリックします。
  3. 詳細設定タブ の「仮想メモリ」の [変更] をクリックします。
  4. 「全てのドライブのページングファイルのサイズを自動的に管理する」のチェックを外します。
  5. ドライブ C: を選択し、「ページングファイルなし」にチェックを入れ [設定] をクリックします。
  6. ドライブ D: (内蔵ディスクのNTFSパーティション)を選択し、「システム管理サイズ」にチェックを入れ [設定] をクリックします。
  7. [OK] をクリックしてウィンドウを閉じます。
  8. 設定を反映させるために端末を再起動します。

最適化設定

NetbootOptimizer を使用し、ネットブート起動に適した Windows の設定を行います。

注意

この作業はイメージ作成において、NetbootOptimizer を未実施の場合に行ってください。

NetbootOptimizer は こちら から取得できます。 NetbootOptimizer を起動し [ネットブート] タブ内の全ての項目を適用してください。

メモ

  • NetbootOptimizer の詳細な利用方法は、パッケージ内の ReadMe を参照ください。
  • NetbootOptimizer バージョン: 1.0.7857.26212 をご利用ください。

HotateMonitorClient の設定ファイルの修正

C:\ProgramData\CO-CONV\HotateBoot\HotateMonitorClient.ini を ini ファイルの内容に沿って適宜修正してください。

メモ

ほたてサーバーが複数台ある場合、HotateMonitorServer サービスは1台目のサーバーでのみ実行されます(他のサーバーでは無効になっています)。

サイトごとに HotateMonitorServer を分けることもできます。 設定方法については、ini ファイルの説明をご覧ください。

2.3.3. Linux イメージ作成

Linux のディスクイメージを作成する手順を説明します。

事前準備

  • ほたて Linux モジュールの取得

    ほたて Linux モジュールは、使用するディストリビューション・ディストリビューションのバージョン・カーネルバージョンの組み合わせに合わせて、個別のパッケージを使用する必要があります。

    下記の情報と一緒に CO-CONV にお問い合わせください。

    • ディストリビューションとバージョン
    • カーネルバージョン

    いただいた情報を元にパッケージを準備いたします。

    メモ

    通常、1~2週間ほどお時間をいただきます。

  • 仮想マシンの作成

    ほたてサーバ上の Hyper-V 環境に仮想マシンを作成し、 Ubuntu をインストールしてイメージ作成をします。

    注意

    仮想マシンを作成する際には、以下の点に気を付けてください。

    • 第2世代にすること
    • セキュアブートを無効にすること
    • ほたてサーバに接続できるネットワークに接続すること
    • 仮想ハードディスクは VHDX 形式で、動的サイズにすること
    • プロセッサを2個以上にすること
    • スナップショット機能を利用しないこと

ひな形イメージ作成

ここでは、Ubuntu 22.04 のイメージ作成手順を説明します。 他のディストリビューションについては、別途 お問い合わせください。

  1. Hyper-V に Ubuntu をインストール

Hyper-V の仮想マシンを DVD からブートし Ubuntu をインストールしてください。

注意

インストールの途中で、Installation type における Advanced Features において LVM, ZFS は選択しないください(None のまま)。

  1. 各種モジュール・カーネルのアップデート

ひな形となる Ubuntu 環境にログインし、管理者権限で次のコマンドを実行して、モジュールやカーネルを最新にしてください。

apt update
apt upgrade -y
apt autoremove -y
reboot

再起動後、再び Ubuntu環境に管理者権限でログインしてください。

  1. Hotateモジュールの導入

Hotateモジュールのパッケージ名のカーネルバージョン部と、導入する環境のカーネルバージョンが同一であるか確認します。

  • パッケージ名のカーネルバージョン部: hotate-ubuntu-kit_(カーネルバージョン)_YYYYMMDD.tgz
  • 導入する環境のカーネルバージョン: uname -r を実行して確認します。

もし、これらが異なる場合には、導入する環境のカーネルバージョンを CO-CONV に連絡して、対応したバージョンのパッケージを入手してください。

  1. 入手したパッケージの展開

Ubuntu 環境にログインし、次のコマンドを実行して、パッケージを展開してください。

tar xvfz hotate-ubuntu-kit_KERNEL-VERSION-STRING_YYYYMMDD.tgz
  1. 必要なモジュールのインストール

Ubuntu 環境で、管理者権限で次のコマンドを実行して、ほたてモジュールをインストールしてください。

cd hotate-ubuntu-kit
bash install-hotate-ubuntu-kit.sh
  1. ひな形環境のシャットダウン

Ubuntu 環境で、管理者権限で次のコマンドを実行して、Ubuntu 環境をシャットダウンしてください。

shutdown -h now

ディスクイメージをほたてサーバーへ登録

Hyper-V で作成した Ubuntuのインストールされたvhdx ファイルをほたてサーバー( \\HotateMasterServer\HotateShare\Uploads) にコピーしてください。

ひな形イメージの登録 に沿ってほたてサーバーへ登録してください。

イメージの初期設定をする

ほたてサーバー にひな形イメージ登録後、イメージに対してネットブート用の最適化設定を行います。 この作業は、ほたてコンソールからイメージを更新できる状態(更新開始)にして行います。

注意

端末からイメージを起動するには、 端末登録 を事前に行う必要があります。

  1. イメージ更新作業の開始
ほたてコンソールを開いてディスク一覧から対象のディスクを [更新開始] してください。
  1. DNS 設定

ほたて環境では、ネットブートをする関係上、DHCP で取得した DNS リゾルバの情報を設定しません。 したがって、使用する DNS サーバーの IP アドレスを systemd-resolved の設定ファイルに設定する必要があります。

/etc/systemd/resolved.conf を編集し、 DNS= の行に DNS サーバーの IP アドレスを設定してください。

  1. .NET 8.0 のインストール

クライアント環境に .NET 8.0 をインストールします。 各ディストリビューションのパッケージマネージャーを使用して、dotnet-runtime-8.0 をインストールします。

手順については Microsoft 公式のドキュメントをご参照ください。 https://learn.microsoft.com/ja-jp/dotnet/core/install/linux

  1. ほたて Linux 版クライアントツールのインストール

このファイルが同梱されているほたてパッケージから、以下のディレクトリ・ファイルをインストール先環境にコピーします。

  • ClientForLinux
  • ClientProgramData
  • version.txt

インストールスクリプトを実行してインストールします。

sudo bash ./ClientForLinux/install.sh

途中で設定ファイル /usr/share/co-conv/HotateBoot/HotateMonitorClient.ini の設定のために nano が起動します。 HotateMonitorClient.ini 内の次の部分に、モニターサーバーの IP アドレスとポート番号を設定してください。

[Server]
# データ 送信先の URL アドレス。
URL=https://192.168.0.11:30807/
  1. 最適化設定を実施
  • カーネルのアップデートをしないように設定します。

    Ubuntu の場合 https://unix.stackexchange.com/questions/718969/ubuntu-22-04-restrict-kernel-upgrade に従い、カーネルのアップデートを禁止します。

  • ソフトウェアアップデートの自動確認を無効にします。

    Ubuntuの場合、 Software updater において Automaticall check for update を never に設定し、Timezone を JSTに設定します。 RTC が localtime になるように設定します。

    hwclock -w -l
    timedatectl set-local-rtc 1
    
  • Wake on LAN の設定

    Wake On LAN (WOL) が有効になるように設定します。 多くの場合 Linux で起動した時に WOL は無効となっています。 このような場合には Ethtool で WOL を有効な状態にするのが一般的です。 なお、起動するごとに WOL を有効にする必要があるため、systemd などを用いてサービス化することをお奨めします。 サンプルが必要な場合に当社にお問い合わせください。

  1. 更新端末をシャットダウン
更新端末をシャットダウンしてください。
  1. イメージ更新作業の終了
ほたてコンソールを開き、ディスクの一覧で対象のディスクを[更新完了]にします。
  1. 更新後のイメージで起動確認

更新後のバージョンで端末が起動できることを確認してください。 ほたてモニターコンソールにアクセスし、端末の動作状況が表示されていることを確認してください。

メモ

ほたてモニターコンソールへはブラウザから https://ほたてサーバーのIP:30807 にアクセスしてください。

Tips

ほたて Linux スワップの設定について

Ubuntuのインストーラはデフォルトで /swapfile にスワップを設定しています。 ほたて使用時は、ほたてが管理するディスク内にスワップファイルを置くことはサポートされていません。 したがって、ほたてインストール時にUbuntuデフォルトのスワップを無効にしています。

スワップを使用する必要がある場合は、各端末にHotateFormatterでスワップパーティションを設定して、それを使用することが推奨されます。

メモ

パッケージは次のパスに導入されます。

  • MonitorClient の設定ファイル: /usr/share/co-conv/HotateBoot/HotateMonitorClient.ini
  • 実行ファイル: /opt/co-conv/HotateBoot/Client
  • MonitorClient の EFI 展開機能が使うコピー元のパス: /opt/co-conv/HotateBoot/Client/EFI
  • HotateClient のシンボリックリンク: /usr/local/sbin/HotateClient -> /opt/co-conv/HotateBoot/Client/HotateClient
  • ログファイル: /usr/share/co-conv/HotateBoot/log/
    • HotateClient: HotateClient.log
    • HotateMonitorClient: HotateMonitorClient.log
    • HotateSprayClient: HotateSprayClient.log