Masato's IT Library

Microsoftの製品・サービスを中心に,色々と書いていきたいと思います

Windows Server 2016のインストールメディアの分割方法

はじめに

Windows StoreやVisual Studio Subscription(旧 MSDNサブスクリプション)で配布されるWindowsのインストールメディア(isoファイル)は最近ではUSBフラッシュメモリを用いてインストールを行うことが想定されているためか,DVD1枚に収まる容量(4.7GB)を超えるサイズのものが存在します.

(参考)Windows Server 2016 : 5621MB

しかしながら,世の中にはまだまだUSBフラッシュメモリからのブートが不可能なマザーボードも存在し,USBフラッシュメモリからのブートができたとしても,FAT32しか認識できない(4GB以上のファイルが格納できない)などといったケースが少なからずあります.

そこで,ここでは,Windowsインストールメディアに含まれる最大サイズのファイルであるinstall.wimを任意のサイズに分割して,複数のより小さなisoファイルを作成する方法を説明します

※注意
Windows 8/8.1,Windows Server 2012/2012R2では,以下の方法で作成した分割メディアはインストーラの不具合により使用できないそうです.
Windows 10以降では問題なく用いることができます.

分割メディアの作成手順

Windows ADKをインストールする

イメージファイルを編集するためのツールを導入するため,作業用のマシンに最新のWindows ADK(Windows Assessment and Deployment Kit)を下のリンク先からダウンロードし,インストールします.

Windows ADK のダウンロード - Windows ハードウェア デベロッパー センター

  1. ダウンロードしたadksetup.exeを実行し,
    「このコンピュータに Windowsアセスメント & デプロイメントキットをインストールします:を選択して続行します.
    f:id:mst8000:20170107133533p:plain:w400

  2. CEIPの選択画面ではどちらか好きな方を選んで続行してください.

  3. インストールする機能を選択する画面では「Deployment Tools」のみを選択してインストールを開始します.
    f:id:mst8000:20170107153155p:plain:w400
    f:id:mst8000:20170107153252p:plain:w400

  4. ADKのインストール作業が完了しました.
    f:id:mst8000:20170107153450p:plain:w400

install.wimを分割する

それでは,ADKを用いてinstall.wimを分割していきます.
(注)以降,F:\Windowsのインストールメディアのisoをマウントしているとします.

  1. スタートメニューから,「Windows Kits」→「展開及びイメージング ツール環境」を管理者権限で実行します

  2. 次のコマンドラインを実行してinstall.wimを分割したファイルを作成します.
    Dism /Split-Image /ImageFile:F:\sources\install.wim /SWMFile:D:\temp\install.swm /FileSize:3072

/ImageFileは分割元のファイル,/SWMFileは分割したファイルの保存先ファイル名,/FileSizeは分割サイズ(MB) を表しています.

分割されたファイルはinstall.swm, install2.swm...といったように連番が自動的にファイルにつけられます.

swmファイルと必要なファイルの配置

  1. 作業フォルダに分割された数だけDVD1, DVD2というフォルダを作成し,各フォルダ内にsourcesフォルダを作成します.

  2. 分割されたswmファイルを各sourcesフォルダに一つずつ移動します.

  3. (DVD1のみ
    起動ディスクとなるDVD1のみ,
    F:\からF:\sources\install.wim以外のファイルを全てDVD1フォルダにコピーします.

インストールメディア(isoファイル)を作成する

  1. (DVD1のみ
    次のコマンドラインを実行してインストールメディアを作成します
    oscdimg -m -o -u2 -udfver102 -b"F:\boot\etfsboot.com" D:\temp\DVD1 D:\temp\DVD1.iso

  2. (DVD1以外
    次のコマンドラインを実行してインストールメディアを作成します(フォルダ名等は適宜変更)
    oscdimg -m -o D:\temp\DVD2 D:\temp\DVD2.iso

※上記方法はBIOSブートのみ対応です.UEFIは調べて追記予定)

以上で,分割されたインストールメディアが完成しました.

インストールを実行する

出来上がったisoファイルは,Windowsディスクイメージ書き込みツール等でDVD・CDに書き込むか,USBメモリに書き込みます.

f:id:mst8000:20161226203905p:plain:w300

mstn.hateblo.jp

インストールディスクが出来上がったら,DVD1を用いてインストールを開始することができます.
インストール作業中に次のディスクに入れ替えるよう指示されるので,次のディスクを入れてOKをクリックしてください.

blog.engineer-memo.com

Windows イメージ (.swm) ファイルを複数の DVD にまたがるように分割する

Windows Updateによる自動再起動を阻止する方法(Vista以降全バージョン対応)

はじめに

月次もしくは臨時のWindows Updateでは,コンピュータの再起動が求められることが多いですよね.

そんな時,おそらく誰もが経験したことがある(?)のが,

「実行中の処理があるため今再起動されると困る」

「放っておいたら文書が保存されずに再起動していた」
(こまめに上書き保存しましょう)

ということ.

しかしながら,自動更新やWindows Update自体を停止してしまうことは, 脆弱性や攻撃からの保護の観点から,好ましいものではありません.

(こちらはサービスごと止めちゃうタイプ)

forest.watch.impress.co.jp

そこで,今回はユーザが「サインイン(ログオン)しているときのみ」自動で再起動が行われることを防ぐ方法をお伝えします.

なお,今回の手順を行うとユーザがサインインしている限り自動で再起動は行われなくなりますが,
安全性のためにも 出来るだけ早く手動で再起動するようにしましょう!!

今回行う手法では,Windows Updateサービスの停止やレジストリの直接的な変更を行うのではなく, 企業等においてコンピュータの動作を制御するために用いられる「ポリシー」(グループポリシー)を変更します.
そのため,変更を誤ってもコンピュータが起動しなくなるなどの問題が発生することはなく,変更を元に戻す際にも副作用等が発生することがありません.

Windows 10からのアップデート仕様の変更

Windows 10からは,脆弱性の対処をより迅速に行うために,これまでのWindowsと異なり, Windows Updateの自動更新を設定からOFFにすることはできなくなりました.
また,自動更新適用後の再起動に関しても,あらかじめ設定した「アクティブ時間」以外では自動で再起動が行われるようになりました.(Pro以上のみ)

f:id:mst8000:20161208193504p:plain:w400

なお,今回の手順を適用することで,Windows 10でも同様に自動再起動が行われないようにすることができます. (Windows 10 Pro Anniversary Update (Version 1607)で確認)

適用手順

では,実際に設定を変更していきます.
以降の作業はすべてWindows 10 Pro Version 1607(Anniverssary Update)で行っていますが, 全てのWindowsでほぼ同じ作業手順となっています.(ただし全てPro相当以上のエディションのみ

また,以降では,管理者によって管理されていない通常のコンピュータにおける手順を示しています. Active Directory配下の場合は管理者が適切なGPOを編集することで適用することができます.

ローカルポリシーエディタを開く

コマンドプロンプトもしくは「ファイル名を指定して実行」ダイアログにgpedit.mscと入力して 「ローカルグループポリシーエディター」を開きます.
(Cortanaに「ローカルグループポリシー」と入力しても開くことができます.)

f:id:mst8000:20161208191101p:plain:w400

f:id:mst8000:20161208191220p:plain:w500

ポリシーを編集する

  1. ローカルグループポリシーエディターの左ペインで
    「コンピューターの構成」→「管理用テンプレート」→「Windowsコンポーネント」→「Windows Update
    と辿ります.
    f:id:mst8000:20161208194124p:plain:w600

  2. ポリシーによるWindows Updateの制御を有効にします.
    右ペインの「自動更新を構成する」をダブルクリックして設定ダイアログを開きます.
    f:id:mst8000:20161208194327p:plain:w600

  3. ①「有効」を選択し,
    ②「5 - ローカルの管理者の設定選択を許可」をドロップダウンから選択します.
    ③最後に「OK」を押してダイアログを閉じてください f:id:mst8000:20161208194605p:plain:w600

  4. 次に,ユーザがサインインしている状態での自動再起動を抑止します.
    ローカルグループポリシーエディターの右ペインで「スケジュールされた自動更新のインストールで、ログオンしているユーザーがいる場合には自動的に再起動しない」をダブルクリックして開きます.
    f:id:mst8000:20161208195357p:plain:w600

  5. 「有効」を選択してから「OK」を選択してダイアログを閉じます.
    f:id:mst8000:20161208195549p:plain:w600

以上でポリシーの編集は完了です. f:id:mst8000:20161208195644p:plain:w600

ローカルポリシーの適用

ポリシーを編集しても,すぐに設定は反映されません.
コンピュータを再起動するか,次のコマンドを管理者コマンドプロンプトから実行して, ポリシーを適用してください.

gpupdate /force

f:id:mst8000:20161208184454p:plain:w400

おわりに

以上で,ユーザがサインインしている間のWindows Updateによる自動再起動をブロックすることができるようになりました.

なお,頭でも述べましたが,脆弱性対策,安全性のためにも,
出来るだけ早く手動で再起動するようにしましょう!!

Windowsのインストーラディスクの作り方

Windowsクリーンインストールする際には,DVDなりUSBフラッシュメモリといったインストールメディアが必要となります.

しかしながら,最近主流となりつつあるダウンロード販売や,MSDN Subscription,Microsoft Imagine(旧Dream Spark)といったサービスでは,isoファイル等のディスクイメージの形でのみWindowsのインストールメディアが入手出来るようになっています.

仮想環境に展開する場合はそのままでもよいのですが,物理環境にWindowsをインストールするためにはisoファイルからインストールメディアを作成することが必須となりますので,その方法を書きたいと思います.

DVDメディアへ書き込む場合

Windows 7以降では,OS標準機能として,CDやDVDへのisoファイルの書き込みに対応しています.

  1. isoファイルのファイルサイズに比べて十分大きな容量のブランクディスク(DVD-R/RWなど)をディスクドライブに入れます.このとき,自動再生メニューが表示されたらキャンセルを選択してください.

  2. 書き込むisoファイルを右クリックして「ディスク イメージの書き込み」を選択します.
    f:id:mst8000:20161013114436p:plain

  3. 「書き込み」をクリックして,書き込みを開始します.正しく書き込めているか確認する(ベリファイ)には「書き込み後のディスクの確認」にチェックを入れておくとよいです.
    f:id:mst8000:20161013115018p:plain

  4. 書き込み作業が終了すると,インストールメディアの作成は完了です.

USBフラッシュメモリへ書き込む場合

USBメモリのフォーマット

注意:USBフラッシュメモリの内容がすべて消去されます.必要なファイル等は必ずバックアップを取ってください

  1. USBフラッシュメモリをPCに差し込みます.

  2. エクスプローラで対象のドライブを右クリックして「フォーマット(A)...」を選択します.
    f:id:mst8000:20161013115755p:plain:w400

  3. 図のようにファイルシステムを「FAT32」に設定して,フォーマットを「開始(S)」します.
    f:id:mst8000:20161013115848p:plain:w200

以降,差し込んだUSBフラッシュメモリのドライブをF:とします.

isoファイルのマウント

Windows 8以降では,OS標準機能として,isoファイルの仮想ドライブとしてのマウントに対応しています.

書き込むisoファイルをダブルクリックして,isoファイルを仮想ドライブとしてマウントします.
以降,isoファイルをマウントしたドライブをG:とします.

f:id:mst8000:20161013120037p:plain

イメージ内容のコピー

マウントしたisoファイルにあるファイル(G:\以下)のすべてのファイルUSBフラッシュメモリF:\)にそのままコピーします.

f:id:mst8000:20161013120729p:plain

ブータブルディスクとして設定

イメージ内容をコピーしただけのUSBフラッシュメモリは,そのままではWindowsのインストールメディアとして利用することができません.イメージファイルに含まれるツールを用いて,ブータブルディスクとして設定します.

  1. まず,コマンドプロンプトもしくはPowerShellを「管理者として実行」します.
    Windows 8以降ではWindowsキー+Xを押して出るメニューから選択して簡単に起動できます.
    f:id:mst8000:20161013123348p:plain:w200

  2. cdコマンドでマウントしたイメージファイルG:\)のbootフォルダに移動します.
    cd /D G:\boot
    f:id:mst8000:20161013124251p:plain:w400

  3. USBフラッシュメモリをブータブルディスクとして設定します.
    次のコマンドを実行してください.(USBフラッシュメモリF:
    bootsect /nt60 F:

  4. 次のように処理が成功したことを確認します.
    f:id:mst8000:20161013124452p:plain:w400

以上でインストールメディアの作成は完了です.

PowerShellでリモートからコマンドを実行する

はじめに

みなさん,Linuxの管理時にSSHは使われますか?(使われますよね)
Windowsでも,リモートデスクトップではなく,PowerShellを使ってリモートからアクセスしたい!と思いませんか?(思いますよね)

ここでは,Windows 7以降を実行するWindows(Server・コンシューマどちらでも)に対して,リモートからPowerShellを用いてアクセスする方法を書きたいと思います.

WinRM (Windows Remote Management)を有効にする

接続のホストで,一度だけ次のコマンドを実行して,WinRMを有効にします.

Enable-PSRemoting

この時,ネットワークの設定が「プライベート」でない場合,エラーが発生して停止してしまいますので,ネットワークの設定を変更するか,次のコマンドで強制的にWinRMを有効にします.

Enable-PSRemoting -SkipNetworkProfileCheck

同様に,接続のホストでも先ほどのコマンドを実行してWinRMを有効にします.

なお,WinRMを有効にすることで,ファイアウォールの5985番ポートがオープンしますのでご注意ください.

TrustedHostsを設定する

WinRMでは,接続のホストから見て,接続のホストが「信頼できるホストである」ことが必要です.
Active Directory配下にどちらのホストも存在する場合は問題ないのですが,ワークグループ環境などでは,次のコマンドを用いて個別に接続先のホストを信頼してあげる必要があります.

接続のホストから,次のコマンドを実行してください.

Set-Item WSMan:\localhost\Client\TrustedHosts -Value (ホスト名 or IPアドレス or *)

実行すると次のようなメッセージが表示されますから,Yを入力して続行します.

WinRM セキュリティの構成。
このコマンドは WinRM クライアントの TrustedHosts の一覧を変更します。TrustedHosts
の一覧内にあるコンピューターは認証されない可能性があります。クライアントはこれらのコンピューターに資格情報を送信する可能性があります。この一覧を変更します
か?
[Y] はい(Y) [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): Y
  • 複数のホスト名やIPアドレスを設定する場合
    Set-Item WSMan:\localhost\Client\TrustedHosts -Value "host1, host2"

  • すべてのホストを信頼する場合
    Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*"

  • 現在設定されているTrustedHostsを確認
    Get-Item WSMan:\localhost\Client\TrustedHosts

  • 設定されているTrustedHostsをすべて消去
    Clear-Item WSMan:\localhost\Client\Trustedhosts

これで,接続前の準備は完了です(2回目以降は行う必要はありません)

セッションを開始する

次のコマンドにより,リモートマシンへの接続を開始します.
コマンド実行後にパスワードを入力するダイアログが開きます.

Enter-PSSession -ComputerName (ホスト名) -Credential (ユーザ名\ドメイン)

以降,ローカルマシンと同様にリモートコンピュータ上でPowerShellによる操作を行うことができます.

セッションを終了する

セッションを終了する場合は次のコマンドを実行します.

Exit-PSSession

便利なコマンド

yomon.hatenablog.com

tech.guitarrapc.com

tech.guitarrapc.com