ãã¬ã€ã³ã¹ããŒã«ç°å¢ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã€ã³ã¹ããŒã«ããããã ãã§ãªããããšãã°ã·ã¹ãã å埩ããŠã€ã«ã¹å¯Ÿçããããã¯ãŒã¯èšºæãªã©ã®ã·ã¹ãã 管çè
ããŒã«ã®åºç€ãšããŠã䜿çšã§ããŸãã ãã®èšäºã§ã¯ãå¥ã®èšäºã®ãããã¯ã§ããããã管çãŠãŒãã£ãªãã£ãè¿œå ããã«æšæºã®WinPEã€ã¡ãŒãžãæ€èšããŸãã
ããŒãžã§ã³2.0以éã®WinPEãããã¯ãŒã¯ããŒãã·ãŒã±ã³ã¹ã¯æ¬¡ã®ãšããã§ãã
pxeboot.com
ã®ãããã¯ãŒã¯ã³ã¢pxeboot.com
ãŸãã- ãããã¯ãŒã¯ã³ã¢ã¯æšæºã®
bootmgr.exe
ããŒãbootmgr.exe
ã§ããŒãããããããã¯ãŒã¯ããŒãã¯ä»ã®ã¡ãã£ã¢ããã®ããŒããšå®è³ªçã«åãã§ãã - ããŒããããŒãžã£ãŒã¯ãæ§ææ
å ±ïŒããŒããã¡ã€ã«ã®å ŽæïŒãæžã蟌ãŸããŠãã
BCD
ãã¡ã€ã«ïŒããŒãæ§æããŒã¿ïŒãèªã¿åããå¿
èŠãªãã©ã³ãïŒ wgl4_boot.ttf
ïŒãšä»®æ³ãã£ã¹ã¯ãã©ã€ããŒboot.sdi
ããŒãããŸãããã®åŸãWinPEã€ã¡ãŒãžãããŒããããŸãã - ããŠã³ããŒããããŒãžã£ãŒã¯ãBCDãã¡ã€ã«ã®ãã¹ãã©ã¡ãŒã¿ãŒã§æå®ãããããã°ã©ã ã«å¶åŸ¡ãæž¡ããŸãã
äžèšã®ãã¡ã€ã«ãååŸããããã«ãããšãã°
ããã§èª¬æããããã«ãWindows AIKããã±ãŒãžãå±éïŒããŠã³ããŒãããã³ã€ã³ã¹ããŒã«ïŒããå¿
èŠã¯ãããŸããã åæ§ã®OEMãã¬ã€ã³ã¹ããŒã«ãããããªãã·ã§ã³ã§ãã ã€ã³ã¹ããŒã«ãã£ã¹ã¯èªäœãŸãã¯ãã®ã€ã¡ãŒãžããå¿
ââèŠã§ããåŸè
ã®å Žåãã³ã³ãã¥ãŒã¿ãŒã«ã¯7ZipãŸãã¯ISOããã³WIMã€ã¡ãŒãžãããã¡ã€ã«ãã³ããŒã§ããããã°ã©ã ãå¿
èŠã§ãã ãããã£ãŠãWindows AIKãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããæéãç¡é§ã«ããªãã§ãã ããã Windows 7ã8ãããã«ã¯10ã®ã¢ãŒããã¯ãã£äºæãã£ã¹ããªãã¥ãŒã·ã§ã³ãé©ããŠããŸãããæ倧éã®äºææ§ã確ä¿ããã«ã¯ãx86ã¢ãŒããã¯ãã£ã䜿çšããããšããå§ãããŸãã
boot.sdi
ããã³
bcd
ãã¡ã€ã«ã¯ã
boot
ãã£ã¬ã¯ããªã§ååŸã§ããŸããããã§ã¯ã
fonts
ãµããã£ã¬ã¯ããªå
šäœïŒãã©ã³ã
wgl4_boot.ttf
ãããã«ãããŸãïŒã
boot.wim
ã§ããsourcesãã£ã¬ã¯ããªããã¯
boot.wim
ãã¡ã€ã«ã®ã¿ãå¿
èŠã§ãã boot.wimã€ã¡ãŒãžã«ãã2ã€ã®ãã¡ã€ã«ãããã«å¿
èŠã§ãã æãç°¡åãªæ¹æ³ã¯7Zipã°ã©ãã£ã«ã«ãã¡ã€ã«ãããŒãžã£ãŒã䜿çšããããšã§ãããWinPEã€ã¡ãŒãžã«ãã©ã€ããŒãŸãã¯ããã±ãŒãžãè¿œå ããå Žåã¯ãdismãŠãŒãã£ãªãã£ã䜿çšããããšããå§ãããŸãã 次ã«ãdismã®ãªãã·ã§ã³ã«ã€ããŠæ€èšããŸããæšæºã€ã¡ãŒãžãå¿
èŠãªå Žåã¯ãå¿
èŠãªãã¡ã€ã«ïŒ
pxeboot.n12
ããã³
bootmgr.exe
ïŒã
windows\boot\pxe
ããããšããç¥ããããŸãã ãã¡ã€ã«
pxeboot.n12
ã¯ã
F12
ããŒãæŒãå¿
èŠããªããšããç¹ã§ãäžèšã®
pxeboot.n12
ãšç°ãªããŸãã
dismã®å Žåã¯ãbcdeditãŠãŒãã£ãªãã£ãšåæ§ã«ãWindows XPã§ã¯dismãæ©èœããªããããWindows 7-10ãæèŒããã³ã³ãã¥ãŒã¿ãŒãå¿
èŠã«ãªããŸãã ãããã®ãŠãŒãã£ãªãã£ã¯ã管çè
ã®äžã§ã®ã¿æäœã§ããŸããã€ãŸããã¹ã¿ãŒããã¿ã³ã«ãã³ãã³ãã©ã€ã³ãé
ç®ãããããã®é
ç®ãå³ã¯ãªãã¯ããŠãã³ã³ããã¹ãã¡ãã¥ãŒããã管çè
ãšããŠå®è¡ããéžæããŸãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããªã¹ãããŠãæå³ããããŸãããåäœããªãå Žåã¯ãæšè«ããã¯ã¹ããªã³ã«ããŠã¿ãŠãã ããïŒã å®è¡äžã®ã³ãã³ãã©ã€ã³ãå
¥åãããšããã®ãŠãŒãã£ãªãã£ã®äœ¿çšã«é¢ãããã«ãã衚瀺ã§ããŸãã
dism /?
ããšãã°ããããå¿
èŠãªWIMãã¡ã€ã«ã§ããããšãã€ãŸãWIMãã¡ã€ã«å
ã®ç»åã«é¢ããæ
å ±ãå¿
èŠã§ããããšã確èªããããããã³ã³ãœãŒã«ã«å
¥åããŠ
/Get-Wiminfo
ã«é¢ãããã«ããååŸããŸãã
dism /get-wiminfo /?
次ã®ã³ãã³ãã§ã€ã¡ãŒãžãããŠã³ãããŸãã
dism /mount-wim /wimfile:<__WIM-> /index:<_> /mountdir:<_>
WIMãã¡ã€ã«ãžã®ãã¹ãšæ¥ç¶ãã£ã¬ã¯ããªããã®ã³ã³ãã¥ãŒã¿ãŒã«ååšããå¿
èŠããããã€ã¡ãŒãžã€ã³ããã¯ã¹ã¯
/Get-Wiminfo
ã§èŠã€ããããšãã§ããããšã«æ³šæããŠ
/Get-Wiminfo
ã æ¥ç¶ãã£ã¬ã¯ããªã«ã¯windows \ boot \ pxeãã©ã«ããŒãããããã®äžã«
pxeboot.n12
ãš
bootmgr.exe
2ã€ã®ãã¡ã€ã«ããããŸãã
ãã©ã€ããŒãè¿œå ããå Žåã¯ã次ã®ã³ãã³ããå¿
èŠã§ãã
dism /image:<_> /Add-Driver /driver:<_c_> /recurse /ForceUnsigned
ããšãã°ãWMIãHTAãMDACãNetFXãPPPoEãPowerShellãã¹ã¯ãªãããªã©ã®è¿œå ããã±ãŒãžãè¿œå ããå¿
èŠãããå Žåã¯ããŸãããããèŠã€ããå¿
èŠããããŸãã ããšãã°ãWindows OPKãŸãã¯AIKãŸãã¯ADKãã€ã³ã¹ããŒã«ããŸãã 次ã«ãã³ãã³ããå®è¡ããŸãã
Dism /image:<_> /Add-Package /PackagePath: <____cab>
次ã«ãã³ãã³ãã䜿çšããŠã€ã¡ãŒãžãç¡å¹ã«ããå¿
èŠããããŸãã
dism /unmount-wim /mountdir:<_> /commit
次ã«ã
ããŠã³ããŒãããå¿
èŠãããsyslinuxããã±ãŒãžã®PXEãããã¯ãŒã¯ããŒãããŒããŒã§ããpxelinuxãèŠãŠãã
ãŸã ã ããŠã³ããŒããããã¡ã€ã«ã解åããŸããããã¡ã€ã«ãã³ããŒããåã«ãã«ãŒããã£ã¬ã¯ããªãèŠã€ããŸãã Windowsãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§Tftpd32ã䜿çšãã
C:\tftpd32
ã«ãŒããã£ã¬ã¯ããª
C:\tftpd32
äœæãããšããŸãã ããã«ããã®ãã£ã¬ã¯ããªããã®ãã¹ãŠã®ãã¹ãã«ãŠã³ãããŸãããããã瀺ããŸãããããã«ããã¹ãWindowsã®ããã«éæ¹åã§ã¯ãªããã¹ã©ãã·ã¥ã䜿çšããŸãã ã€ãŸãã
pxelinux.cfg/default
æå®ãããŠããå Žåãå®éã®ãã¹ã¯
C:\tftpd32\pxelinux.cfg\default
ã«ãªããdefaultã¯æ¡åŒµåã®ãªããã¡ã€ã«ã«ãªããŸãã syslinuxã解åãããã£ã¬ã¯ããªãã次ã®ãã¡ã€ã«ãã«ãŒããã£ã¬ã¯ããªïŒã€ãŸãã
C:\tftpd32
ïŒã«ã³ããŒããŸãã
bios\core\pxelinux.0
ïŒãããã¯ãŒã¯ããŒããŒèªäœïŒ;bios\com32\menu
ãã£ã¬ã¯ããªããã®2ã€ã®ãã¡ã€ã«ïŒ menu.c32
ããã³vesamenu.c32
ïŒvesamenu.c32ãæ©èœããªããã·ã³ã«ã®ã¿menu.c32ã䜿çšããŸãïŒ;bios\com32\chain\chain.c32
ïŒããŒãããŒããŒç®¡çã¢ãžã¥ãŒã«ãéåžžããŒã«ã«ããŒãã«äœ¿çšïŒ;bios\com32\elflink\ldlinux\ldlinux.c32
ïŒã»ã«ã³ããªããŒãããŒããŒãpxelinux.0ã䜿çšããå Žåã«å¿
èŠïŒ;bios\com32\lib\libcom32.c32
ïŒchain.c32ã䜿çšããå Žåã«å¿
èŠïŒ;bios\com32\libutil\libutil.c32
ïŒchain.c32ã䜿çšããå Žåã«å¿
èŠïŒ;bios\memdisk\memdisk
ïŒãããããŒã€ã¡ãŒãžãããŒããã£ã¹ã¯ãISOãªã©ãããŒãããããã®ãã©ã€ããŒïŒã
ãããã¯ãŒã¯ããŒããŒã¯ã芪ã®syslinuxãããžã§ã¯ããšããã»ã©å€ãããªãã®ã§ãUSBãã©ãã·ã¥ãã©ã€ããŸãã¯CDããèµ·åãããšããããã³ãã®éã®å Žåã«é©çšãããå€ãã®ããšããããŸãã pxelinux.cfgãã©ã«ããŒãäœæããŸãããã®ãã©ã«ããŒã«ã¯ãçŸæç¹ã§ã¯åäžã®ãã¡ã€ã«ããããŸãïŒããŠã³ããŒããªãã·ã§ã³ã®å¢å ã«äŒŽããæ§æãã¡ã€ã«ã®æ°ãå¢å ããŸãïŒ-ããã©ã«ãã次ã®å
容ïŒ
UI vesamenu.c32 MENU TITLE PXE Special Boot Menu LABEL bootlocal MENU LABEL ^Boot local disk MENU DEFAULT LOCALBOOT 0 TIMEOUT 80 TOTALTIMEOUT 9000 LABEL winpe MENU LABEL ^WinPE KERNEL pxeboot.0
æåã®è¡ã¯ã¡ãã¥ãŒã®ã°ã©ãã£ãã¯ã®æ§è³ªãèšå®ãã2è¡ç®ã¯ã¡ãã¥ãŒå
šäœã®ååãèšå®ããŸãã 次ã«ãbootlocalãšwinpeãšããŠèå¥ããã2ã€ã®ã¡ãã¥ãŒé
ç®ããããç»é¢ã«Boot local diskãšWinPEã衚瀺ãããŸãã ãæ³åã®ãšãããæåã®ã¡ãã¥ãŒé
ç®ã¯ããã©ã«ãã®é
ç®ã§ãããããŒã«ã«ã«ããŒããããŸããã2çªç®ã®é
ç®ã«èå³ããããŸãã ããçš®ã®æ··ä¹±ãå€æããŸãããæåã¯
pxeboot.com
ã«ã€ããŠèšãããŸãããã
pxeboot.com
ãã³ããŒãã
pxeboot.n12
ãèŠå®ã
pxeboot.0
ã å®éãpxelinuxã«ã¯ãããã¯ãŒã¯ããŒãããŒããŒã®ååã«é¢ããç¬èªã®èŠä»¶ããããŸã-
pxeboot.0
ããã®ãããª
.0
ãã¡ã€ã«ã®æ¡åŒµåã¯ã
pxelinux.0
ããååŸããpxelinux.0ãšWinPEã€ã¡ãŒãžããååŸãã
pxelinux.0
ãæ··åããªãã§ãã ããã 2çªç®ã¯ã¡ãã¥ãŒã衚瀺ããããã«å¿
èŠã§ã1çªç®ã¯é©åãªã¡ãã¥ãŒãéžæããåŸã«ã®ã¿ããŒããããŸãã ãããã£ãŠã
pxeboot.0
ååã
pxeboot.n12
ã«å€æŽããã«ãŒããã©ã«ããŒã«é
眮ãã
pxeboot.0
ãããŸãã
ãŸããã«ãŒããã©ã«ããŒã«
bootmgr.exe
ãé
眮ããå¿
èŠããããŸãã ã«ãŒããã©ã«ããŒã«
boot
ãµããã£ã¬ã¯ããªãäœæããŸããããã«ã¯ã
bcd
ãš
boot.sdi
ãš
fonts
ãã£ã¬ã¯ããªã®2ã€ã®ãã¡ã€ã«ãé
眮ããå¿
èŠããããŸãããŸãã
boot.wim
ãã¡ã€ã«ãã³ããŒãã
sources
ãã£ã¬ã¯ããªãäœæããå¿
èŠããããŸãã ãã¹ãŠã®ããŒããã¡ã€ã«ã®åæ§ã®å Žæã«åé¡ããªããã°ã
bcd
ãã¡ã€ã«ãå€æŽããå¿
èŠã¯ãããŸããã ããã§ã®ã³ãã¯ããããã¯ãŒã¯ããŒããCDãŸãã¯ãã©ãã·ã¥ãã©ã€ãããã®ããŒãã«äŒŒãŠããããšã§ãã
DHCPãšTFTPDïŒãã®äŸã§ã¯Tftpd32ïŒãå®è¡ã§ããŸããèšå®ãæ£ããããšã確èªããã ãã§ãããã£ã¬ã¯ããªã¯
C:\tftpd32
ããã¡ã€ã«ã¯
pxelinux.0
ããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ã®éžæãªã©ã§ãã ãšã©ãŒãããå ŽåããŸãã¯ç®çã®çµæãåŸãããªãå Žåã¯ããã°ïŒãã°ãã¥ãŒã¢ãŒïŒã®åºåãåç
§ããŠãã ããã ãããšã¯å¥ã«ãBIOSãã€ãŸãUEFIãšã®ã¿äºææ§ã®ãªãã³ã³ãã¥ãŒã¿ãŒã«ã€ããŠãèšåããå¿
èŠããããŸãã ãã®ãããªã³ã³ãã¥ãŒã¿ãŒã«ã¯ãä»ã®ãã¡ã€ã«ãå¿
èŠã§ãã
pxelinux.0 syslinux.efi
代ããã«ã32ãããã·ã¹ãã ã®å Žåã¯efi64\efi\syslinux.efi
ã64ãããã®å Žåã¯efi64\efi\syslinux.efi
ã«ãããŸãã- ãããã
ldlinux.c32
代ããã«ã efi32\com32\elflink\ldlinux\ldlinux.e32
ãŸãã¯efi64\com32\elflink\ldlinux\ldlinux.e64
ã
èšäºã®æåŸã®è³ªåãæ€èšããŠãã ããïŒãWinPEããŒããã¡ã€ã«ã®ããã©ã«ãã®å Žæãå€æŽããå¿
èŠãããå Žåã¯ã©ããªããŸããïŒã 次ã«ãbcdãã¡ã€ã«ã«å€æŽãå ããå¿
èŠããããŸãã å®éãbcdãã¡ã€ã«ã¯éåžžã®ã¬ãžã¹ããªãã€ãã§ãããæšæºã®regeditã§èªã¿èŸŒãããšãã§ããŸããããã€ããªããŒã¿ãæ±ãã®ã¯äžäŸ¿ãªã®ã§ãbcdeditãŠãŒãã£ãªãã£ã䜿çšããŸãã åã®ãŠãŒãã£ãªãã£ã§ã®äœæ¥ãšåæ§ã«ã管çè
ã¢ãŒããå¿
èŠãªã®ã§ãã³ãã³ãããã³ãããŠã£ã³ããŠãéããå Žåã¯ãåãæ¹æ³ã§éãå¿
èŠããããŸãã bcdeditãŠãŒãã£ãªãã£ã®æäœã«é¢ãããã«ãã¯ã次ã®ããã«å
¥åããŠååŸã§ããŸãã
bcdedit /?
æåã«ãå€æ°ïŒ
BCDïŒ
ã«æ°ããBCDãã¡ã€ã«ã®ãã«ããŒã ãå«ãŸããããšã確èªããŠããã®ãã¡ã€ã«ãäœæããŸãã
bcdedit /createstore
次ã«ãé»åãã£ã¹ã¯ããã€ã¹ã®ããŒããããŒãžã£ãŒã«å¿
èŠãªè¿œå ãã©ã¡ãŒã¿ãŒã®æ°ããã¬ã³ãŒããäœæããŸãã
bcdedit /store %BCD% /create {ramdiskoptions} /d "Ramdisk options"
2ã€ã®ãã©ã¡ãŒã¿ãŒãèšå®ããŸãã2çªç®ã¯ãïŒ
SDIïŒ
å€æ°ãåç
§ããŸãããã®å€æ°ã«ã¯ãããŒãããã€ã¹ã«é¢é£ãããã¹\ boot.sdiãå«ãŸããŸãïŒå
ã¯\ boot \ boot.sdiã§ããïŒ
bcdedit /store %BCD% /set {ramdiskoptions} ramdisksdidevice boot bcdedit /store %BCD% /set {ramdiskoptions} ramdisksdipath %SDI%
WinPEã®æ°ãããšã³ããªãäœæããŸãã
bcdedit /store %BCD% -create /d "WinPE Boot Image" /application osloader
æåŸã®ã³ãã³ãã®çµæã¯ãäžæ¬åŒ§ã§å²ãŸããGUIDã®è¡šç€ºã«ãªããå€æ°ïŒ
GUIDïŒ
ãšããŠç€ºãããŸãã å®éãããã¯FORã³ãã³ãã䜿çšããŠèªååã§ããŸããã解æããã®ã¯ããå°é£ã§ãã ã·ã¹ãã ã®ã«ãŒããã£ã¬ã¯ããªãã©ã¡ãŒã¿ãèšå®ããŸãã
bcdedit /store %BCD% /set %GUID% systemroot \Windows
HALããã³WinPEã決å®ããããã®ãã©ã¡ãŒã¿ãŒãèšå®ããŸãã
bcdedit /store %BCD% /set %GUID% detecthal Yes bcdedit /store %BCD% /set %GUID% winpe Yes
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãå«ãããã€ã¹ãšãïŒ
WIMïŒ
ãã¡ã€ã«ãå«ãããã€ã¹ã®ãã©ã¡ãŒã¿ãŒãèšå®ããŸãïŒäŸïŒ\ windows \ winpe.wimïŒïŒ
bcdedit /store %BCD% /set %GUID% osdevice ramdisk=[boot]%WIM%,{ramdiskoptions} bcdedit /store %BCD% /set %GUID% device ramdisk=[boot]%WIM%,{ramdiskoptions}
å¥ã®ããŒããããŒãžã£ãŒãšã³ããªãäœæããŸãã
bcdedit /store %BCD% /create {bootmgr} /d "Windows BootManager"
åŸ
æ©ãã©ã¡ãŒã¿ãŒãèšå®ããŸãã
bcdedit /store %BCD% /set {bootmgr} timeout 30
åªå
床ãèšå®ããŸãã
bcdedit /store %BCD% /set {bootmgr} displayorder %GUID%
ããã§ãBCDãã¡ã€ã«ã®æºåãã§ããŸãããTFTPDãµãŒããŒã®ããŒããã£ã¬ã¯ããªã«é
眮ã§ããŸãã