スキップしてメイン コンテンツに移動

投稿

12月, 2019の投稿を表示しています

iscsi and secure boot

iSCSIにてuEFIセキュアブートできたので、メモ代わりにアップしました。 対象マシンがuEFIに対応したiSCSIの署名付きファームを載せていることが前提です。マザーボードによりけりだと思いますが、筆者の場合、某メーカのワークステーションでBIOSのアップデート+Secureブートにて、iSCSIから起動できましたが、ほかの環境では多少変わるかもしれません。なお、NICはオンボードのintel製でした。 本来ならインストールの時点からSecureブートしたほうがいいのかもしれませんが、iPXEで 一旦セットアップ完了 後、セキュアブートに変更することでiSCSIから起動できました。 2021/08/06 追記:Windows 11 Preview version + on board NICの場合、BIOSでOption Rom設定を行い、iscsi設定を済ませて置き、システムがiscsi driveを認識できていると、windowsをusbインストールでローカルディスクと同じようにインストールできました。 10GのNICや40GのNICでも基本的には同じ要領だと思います。 以上。

dhcpにてroot-pathとnext-serverを指定し、ipxeからtftpでwinpeを起動

DHCPにてroot-pathとnext-serverを指定し, ipxeからtftpでwinpeを起動させる方法です。まず、DHCPは、要所だけですが以下の通りです。なお、dhcpサーバとtftpサーバは同じサーバ(10.1.1.1)で、iscsiサーバは別サーバ(10.1.1.2)の場合の例です。 include "/etc/dhcp/ipxe.options"; #(中略) subnet 10.1.1.0 netmask 255.255.255.0 { #(中略) if exists user-class and option user-class = "iPXE" { next-server 10.1.1.1; # tftp server filename "iPXE/menu.ipxe"; } else { next-server 10.1.1.1; # tftp server if substring (option vendor-class-identifier, 15, 5) = "00000" { # BIOS Client filename "iPXE/undionly.kpxe"; } elsif substring (option vendor-class-identifier, 15, 5) = "00006" { # 32bit efi client filename "iPXE/ipxe.i386.efi"; } else { # default to 64bit efi client filename "iPXE/ipxe.x86-64.efi"; } } host i38 { option host-name i38; fixed-address 10.1.1.38; hardware ethernet aa:bb:cc:dd:ee:ff; option

iSCSI rooted Windows 10 1903/1909 with ipxe -- diskless Windows 10 1903/1909

Windows 10 1809はインストール時のネットワークドライバの読み込みだけでiSCSI boot できていましたが、1903/1909ではIRQL NOT LESS OR EQUALでBSODになってしまいました。調べたら、 こちらの投稿 によると、古いWindows10と最近のwindows10ではpagefile.sysをiscsi上に置けないためだそうです。また、前述のところには記載はありませんが、ハイバネーションをoffにする必要があります。 試したところ、1909をipxeでインストールおよびブート、アップデートができました。 なお、WinPEは日本語にローカライズしたものを、インストールメディアも日本語版を使っていますが、特に問題はありませんでした。 以下、手順です。 1. iscsiターゲットを用意し、dhcpにてroot-pathを指定して、ipxeでwinpeを起動する 。 2. net use コマンドでOSおよびドライバの入った場所を接続する。 3.OSのディレクトリに入り、setup /norebootでインストールを開始する。 4.ディスクのフォーマットの画面でネットワークドライバを読み込ませる。 5.ディスクをフォーマットしインストールを続行させる。 6. セットアップ終了後,disk partにてシステムドライブのパーティションを確認 7. プロンプトにて、例えば以下のようにして レジストリをロードする。 reg load HKLM\Temp_Software E:\windows\system32\config\system 8. HKLM¥Temp_Software\ControlSet001\Control\Session Manager\Memory Management に PagingFiles があるので、regeditにて項目の中身?pagefile.sysを削除して空にする。 9. 以下のようにしてハイブをアンロードしセーブする。 reg unload HKLM\Temp_Software 10. 再起動してネットワークブートさせる。 11. 初回のログオン時に、コマンドで powercfg /h off としてハイバーネーションをoffにしておく。 以上です。