³o¤@¬q±N§â§Ú̬° TCP/IP BootPROM ©Ò¼gªºµ{¦¡§@¤@¨Ç»¡©ú.
³o¬O¦b DOS ¤U°õ¦æªºµ{¦¡, ¥Î¨Ó½s¿èµ¹ TCP/IP Bootprom ªº¶}¾÷¿ï³æ±ÔzÀÉ. ¥¦«Ü²³æ, ¤£¹L¤ñì¼t ©Ò´£¨Ñªº¶}¾÷¿ï³æ±ÔzÀɨӪº¤è«K. ±z¥i¥H«ö F1 ¬Ý¨ì¤@¨Ç½u¤W»¡©ú. ¦pªG±z·Qn¥[±j¥Lªº¥\¯à ( ¤ñ ¦p¥[¤J°Å¶K¥\¯à), §Ú·|«Ü¼Ö·Nµoªí±zªº·sª©¥».
ì©lµ{¦¡¬° Pascal »yªk¥i¦b ³o¨ú±o.
¦¹ boot image ±N¸ü¤JµwºÐªº master boot record ¨Ã°õ¦æ¥¦.
³oÓ boot image ¹ï©ó¨º¨Ç»Ýn«·s¶}¾÷¤~¯à§¹¦¨©Ò¦³³]©wªº§@·~¨t²Î¬O¬Û·í¤è«Kªº. ¥¦¤]¥i¥H¥Î¦b ·í±zn±j¢²M²zµwºÐªº®ÉÔ.
ì©lµ{¦¡¬° Assembler »yªk¥i¦b ³o¨ú±o.
¦¹ boot image ±N«·s¼g¤JµwºÐªº master boot record, ¥]§tµwºÐªº¤À³Îªí. ¦¹¥~, ¥¦¥i¥H§Ö³t®æ¦¡¤Æ DOS (FAT16) ¸ê®Æ¤À³Î°Ï (¦ýµLªk¨Ï¥¦¥i¶}¾÷). ¦]¬°ª©ÅvªºÃö«Y, §ÚÌ¥²¶·«·s³W¹º§Ú̪º master boot record »P FAT16 ¶}¾÷ºÏ°Ï, °£¤F¤@¨Ç»·ºÝ¶}¾÷ªº°T®§¥~, ¥¦Ì»P¼Ð·Çªº¤À³Î°Ï¤jP¤W¬O¤@¼Ëªº. ¬°¤F ¨Ï³oÓµ{¦¡¯à¤u§@, ±z©Î³\»ÝnÃö±¼ BIOS ¹ï master boot record ªº«OÅ@ (¦]¬°¨C¦¸¶}¾÷³£§ó·s¤@¹M).
³oÓµ{¦¡¤U¸ü»P³oÓµ{¦¡¦P¼Ë¥DÀɦWªº¤À³Îªí±ÔzÀɨä°ÆÀɦW¬° .tab
. ³oÓÀÉ®×¥i¥H¥]§tªÅ¦æ, µù¸Ñ
¥Ñ°O¸¹¶}©l¦ý¤£±o¶W¹L 512 Ó¦r¤¸.
«e¥|Ó¤£§tªÅ¥Õ¤Îµù¸Ñªº´X¦æÀ³¸Ó¥]§t¥|ÓµwºÐ¤À³Î°Ïªº±Ôz. ²Ä¤Ó¤£§tªÅ¥Õ¤Îµù¸Ñªº¨º¤@¦æÀ³ ¥]§t¤U¤@Ón¸ü¤Jªº¶}¾÷¼v¹³ÀɦWºÙ.
¤À³Î°Ïªº±Ôz¦æ¥Ñ¥ÑªÅ®æ©Î tab Áä¨Ó¤À³Î, ¥²¶·¦p¤U³o¤TºØ®æ¦¡:
type boot? 1st-cyl 1st-head 1st-sect last-cyl last-head last-sect
type boot? 1st-cyl 1st-head 1st-sect relative-size
type boot? relative-size
4
, DOS ¤À³Î°Ï¦b 32Mb ¨ì 500Mb ¤§¶¡¬° 6
. ¨ä¥LªºÈ
¥i¥H¦b¨Ï¥Î Linux fdisk
help §ä¨ì¨Ò¤l. Y
¦Ó¨ä¥¦¤À³Î°Ï³]©w¦¨ N
. ³oÓºX¼Ð¬Oµ¹¥Dn¶}¾÷¬ö¿ý (master boot record) ©Ò¨Ï¥Î. + 10 Mb
¬O«ü¤À³Î°Ï¦Ü¤Ön¦³ 10 Mb (§Y 2048 ºÏ°Ï); - 100 Mb
¬O«ü¤À³Î°Ï¥²¶·¹w¯d¦Ü¤Ö 100 Mb (§Y 20480 ºÏ°Ï) ¥i¥ÎªºªÅ¶¡µ¹¤U¤@Ó¤À³Î°Ï; + 30 %
¬O«ü¤À³Î°Ï¥²¶·¦b¥Ø«eªº¦ì¸m, ¥e¦í¦Ü¤Ö 30 perceny ªºªÅ¶¡; - 70 %
¬O«ü¤À³Î°ÏÀ³¯d¤U¦Ü¤Ö 70 percent ªºªÅ¶¡¦b¥Ø«eªº¦ì¸mµ¹¤U¤@Ó¤À³Î°Ï. ·í¤@Ó¼ÐÅÒªþ¥[¦b¤@Ó¤À³Î°Ï±Ôz¥y¤§«á, ¬Û¹ïÀ³ªº¤À³Î°Ï·|³Q®æ¦¡¤Æ¦¨ DOS FAT16 ªº¤À³Î°Ï,µL ½×쥻¬OþºØ®æ¦¡. ¤À³Î°Ï§Î¦¡ 4 ¸ò 6 ¬O¬Û®eªº, ¦Ó¥B¥¦¦b²M²z¾Ç¥Í©Ò¨Ï¥Îªº¹q¸£®É¬Û·í¦³¥Îªº. ³o ºØ§Ö³t®æ¦¡¤Æ¥unªá´X¤Q¬í.
¹w³]È, bpclean
¬O½sĶ¦¨¤ä´© LBA (¤£¶W¹L 1024 ӺϬW, ¦ý¥i¹F 256 ÓºÏÀY). ¬Y¨Ç©_©Çªº BIOS ¤Î¬Y
¨Ç©_©Çªº§@·~¨t²Î¸û³ßÅw¥t¤@ºØ NORMAL ¼Ò¦¡ (¥i¹F 4096 ӺϬW, ¦ý¤£¯à¶W¹L 64 ÓºÏÀY); ¦pªG±z
»Ýn³oºØ¼Ò¦¡, ¨º»ò§â LBA ªº©w¸q±qì©lµ{¦¡¸Ì§ï¦¨µù¸ÑµM«á«·s½sĶ¤@¹M.
Assembler »yªkªºì©lµ{¦¡½X¦b ³o.
MrZip
¬O¤@Ó¦b DOS ¤U°õ¦æªºµ{¦¡, ¥Î¨Ó«Ø¥ßÀ£ÁYªº DOS FAT 16¤À³Î°Ï. ²Ä¤@¨B, ¥ý¤ÀªRºÏºÐ¾÷ªº¨Ï
¥Îª¬ªp, ¥¦µM«á¥u¹ï¦³¨Ï¥Î¨ìªº¸ê®Æ°µÀ£ÁY, ±µµÛ¥Î¬Û·í§Öªº (¨Ã¤£¬O³Ì¦³®Ä²vªº) ²ÎpªºÀ£ÁYºtºâ
ªk«h¨ÓÀ£ÁY¸ê®Æ. ¤w¸g¤ä´© Windows 95 ªºªøÀɦW, ¦ý¬O°ÆÀɦW¬° .SWP
ªºÀɮר䣷|Àx¦s. ¦b¦U¦¡¤£
¦PªºÀÉ®×Ãþ«¬¤¤,¤w¸g¥]§t³\¦h magic numbers, ¥B¤w¸òì©l¸ê®Æ°µ¹LÀˬdªº ³B²z. ·íÀÉ®×®e¶qªº°ª¦ì
§Ç¸¹¼Æ¦r¼W¤j®É, ³oÓÀˬd½XÀx¦s¦bÀɮתº®e¶qªº§C¦ì§Ç¸¹¼Æ¦r¤¤ . ¦pªG±z¦b«Ø¥ßÀ£ÁY¼v¹³ÀÉ«e§â
±zµwºÐªº§Ç¸¹Âk¹s, «h±z¥i¥H¨Ï¥Î³oӼƦr¨Ó °lÂܱz¼v¹³Àɪº§ó·s¦¸¼Æ.
¦]¬° MrZip
·|¨Ï¥Îª½±µºÏºÐ¦s¨ú, «Øij±z¦b°õ¦æ«e¥ý§âºÏºÐ¾÷§Ö¨ú°Ïªº¸ê®Æ¦^¦s. Windows 95 ¦ü¥G¬O
¹ï°µ¤@¨î©ÊªººÞ²zª½±µºÏºÐ¦s¨ú².
MrUnzip
¬O¤@Ó¦b DOS ¤U°õ¦æªºµ{¦¡,¥Î¨Ó¸ÑÀ£ÁYºÏºÐ¼v¹³ÀɨìµwºÐ¾÷¤¤, ¨Ï¥Îª½±µºÏºÐ¦s¨ú. ¤£n
¸ò¥ô¦ó¨ã¦³§Ö¨ú¥\¯àªºµ{¦¡¤@°_¨Ï¥Î, ¦]¬°¥ú¬O³oÓµ{¦¡´N¤w¸g§Ö§â DOS µ¹§é¿i¦º¤F... ¤£ºÞ«ç¼Ë,
¦pªG±zn«ì´_¤@ÓµLªk¶}¾÷ªº¾÷¾¹¨º»ò¥¦·|¬O±N«Ü¦³¥Îªº.
BpUnzip
¬O¤@Ó¶}¾÷¼v¹³¥Î¨ÓºÞ²zÀ£ÁYµwºÐªº¼v¹³ÀÉ. ²Ê²¤ªº¨Ó»¡, ¥¦±N¥ÑµwºÐ¾÷ªº¼v¹³¨Ó¶}¾÷¨Ã¥Î
¦P¼Ëªº¦WºÙ, °ÆÀɦW¬° .imz
.
º¥ý, ¥¦·|¥ýŪ¨ú¤À³Î°Ïªí¨ÃÀˬd
¦pªG¼v¹³ªíÁÙ¨S¦³¥]§t©Ò»Ýªº¼v¹³, ¥¦·|³z¹L TFTP ³q°T¨ó©w¸ü¤J¨Ã¥[¦b¼v¹³ªí¤º. ¦pªG¦b«e±©Ò¸ü ¤Jªº¼v¹³¤§«á, ¨S¦³¨¬°÷ªºªÅ¶¡¨Ó¦s©ñªº¼v¹³¸ê®Æ®É, «hªº¼v¹³ÀÉ·|³Q¬å±¼. ¦pªG¼v¹³Àɤw¸g¦s ¦b¼v¹³ªí¤¤, ³Ì·sªº¶}¾÷¼v¹³ºÏ°Ï (¥]§tÀˬd½X) ±N·|³z¹L TFTP ³q°T¨ó©w¸ü¤J¨Ã¥B»P¥Ø«e±o¼v¹³ÀÉ °µ¤ñ¸û. ¦pªG¥¦Ì¤£§¹¥þ¤@P, «hÀ£ÁY¼v¹³·|¦A«·s¸ü¤J¤@¦¸.
³oÓ¼v¹³±µµÛ·|³Q¸ÑÀ£ÁY, ©Ò¦³ªº magic numbers ³£¦A½T»{, ¨ÃÀˬd¸ÑÀ£ÁY«áªº¸ê®Æ. ¦pªG¸ÑÀ£ÁY¥¢ ±Ñ, ©ÎªÌÀˬdµ²ªG»P³Ì·sªº¶}¾÷ºÏ°Ï¤£§k¦X, «h¼v¹³ÀɱN·|«·s¸ü¤J¨Ã×¥¿¤@¦¸. §_«h, µ{¦¡·|§â±± ¨îÅv¥æµ¹¶}¾÷ºÏ°Ï, §@·~¨t²Î´N·|±Ò°Ê.
¦pªG bpunzip
³z¹L°ÆÀɦW .P
¸ü¤J (¦p win95.P
), «h¥¦·|°²³] TFTP ¦øªA¾¹¦b port 59 ¦³¥[±j«¬ªº¤¶± (¦b¥¿
³Wªº port 69 ¤§¥~©Òªþ¥[ªº). BpUnzip
±N³z¹L¥¦¥H¸û¤jªº«Ê¥]®æ¦¡¸ü¤J¼v¹³ÀÉ, ³q±`¬O¥H 1408 bytes ¨Ó
¨ú¥N¨CÓ«Ê¥] 512 bytes (³oºØÂà´«¨Ï¥Î¤j«Ê¥]ªº§Þ¥©¦³ÂI¹³TCP/IP Bootprom©Ò¨Ï¥Îªº).
¦P²z, ¦pªG bpunzip
¬O³z¹L°ÆÀɦW .G
¸ü¤J (¦p win95.GP
), «h¥¦±N·|¥ý¤U¸ü¤@Ó¥H¦P¼Ë¥DÀɦWªº GIF ¹ÏÀÉ (¦p
win95.gif
) ¨Ã¦b¶}¾÷®É§â¥¦¨q¦bÀç¹õ¤W. ³oÓµ{¦¡¥u¯à¦b 800x600, 256 ¦âªº¼Ò¦¡¤U¤u§@ (§Y¨Ï GIF ¹ÏÀÉ
¥i¥H§ó¤p©ÎªÌ¨Ï¥Î§ó¤ÖªºÃC¦â). ¦pªG±z·Qn¬Ý¬Ý¶}¾÷ªº¬yµ{°O¿ý, «h³oÓ¼ÐÃD¥i¥H«ö ESC Áä²¾°£.
¦pªG±zªºÅã¥Ü¥d¤£¬O VESA ¬Û®e«¬, «h³oÓ¥\¯à±z¤£¯à¨Ï¥Î. ¥t¥~,ÁÙnª`·Nªº¬O³oӼаOªº°õ¦æ§¹
¦¨´Î¬O¨Ï¥Î½Õ¦â½Lªº ³Ì«á¤Q¤»¦â¨ÓÅã¥Ü. ¦pªG¤£·Q¨Ï¥Î³oÓ¥\¯à, ©ÎªÌ§Æ±æ×¥¿¥¦. ¶¶«K¤@´£, ¦pªG
±z¤£³ßÅw§Ú̼аOªº°õ¦æ§¹¦¨´Î, ±z¥i¥H¦Û¥Ñªº§ïÅÜ¥¦ (¦b GIFDATA.ASM), ¦ý½Ð«O¯d§Ú̪º¦W¦r
¦b¥i¥H¬Ý±o¨ìªº¦a¤è.
¥Ø¦a¤À³Î°Ï¤£»Ýn§¹¥þ¸òì©lªº¤j¤p¬Û¦P ; ¥¦¥un¦³¨¬°÷ªºªÅ¶¡¨Ó¦s©ñ¤À³Î°Ï¤¤,©Ò¦³¨Ï¥Î¨ìªººÏ
¬W. ¦pªG¥Ø¦a¤À³Î°Ï¤p©óì©lªº¤À³Î°Ï, «h ÀÉ®×¹ïµwªí FAT ±N·|¦]¦¹¦ÓµäÁY (¦ýºÏ¬W¤j¤p«h¤£ÅÜ).
¦pªG¥Ø¦a¤À³Î°Ï¤j¤p¤j©óì©l¤À³Î°Ï, «h ÀÉ®×¹ïÀ³ªí FAT ±N·|ºÉ¥i¯àªºÂX¤j. µM¦Ó, ¦pªG¥Ø¦a¤À³Î
°Ï¤ñì©l¤À³Î°Ï¤j§ó¦h, ¥i¯à 65518 ӺϬW´N¤£°÷Âл\©Ò¦³ªºªÅ¶¡ (¦]¬°ºÏ¬W¤j¤p¬OµLªk§ïÅܪº). ¹³
³oºØª¬ªp, bpunzip
±N·|²£¥Íĵ§i,§i¶D¨Ï¥ÎªÌ¦³¤@¨ÇªÅ¶¡¬y¥¢±¼¤F.
¹w³]È, bpunzip
¬O½sĶ¦¨¤ä´© LBA (¤£¶W¹L 1024 ӺϬW, ¦ý¥i¹F 256 ÓºÏÀY). ¬Y¨Ç©_©Çªº BIOS ¤Î¬Y
¨Ç©_©Çªº§@·~¨t²Î¸û³ßÅw¥t¤@ºØ NORMAL ¼Ò¦¡ (¥i¹F 4096 ӺϬW, ¦ý¤£¯à¶W¹L 64 ÓºÏÀY); ¦pªG±z
»Ýn³oºØ¼Ò¦¡, ¨º»ò§â LBA ªº©w¸q±qì©lµ{¦¡¸Ì§ï¦¨µù¸ÑµM«á«·s½sĶ¤@¹M.
Assembler »yªkªºì©lµ{¦¡½X¦b ³o.
¦pªG¨Ï¥Î Solaris 2.5 ·í TFTP server. ¦b³B²z¶W¹L 16 Megabytes ®É, ·|¦³°ÝÃD. ³o¬O¦]¬°¥¦µLªk³B²z¶W¹L 32768 packets per file ³o¬O¤@Ó¤wª¾ªº¯äÂÎ, ¦ýª½¨ì¥Ø«e SUN ¤´¥¼´£¨Ñ×¥¿. §ÚÌ«Øij±z¨Ï¥Î§ó¦³®Ä ²vªº¥[±j«¬ extended TFTP server (¥¦¤]¤ä´©¨ä¥L§@·~¨t²Î, ´N¦b TCP/IP Bootprom ¤u¨ãºÏ¤ù¤¤).
Nobreak.sys
¬Û·í¤p (¤j·§¥u¦³ 350 bytes ) ªºÅX°Êµ{¦¡, ¥¦±N¥[¦b±z config.sys
¤¤ªº¶}©l³B. ¥¦ªº¥Øªº¬O«O
Å@¶}¾÷µ{§Ç, ª½¨ì¨Ï¥ÎªÌµn¤J. DOS ¬°³o´£¨Ñ¤@ºØ³]©w (¦W¬° BREAK=OFF
), ¦ý¥¦¤£°÷¼É¤O, ¨Ã¥B¦b
autoexec.bat
¨SªÙ¥Î. §Ú̪ºÅX°Êµ{¦¡¤u§@ì²z¬O·í¤¤Â_n¨D²£¥Í®ÉקïÁä½Lªº±½´y½X, ª½±µ¦b BIOS
¼h¤u§@. ¥H³o¤èªk, ©Ò¦³ªºµ{¦¡¦b¤¤Â_¥¼P¯à«e³£¦¬¤£¹D¤¤Â_°T®§.
³oÓÅX°Êµ{¦¡¥²¶·©ñ¦b config.sys
Àɤ¤(©ÎªÌ¨Ï¥Î Undocumented DOS ªº devlod
µ{¦¡). ±µµÛ, ¥i¥H³z¹L¶Ç
°e Yes
¨ì NOBRK
³oÓµêÀÀ¸Ë¸m, ¨Ã¥B¶Ç°e No
¦Ó¸T¯à (¨Æ¹ê¤W, ¥u»Ýn²Ä¤@Ó¦r¤¸, Y
©Î N
¤~¬O³Ì«n
ªº).
¦]¬°³oÓÅX°Êµ{¦¡¨Ì¾a BIOS, ©Ò¥H¥¦¥u¯à¦b DOS ¸ò Windows 3.1.¤U¤u§@ Windows 95 «h¦³¥¦¦Û¤vªº §C¶¥Áä½L³B²z¾÷¨î.
Assembler »yªkªºì©lµ{¦¡½X¦b ³o.