VHDネむティブブヌトの内偎ず倖偎

この蚘事の目的は、VHDネむティブブヌトず呌ばれる非垞に䟿利であたり知られおいないWindows機胜、぀たりVHD / VHDx圢匏の仮想ハヌドディスクから起動する機胜に関する私の経隓を説明するこずです。



バヌゞョン7以降、Windowsには仮想ディスクVHD / VHDx以䞋、単にVHDず呌びたすを䜜成し、「ディスクの管理」グラフィカルむンタヌフェむスずdiskpartコマンドラむンナヌティリティを介しおそれらを接続および切断する機䌚がありたす。 さらに、Windowsはそのようなディスクから起動するこずを孊習したしたが、すべおは問題ありたせんが、この同じネむティブブヌトは叀いバヌゞョンの所有者、぀たりPro以降からのみ利甚できたした。 明らかに、これはマヌケティングの制限にすぎたせん。Windows10の登堎により、Anniversary Update1607ずCreators Update1703を確認したため、これ以䞊の制限はありたせん。 これはWindows 10 Homeでも機胜し、ホストずゲストの䞡方ずしお機胜できたす。 以䞋で、その倖芳ず䜿甚方法に぀いお孊習したす。



長い間、私はいわば、皌働䞭のコンピュヌタヌ、぀たり内郚仮想化に関連しお仮想化を䜿甚するずいうアむデアに興味がありたした。 ゜フトりェア開発者、セキュリティの専門家、テストの専門家にずっお、仮想マシンはどれほど䟿利で䟿利なのか。 しかし、このビゞネスはただ自宅/職堎のコンピュヌタヌずそのオペレヌティングシステムのレベルには達しおいたせん。 オペレヌティングシステムが非垞に耇雑でデリケヌトなコンポヌネントである堎合、ナヌザヌを無差別に信頌するこずはできず、オペレヌティングシステムが䜕かに感染たたは損害を䞎えようずするこずは明らかです。 はい、リカバリポむントから぀たり、シャドりコピヌからバックアップず埩元がありたすが、これらはすばらしいこずです。 ただし、これらは非垞に゚ラヌに敏感なコンポヌネントであり、保存できない堎合がありたす。さらに、倚くのマルりェアはシャドりコピヌを削陀し、ナヌザヌに機䌚を䞎えたせん。 「萜ちた」たたは「台無しになった」システムが数分以内に皌働状態に戻るように、コピヌず貌り付けのレベルでシンプルで平凡なものが欲しいです。 もちろん、゜リュヌションをシステム自䜓に組み蟌み、単にシステムに組み蟌むのが理想的です。 Hyper-Vはただ適切ではありたせんが、必芁なレベルたでドヌプできたす。 結局のずころ、私はマシンのすべおの機胜、すべおの鉄、すべおのパワヌを最小限の犠牲者で利甚できるようにしたいのです。



システム党䜓が1぀のファむルに収たるこずを考えるず、実際のディスクの代わりに仮想ハヌドディスクを䜿甚するこずは正圓な被害者のように思えたす。このファむルを時々「暪に」どこかにコピヌするだけで十分です。 結局のずころ、1぀のファむルをコピヌするこずは、たずえ倧きいファむルであっおも、数䞇よりも明らかに簡単です。 さらに、このようなファむルは、組織にWindowsを展開するために簡単に䜿甚できたす。



数皮類のコンピュヌタヌがある堎合は、システムず必芁なすべおの゜フトりェアをVHDにむンストヌルし、このファむルをすべおの同様のコンピュヌタヌにコピヌするだけで、珟堎䜜業が最小限に抑えられたす。 Windowsをロヌドせずに䜕らかのシェルを䜿甚するずよいでしょう。Windowsにアクセスしお、ファむルレベルでVHDを操䜜、コピヌ、眮換、曎新などできる「ハむパヌバむザヌコン゜ヌル」のようなものです。 さらに、Windows自䜓の構成にはそのようなシェルがあり、Windows Recovery Environment、WinREず呌ばれたす。 実際にどのように芋えるか芋おみたしょう。



1. Windowsを最初からVHDにむンストヌルする



このトピックはWebで広く取り䞊げられおおり、賢明なガむドが倚数ありたす蚘事の最埌のリンクを参照しおください。

䞀般的に、コンピュヌタヌがむンストヌルディスクから起動した時点で、魔法の組み合わせShift-F10を抌すだけです。 䞊行しお、コマンドラむンりィンドりが開きたす。そこでは、diskpartを䜿甚しお、実際のハヌドディスクコンピュヌタヌ/ディスクが新しい堎合をフォヌマットおよびパヌティションし、必芁なサむズのVHDを䜜成する必芁がありたす。 簡単にするために、64ビットバヌゞョンずハヌドドラむブをMBRでむンストヌルするこずを怜蚎したす。



そのため、ハヌドディスクが砎損し、察応するボリュヌムのVHDsフォルダヌが䜜成されたす。今床はdiskpartで、このフォルダヌに仮想ハヌドディスクを䜜成し、フレンドリ名を付けお添付を実行する必芁がありたす。次の文字が仮想ディスクに割り圓おられたす。 これで、Windowsむンストヌルりィンドりに戻り、この特定の文字をむンストヌル甚に遞択できたす。 すべお、むンストヌラヌはすべお自分で行いたす。 含めるず、BCDファむルに目的の゚ントリが远加されたす。



私は、bcdeditを䜿甚するこずはあたりにも残酷な自虐行為のように思えたので、操䜜のために1぀のサヌドパヌティツヌルを䜿甚するこずを蚱可したした。これは、察応する容量のBooticeナヌティリティです。 同じむンストヌルディスクにあるずしたす。 そうでない堎合は、将来、「ハむパヌバむザヌ」シェルに「投げる」方法を瀺したす。



そのため、デモンストレヌションのために、25 Gbのハヌドドラむブを1台甚意したすお気に入りのVirtualboxを䜿甚しお衚瀺したす。1぀のセクションがあり、仮想ディスクを䜜成しおWindows 10をむンストヌルしたVHDフォルダヌがありたす。



画像



これが、Booticeのシステムのブヌトメニュヌの倖芳ですセクションBCD、むヌゞヌモヌド。



画像



ここで25 Gb Cこれは、仮想20 Gbを䜜成し、Windows 10をむンストヌルした「物理」ディスクです。すべお問題ありたせんが、管理甚のシェルを䜜成する必芁がありたす。 ご存じのように、WinREは垞にWindowsずずもにむンストヌルされ、起動の問題が怜出された堎合に助けになりたす。 私たちは別の目的のためにそれを必芁ずしたす、私はそこにVHDファむルを扱うために行きたいです。 WinREアむテムをブヌトメニュヌに远加したす。 これを行うには、Booticeでプロフェッショナルモヌドを䜿甚したす。巊偎のリストの最埌のオブゞェクトはWindows回埩であり、右偎ではVHDでその堎所を確認できたす。



画像



このオブゞェクト、たたはそれぞのリンクをブヌトメニュヌリストに远加し、巊䞊隅でWindowsブヌトマネヌゞャヌブランチを遞択し、右ペむンで[衚瀺順序]アむテムを遞択し、ドロップダりンリストからWinREアむテムを远加する必芁がありたす。



画像



これで、むヌゞヌモヌドに戻るずわかるように、Windows回埩環境の項目がシステムのブヌトメニュヌに衚瀺されたす。



画像



再起動しお2番目の項目を遞択するず、WinREがロヌドを開始したす。ここでは、トラブルシュヌティング、高床なオプション、コマンドラむンの項目のみに関心がありたす。 これらはすべお、Windowsむンストヌラヌず、広く知られおいるWindows Preinstallation EnvironmentであるWinREの䞡方に䌌おいたす。 実際には、ここからシェルを䜿甚した䜜業が開始されたすが、どれを遞択するかはそれほど重芁ではありたせん。すべおがほが同じであるためです。



メむンのハヌドドラむブはCドラむブで、master.vhdはVHDsフォルダヌにあり、どこかに簡単にコピヌできたす。 WinREでは、magicコマンドを䜿甚しおネットワヌクを接続したす。



wpeutil initializenetwork
      
      





ネットワヌクアダプタヌドラむバヌが自動的に遞択されお起動され、DHCPサヌバヌからIPアドレスが取埗され、ネットワヌクを操䜜できたす。 Virtualboxでは、次のコマンドでネットワヌクフォルダヌに接続できたす。



 net use z: \\10.0.2.2\d$
      
      





そしお、そこからすでにシェルで動䜜するために必芁なツヌルをコピヌしたす。 x64バヌゞョンが遞択されおいるため、WinREで実行されるプログラムはx64である必芁があり、サロゲヌトは開始されたせん。



Booticeに加えお、Far Manager、7-zipが簡単に远加され、それらを䜿甚するこずで、すでに䜕らかの圢でより楜しくなっおいたす。 動䜜するPalemoon Portable Webブラりザヌを芋぀けるこずさえできたした。これを䜿甚するず、Webから必芁なコンポヌネントを非垞に簡単にダりンロヌドできたす。 Cygwin64は完党に機胜し、混合環境でssh / rsyncの道を開きたす。 さらに、vhdファむルを安党にアヌカむブおよびコピヌするこずができたす。 master.vhdに問題がある堎合、WinREを起動しおネットワヌクストレヌゞからバックアップコピヌを取埗し、WinREを終了しおシステムを元に戻したす。



WinREシェルから盎接diskpartたたはBooticeを䜿甚しお、新しいVHDディスクを䜜成し、Windowsむンストヌラヌを実行できたす。他のバヌゞョンを远加し、この新しいWindowsを新しいVHDにむンストヌルする堎合、OSブヌトメニュヌの目的の項目が远加されたす。



残っおいるのは、master.vhdですべおが非垞に悪く、WinREシェルを起動できない堎合に備えお安党にプレむするこずです。これは、このディスクの䞀郚であるためです。 もちろん、これは臎呜的ではありたせん。Windowsむンストヌルディスクからい぀でも起動しおShift-F10を抌すこずができたすが、WinREをホストディスクに配眮しおそこから起動するこずができたす。 ブヌトメニュヌは次のようになりたす。



画像



2.実行䞭のコンピュヌタヌのVHDにWindowsをむンストヌルする



新しいVHDを䜜成しお接続し、むンストヌラヌを実行しお、接続されたドラむブに割り圓おられた文字を遞択するこずにより、既存のコンピュヌタヌにオペレヌティングシステムを远加するこずは問題ではありたせん。 さらに難しいタスクは、システムの物理ディスクに既にむンストヌルされおいる珟圚の構成を仮想ディスクに転送するこずです。 ここでいく぀かのオプションが思い浮かびたす。 最初に思い出したのは、Windows Backupを䜿甚するこずです。これは、システムむメヌゞ䜜成モヌドでVHDvhdxファむルを䜜成するだけだからです。 必芁なこずは、ブヌトメニュヌにそのようなVHDぞのリンクを远加し、䜕が起こるかを確認するこずだけであるように思われたす。 そのため、最初にWindowsを起動したずきに゚ラヌが発生し、その埌のすべおで、非垞に長い間、䜕かが慎重に読み蟌たれ、元のシステムのロック画面の写真でりィンドりを垣間芋たしたが、再び消えたした。 理由はわかりたせんが、バックアップから取埗したVHDディスクからWindowsをロヌドできたせん。 SysinternalsバンドルのDisk2vhdを䜿甚しお、別の方法で行かなければならなかった。



すべおが非垞に簡単です。物理ディスクのパヌティションたたはディスク党䜓を遞択するず、Disk2vhdからVHDファむルが䜜成されたす。



画像



しかし、それから䞍䟿が始たりたす。 結果のVHDは、実際のサむズに関係なく、物理ディスク党䜓のサむズであるず報告したす。 ぀たり、物理ディスクが180 Gbで、サむズが100 Gbの最初のパヌティションのみを遞択した堎合、VHDファむルは玄50 Gbでしたが、玄180 GBず報告されたす。 ここでの問題は、そのようなVHDから起動する堎合、Windowsが機胜するには180 GBのスペヌスが必芁になるこずです。 ぀たり、最適化デフラグ、sdelete -z、たたは圧瞮コンパクトvdisk、瞮小の方法に関係なく、Disk2vhdの元の特性を取り陀くこずはできたせん。 耇雑な倉換に行き、空のVHDを䜜成し、それをVirtualbox PartedMagicにロヌドし、倉換された空のVHDをそこに入れお、Gpartedおよびbootrecを台無しにしたくない堎合はClonezillaを䜿甚しお、パヌティションを移動する必芁がありたした。 結果は20 GbのVHDであり、この蚘事から珟圚執筆䞭です。



3.差動VHDを䜿甚する



特に信頌性の䜎い環境、公共のコンピュヌタヌ、たたはいく぀かの危険な実隓では、差分、倉曎された情報、および元のVHDのみを蚘録する差分VHDディスクを䜿甚するず䟿利です。 開始するには、VHDドラむブ䞊に動䜜䞭のシステムが既に存圚しおいる必芁があり、その埌、差動ドラむブでオプションを远加する必芁があるこずは明らかです。 このようなディスクは、diskpartで䜜成するこずも、すべお同じBooticeで䜜成するこずもできたす。 master.vhdをメむンディスクずし、[䜜成]ボタンをクリックしお、差分のchild.vhdを䜜成したす。



画像



次に、master.vhdの代わりに差分child.vhdを指定しお、BCDのVHDからの起動を担圓するアむテムを远加/修正する必芁がありたす。



これを行うには、Booticeでプロフェッショナルモヌドを䜿甚し、既存のWindows 10アむテムのコピヌを䜜成し右クリックしおこの゚ントリを耇補したす、Windows 10 Child VHDで新しいものの名前を倉曎したす。 さお、この時点で、vhdファむルの名前を倉曎しおApplicationDeviceずOsDeviceを修正したす。



画像



これで目的のアむテムがブヌトメニュヌに远加されたした。 Windows 10 Child VHDを遞択するず、Windowsが起動し、これ以降、すべおの倉曎がchild.vhdに曞き蟌たれたす。 ロヌド時のchild.vhdの䞋では、実際のサむズが数癟倍小さい堎合でも、master.vhdで瀺されおいるように、぀たり20 Gbのスペヌスが予玄されるこずに泚意しおください。 時々、マヌゞ手順を実行するこずは意味がありたす。぀たり、䜕も倱わないように、环積した差分を子からマスタヌに送信したす。 実際には、子ではなくmaster.vhdに基づくマスタヌたたはWinREで起動するず、マスタヌず子の間の接続が切断されるため、子を修埩する必芁がありたすが、Booticeはこれを実行できたす。



画像



4.起動可胜なVHDを䜿甚する堎合の掚奚物理ディスク構成



次のように物理ディスクをパヌティション分割するこずをお勧めしたす。



VHDファむルを保存するのに十分な倧きさの1぀のセクションは、必芁なVHDの数に䟝存したす。 Windows x64の最小むンストヌルには20 GBが必芁です。ダむナミックディスクを䜜成できたす。぀たり、実際にサむズが倧きくなるのは、内郚になったずきだけです。 ただし、動的VHDの読み蟌み時に、Windowsは指定された最倧サむズに応じお領域を予玄するこずを再床匷調したす。



マむクロ゜フトでは、実皌働環境で固定サむズのVHDを䜿甚し、動的なVHDをテストのみに䜿甚するこずをお勧めしたすが、動的なVHDでのパフォヌマンスの䜎䞋はあたり感じたせんでした。



2番目のセクションでは、たずえば、異なるVHDから起動し、同じファむルずプログラムで䜜業する堎合、ナヌザヌデヌタずポヌタブルアプリケヌションのセットを䜜成したす。 このような区分は、VHDパヌティションを完党に非衚瀺にしお、゚ンドナヌザヌの䞍圓なアクションを避けるためにも圹立ちたす。



たた、遞択したドラむブずVHDを保存するパヌティションを考慮しお、diskpart甚のこの単玔なスクリプトを䜿甚しおパヌティションを非衚瀺にできたす。



 sel disk 0 sel part 1 set id=17
      
      





このセクションは非衚瀺になり、文字は割り圓おられたせんが、Windowsはこのセクションに保存されおいるVHDから起動したす。 唯䞀の泚意点は、ペヌゞファむルの物理ディスク䞊の堎所を遞択するこずです。 システムによっお遞択され、これがたさに非衚瀺になるセクションである堎合、Windowsを起動するたびに、ペヌゞファむルを䜜成する堎所を尋ねられたす。



そしおチェストを戻すには、diskpartでコマンドを実行するだけで十分です。



 set id=07
      
      



たたは

 set id=27
      
      





䟿利なリンクのリスト


ご枅聎ありがずうございたした。



All Articles