Linux °æ (¾«»ªÇø)

·¢ÐÅÈË: clx (³þÁôÏã), ÐÅÇø: Unix
±ê  Ìâ: Linux Remote-Boot mini-HOWTO (04)
·¢ÐÅÕ¾: ×Ï ¶¡ Ïã (Sun Jun 28 11:31:43 1998), ×ªÐÅ

Linux Remote-Boot mini-HOWTO: Ê¹ÓàRed-Hat Linux, DOS,
Windows 3.1 ¼° Windows 95 É趨Զ¶Ë¿ª»ú¹¤×÷Õ¾ : ÈçºÎÉ趨
Previous: ¼ò½é
Next: TCP/IP Bootprom Ïà¹Ø¹¤¾ß³Ìʽ 


3. ÈçºÎÉ趨

Ê×ÏÈ, µ÷Õû»úÆ÷λÖÃʹÊÖ±ßÓÐÏÂÁÐÁ½Ì¨»úÆ÷: 

     ËÅ·þÆ÷, ÎÒÃÇÊÇÓÃһ̨ Unix Ö÷»ú. 
     ¿Í»§¶Ë, Ò»Ì¨ÒѾ­Æô¶¯ TCP/IP Bootprom µÄ¸öÈ˵çÄÔ, Ó²µúÄÚ
     ²»ÒªÓÐÖØÒª×ÊÁÏ. 

Èç¹ûÄãÏëÒª²âÊÔÄúµÄ×é̬É趨¶øÄú»¹Ã»Äõ½ TCP/IP Bootprom, Äú
¿ÉÒÔµ½ http://www.incom.de ÏÂÔزâÊÔ°æµÄ´ÅƬ. Õâ¸ö ´ÅƬ¿ÉÒÔʹÄú
µÄµçÄԾͺÃÏñÊDzåÉÏ TCP/IP Bootprom Ò»°ã.If you want to test
the configuration but you do not yet have a 

ѧÉúËùʹÓõĵçÄÔ, ÎÒÃÇÉ趨 Bootprom ÓÉÍø·¿ª»ú, ²»ÄÜʹÓÃÓ²
µú¿ª»ú¼°Èíµú¿ª»ú. ½ÌѧÓõçÄÔ, ÎÒÃÇÉ趨 Bootprom ¿ÉÒÔÓÉÍù·
¿ª»ú, Ò²ÔÊÐíÓ²µúÓëÈíµú¿ª»ú; ÔÚÄãµÄ¿Í»§¶ËÉ趨 Bootprom.

ËÅ·þÆ÷¶Ë, É趨 DHCP daemon (ÎÒÃÇʹÓàInternet Software
Consortium ËùÌṩµÄÕýʽ°æ, 970329 ·¢ÐÐ). ÄãÒ²±ØÐèÆô¶¯ TFTP
daemon. Õâ·ÝÎļþ½«¼ÙÉèÄúʹÓàTCP/IP Bootprom ¹¤¾ß´ÅƬÄڵļÓ
Ç¿ÐÍ TFTP daemon . Èç¹ûÄú½Ïϲ»¶Ê¹Óñê×¼ µÄ TFTP daemon, ÒÆ
µôËùÓпª»úÓ°ÏñµµµÄ¸±µµÃû P, ÓÃÀ´Ö§»á Bootprom Ê¹Óñê×¼µÄ
TFTP port (Çë¿´ TCP/IP Bootprom Îļþ).

±ðÍüÁË BOOTP/DHCP Í¨Ñ¶Ð­¶¨±»ÏÞÖÆÔÚ×ÓÍøÓòÖÐʹÓÃ. Èç¹û¿Í»§¶Ë
ÓëËÅ·þ¶Ë²»ÔÚͬһÍøÓò, Äú±ØÐëÔÚÕâÁ½ÍøÓò¼ä ¼ÜÉèÕ¢µÀÆ÷. ÏÖÔÚ,
ÏȼÙÉèÁ½Ì¨»úÆ÷ÔÚÏàͬµÄÍøÓòÖÐ.

Ê×ÏÈ, ÎÒÃÇÏÈ×öËùÓÐ×÷ҵϵͳ¶¼ÒªµÃ×öµÄÊÂ,Èç: 

     É趨³õʼ»¯Ó²µúµÄ×é̬¼°ÇåÀí 
     É趨×÷ҵϵͳѡµ¥ 
     ²âÊÔ¿ª»úÁ÷³Ì 

È»áá, ¶ÔÿһÖÖ×÷ҵϵͳ, ÎÒÃǽ«Íê³ÉÏÂÁв½Öè: 

     ½¨Á¢µ¥¶ÀµÄ¿Í»§¶Ë 
     °ÑËüµÄ×é̬·Åµ½ËÅ·þÆ÷ÉÏ 
     ²âÊÔÔ¶¶Ë¿ª»ú¿Í»§¶Ë 
     Óɱ¾×ð²úÉú·ÖÉí 

Íê³ÉÕâЩÊÂ, ÒÔááÄãËù×·¼ÓµÄ¿Í»§¶ËÖ»Òª²åÉÏ Bootprom ÔÙ¼Ó¼¸ÐÐ
µ½ DHCP É趨µµ.

3.1. É趨¿ª»úÁ÷³Ì

ÔÚËÅ·þÆ÷¶ËµÄ /tftpboot Ä¿Â¼ÏÂ, ·ÅÏÂÁеĿª»úÓ°Ïñµµ (ÕâЩÊǶþ½ø
λ¸ñʽ) 

     bpclean, Ó²µúÇåÀí¹¤¾ß 
     bpmenu, TCP/IP Bootprom Ñ¡µ¥³Ìʽ (°üº¬ÔÚÄúµÄ Bootprom ¹¤
     ¾ß´ÅƬ) 
     bpunzip, ÎÒÃǵÄÓ²µú»¹Ô­¹¤¾ß 
     bphdboot, ´«ËÍ¿ª»ú³ÌÐòµ½Ó²µúµÄÓ°Ïñµµ 

3.1.1. Ó²µúµÄ³õʼ»¯ÓëÇåÀí

ÔÚÏàͬµÄĿ¼ÏÂ, ÎÒÃǽ¨Á¢·ûºÅÁ¬½áµ½ (»òÕßÖ±½ÓÓÿ½±³Ö¸Áî))
bpclean ÃüÃûΪ XXXclean (»òÕßÄúÈÏΪ¿ÉÒÔ°ïÖúÄú¼ÇסÕâÊÇÓÃÀ´ÇåÀí
ÄúµÄ¿Í»§¶Ë»úÆ÷µÄÃû³Æ) ²¢ÇÒ²úÉúÒ»¸öÃûΪ XXXclean.tab µµÐðÊöÄú¿Í
»§¶ËËùÐèµÄÓ²µú·Ö¸îÇø, ¼°ÄúÒªÁª½ÓµÄ¿ª»úÓ°Ïñµµ. ÀýÈç: ÎÒÃǶÔ
2 Gb Ó²µúʹÓÃÏÂÃæµÄ·½·¨ 



     # ÔÊÐí²»³¬¹ý 512 bytes µÄ˵Ã÷ÐðÊö
     # Ê®Áù½øÖÆÇëÔÚ×ÖÊ×¼ÓÒ»¸ö $ Ç®×Ö·û

     # Part |       |  Part
     # type | Boot? |  Size
        6      Y       +500 Mb
       $82     N       +31 Mb
       $83     N       -50 Mb
        0

     # Áª½ÓµÄÓ°Ïñµµ
     /tftpboot/XXXmenu



ÍêÕûµÄµµ°¸¸ñʽÔÚááÃæ»áÐðÊö. ÏÖÔÚÄúÖ»ÒªÖªµÀÕâЩ 

     ·Ö¸îÇøÐÍ̬ 6 ÊÇÖ¸ BIGDOS, ie. Èç. DOS Fat-16 ÓÉ 32Mb µ½
     500Mb 
     ·Ö¸îÇøÐÍ̬ hex 82 ÊÇ Linux Swap 
     ·Ö¸îÇøÐÍ̬ hex 83 ÊÇ Linux Ext2fs 
     ´óСÈçΪ¸ºÖµ,Ôò±íʾÎÒÃǵĵÚÈý¸ö·Ö¸îÇøÖÁÉÙÒªÕ¼¾Ý 50 Mb 
     ·Ö¸îÇøÐÍ̬ 0 ±íʾÊÇ ¿ÕµÄ (δʹÓõÄ) ·Ö¸îÇø. 

ÏÖÔÚ, bpclean ÔÚ²»Çå³ý·Ö¸îÇø×ÊÁÏÄÚÈÝÏÂ,½«ÖØÐÂдÈëÖ÷Òª¿ª»ú¼Æ¼
(master boot record), µ±È»Ò²°üÀ¨·Ö¸î±í.

3.1.2. ×÷ҵϵͳѡµ¥

ͬÑùµÄ, ½¨Á¢·ûºÅÁ¬½á (»òÕßÖ±½Ó¿½±´) bpmenu ÃüÃûΪ XXXmenu (»ò
ÕßÄãÈÏΪ¿ÉÒÔ°ïÖúÄú¼Çס ÕâÊÇ¿Í»§¶Ë»úÆ÷¿ª»úÑ¡µ¥µÄÃû³Æ) ²¢ÇÒ²ú
ÉúÒ»¸öÃûΪ XXXmenu.m µµÐðÊöÄú¿Í»§¶ËËùÐèµÄ¿ª »úÑ¡µ¥. Äú±È¿ÉÒÔ
ÊÖ¶¯²úÉúÕâ¸öµµ°¸»ò͸¹ýÎÒÃÇдµÄ¿ª»úÑ¡µ¥È«ÓªÄ»±à¼­Æ÷ 
menuedit.exe. ÀýÈç, ¼ÙÉèÄúÓÃÏÂÁÐÕâ¸öµµ°¸: 



     .CLS 23
     .ATT 23
     .POS 23 4
     .WRT Simple Boot Menu                                         \
     .POS 23 5
     .WRT ----------------                                         \
     .POS 23 8
     .WRT 1. Boot from local hard disk                             \
     .POS 23 10
     .WRT 2. Boot DOS and Windows 3                                \
     .POS 23 12
     .WRT 3. Boot Windows 95                                       \
     .POS 23 14
     .WRT 4. Boot RedHat Linux                                     \
     .POS 23 17
     .WRT Your choice :                                            \
     .POS 37 17
     .KEY 1 :bphdboot
     .KEY 2 :linux.PX
     .KEY 3 :win31.P
     .KEY 4 :win95.P



3.1.3. ²âÊÔ¿ª»ú³ÌÐò

ÔÚÄúµÄ DHCP É趨µµÖмÓÈëÄúµÄ¿Í»§¶Ë. ²¢É趨¿ª»úÓ°ÏñµµÎª 
/tftpboot/XXXclean. Äú¿ÉÄÜÐèÒªÖØÐÂÆô¶¯ÄúµÄ DHCP ËÅ·þÆ÷ʹÄúµÄ±ä
¸üÉúЧ.

ÏÖÔÚÎÒÃÇÆð¶¯ÄúµÄ¿Í»§¶Ë. Äú¿ÉÒÔѶËٵĿ´µ½ÓÉ bpclean, ËùËͳöÀ´
µÄѶϢ, ¸æËßÄúËüËù½¨Á¢µÄ·Ö¸îÇøµÄ´óС, È»ááÄú»á¿´µ½¿ª»úÑ¡µ¥
³öÏÖÔÚÄúµÄӪĻÉÏ. Äú¿ÉÒÔÓüüÅÌÉϵĠpause ¼üÀ´ ÔÝÍ£ÒÔ±ã¶ÁÈ¡¸Õ
¸ÕµÄѶϢ, µ«ÊÇÕâ¿ÉÄܻᵼÖ TFTP µÄÁ¬½ÓÓâʱ.

Èç¹ûÄú°´Ï°´¼ü 1, Äú½«ÊÕµ½Ò»¸öÕâÑùµÄѶϢ"¿ª»ú·Ö¸îÇø´æÔÚÒ»¸ö
ÎÞЧµÄ¿ª»ú´ÅÇø" (the boot partition contains not valid boot
sector). ¶Ôδ±»¸ñʽ»¯¹ýµÄ¿ª»ú·Ö¸îÇø¶øÑÔÕâÊÇÕý³£µÄ. Òò ÎªÎÒ
ÃÇÏÖÔÚ»¹Î´½¨Á¢Èκ請úÓ°ÏñµµËùÒÔÆäËûµÄ°´¼ü½«»áʧЧ...

ÏÖÔÚÎÒÃÇÒª¿ªÊ¼°²×°¸÷ÖÖ×÷ҵϵͳ. Äú¿ÉÒÀÄúµÄÐèÒªÀ´¾ö¶¨ÏÈ×öÄÇ
Ò»ÖÖ. ¶ÔÈκÎÒ»ÖÖ×÷Òµ ÏµÍ³, Äú¶¼ÐèÒªÏÈ´ÓÈíµúÀ´×ö³õʼ»¯µÄ¶¯
×÷. ËùÒÔÎÒÃÇÔÚ¿´µ½ TCP/IP Bootprom µÄ±êÖ¾ááÁ¢ ¿Ì°´ space ¼ü
»»³ÉÈíµú¿ª»ú.

ÓÐЩ×÷ҵϵͳ»á¸ü¶¯Ö÷Òª¿ª»ú¼Æ¼ (master boot record). ÌرðÊÇ
Linux kernel loader (lilo) »áÕâÑù ×ö.¶øÕâÖֱ䶯»áÒò bpcleanÕâ
¸ö³Ìʽ¶øÎÞ·¨Íê³É, Òò´ËÄú×îºÃ¸Ä±ä¿Í»§¶ËµÄ DHCP É趨ÄÚ ÈÝʹ¿ª
»úÓ°ÏñµµÖ±½ÓÌøµ½ /tftpboot/XXXmenu (²»×öÇåÀíµÄ¶¯×÷). ±ðÍüÁËҪʹ
ÄúµÄ¸Ä±äÉúЧ,Äú±ØÐèÖØÐÂÆô¶¯ DHCP ËÅ·þÆ÷.

3.2. É趨 Linux

ÔÚÄúµÄ¿Í»§¶Ë¼ÜÉè RedHat Linux 4.1 Ö§Ô®Íø·¹¦ÄÜ, kernel Ô­Ê¼
³ÌʽÂë¼°ÄúËùÐèÒªµÄÈíÌåÌ×¼þ. ×¼±¸Î´À´Òª¹ÒÈëµÄµã (·ÅÔÚ /mnt/tmp
±È½ÏÓÐÓÃ), É趨ÄúµÄ X server, µÈµÈ. ÔÚ /usr/src/linux-2.0.27 Ä¿
¼ÖÐ, Äú±ØÐëÓРkernel 2.0.27 µÄԭʼ³ÌʽÂë.

ÏÖÔÚÎÒÃÇÒª¼ÓÈëһЩÐÞÕýµµ, Ê¹ËüÉý¼¶µ½ 2.0.30, ²¢ÇÒÖ§Ô®
TCP/IP Bootprom ¼°µµ°¸¿ìÈ¡µÄ ¹¦ÄÜ. µµ°¸¿ìÈ¡ÊÇÒ»¸ö °Ñ "δȷ
¶¨µÄ" NFS µµ°¸´¢´æÔÚÄúÓ²µúÖеĽṹ, ËüÄú¿ÉÒÔ½µµÍÍø· ¸ºÔØ.
TCP/IP Bootprom µÄÖ§Ô®ÒѾ­ÓÉ¡õMarc Vuilleumier Stuckelberg
Íê³É, ²¢ÇÒÓÉ David Clerc ×ªÒƵ½ kernel 2.0 . µµ°¸¿ìÈ¡ÒѾ­ÓÉ
Unifix GmbH Íê³É, ²¢ÇÒÒÑ ÊÇ Unifix Linux 2.0 µÄÒ»²¿·Ý.
TCP/IP Bootprom ¼°µµ°¸¿ìÈ¡µÄÖ§Ô®¶¼ÒѾ­ÓÉËüÃǵÄ×÷ÕßÃâ·ÑµÄÉ¢
²¼.

ÖµµÃ×¢ÒâµÄÊÇ Linux ¶Ô NFS-Root µÄÖ§Ô®Ö»Äܼܹ¹ÔÚ BOOTP Í¨Ñ¶
Э¶¨, ²»ÊÇ DHCP Í¨Ñ¶Ð­ ¶¨. ½ö¹Ü DHCP Ö»ÊÇ BOOTP µÄÑÓÉì,
Linux Ò²¿ÉÒÔÔÚ DHCP ËÅ·þÆ÷Ϲ¤×÷ (Èç¹ûÄúûÓÐÉè ¶¨ DHCP ËÅ·þ
Æ÷¾Ü¾ø BOOTPÒªÇó).

3.2.1. ²úÉú Kernel

Ê×ÏÈ, µ½ÄúµÄ /usr/src Ä¿Â¼²¢¼ÓÈëÏÂÁÐÐÞÕýµµ, Ê¹ÓÃÕâ¸öÖ¸Áî

patch -p0 < ÐÞÕýµµµÄÃû³Æ: 

     patch-2.0.28: ÕâÊÇÒ»¸öÕýʽµÄ kernel ¸üÐÂ, ÄúÒ»¶¨Òª¼ÓÈëÕâ¸ö
     ÐÞÕýµµ 
     patch-config-sound: Ò»¸öÃÀ»¯ÒôЧÉ趨µÄÐÞÕýµµ, À´×Ô Unifix
     Linux 2.0 
     patch-PCSP: Ò»¸ö½Ï´óµÄÐÞÕýµµÓÃÀ´Ê¹ PC µÄÑïÉùÆ÷Ä£ÄâÒôЧ¿¨,
     À´×Ô Unifix Linux 2.0 
     patch-bootprom: Ò»¸öСµÄÐÞÕýµµÓÃÀ´²úÉúÌرðµÄ kernel image,
     Ê¹Ëü¿ÉÓÉ TCP/IP Bootprom ¿ª»ú 
     patch-filecache: Ò»¸öСµÄÐÞÕýµµÊ¹ kernel ¼ÓÈëһЩÌرð¹¦ÄÜ,
     Èç Unifix filecache. À´×Ô Unifix Linux 2.0 
     patch-penguinlogo: Ò»¸öСµÄÐÞÕýµµ°ïÖúÄúµÄʹÓÃÕߵȵ½ Linux
     ÏµÍ³ÍêÈ«ÔØÈë 
     patch-2.0.29: ÁíÒ»¸öСµÄÕýʽµÄ kernel ¸üеµ, Èç¹ûÄú²»ÐèÒª
     ×îаæµÄ kernel Ôò²»ÓüÓÈëËü 
     patch-2.0.30: ÓÖÊÇÒ»¸öÕýʽµÄ kernel ¸üеµ, Âú´óµÄ. Ò»Ñù,
     Äú²»ÐèÒª¼ÓÈëÕâÏîÐÞÕý (µ«Ëü»á¸ÄÉÆ TCP/IP Í¨Ñ¶ Ð­¶¨). Èç
     ¹ûÔÚÄúµÄ»úÆ÷ÉÏ ÄúûÓРalpha µÄԭʼ³ÌʽÂë (ÕâºÜÓпÉÄÜ·¢
     Éú), Õâ¸öÐÞÕýµµ½«³öÏÖÁ½´Î±§Ô¹º¬Èëµµ²»´æÔÚµÄѶϢ. ²»Òª½ô
     ÕÅ, Ö»Òª»Ø´ðÄúÒªÌø¹ýÕâЩȱÉٵĵµ°¸,²»»á·¢ÉúÈκÎÎÊÌâ 

½ÓÖøÖ´ÐРmake mrproper ¼° make xconfig, ²úÉú kernel. ¼ÇסÕ⽫ÊÇ
¿Í»§¶ËµçÄÔÒÔ Linux Æô¶¯Ê±, Î¨Ò»½ÓÊÕµ½µÄÈíÌå, ËùÒÔ Ëü±ØÐëÒª
°üº¬Æô¶¯Õû¸ö×÷ҵϵͳËùÐèµÄ¶«Î÷. ¿ÉÒÔʹÓÃÄ£×鷽ʽ, µ«ÊDz»°ü
À¨Íø·ģ×é. ÒòΪÍø·¹¦ÄÜÒ»¶¨Òª·ÅÔÚ kernel ÖÐ. ¼ò¶øÑÔÖ®, Äú
µÄ kernel ÖÁÉÙÐèÒª ÒÔÏÂÕâЩ

     Ö§Ô®Íø· 
     ÔÚÓРBOOTP Í¨Ñ¶Ð­¶¨ÏÂ,Ö§Ô® NFS-Root 
     Ö§Ô® filecache 
     Ö§Ô®¿Í»§¶ËµçÄÔµÄÓ²ÌåËùÐèµÄÄ£×é 

Äú¿ÉÒÔʹÓÃÎÒÃǵĠ.config µ±×öÆðµã. Èç¹ûÄúÏëÒªÔÚûÓРBootprom
µÄ×´¿öϲâÊÔ, ÇëÈ·¶¨Äú ÒѾ­ÔÚ kernel ÄÚ°üº¬Ó²µú»úµÄÖ§Ô®.

µ±ÄúµÄÑ¡ÔñÍê³Éáá, ÕÕ³£µØÊäÈë make clean; make dep ½ÓÖø make
zImage, make modules Óë make modules_install. Õâ»á»¨Ò»µãʱ¼ä... ÏÖ
ÔÚÄú×¼±¸È¥²âÊÔÄúµÄРkernel, ÏÈÓÃÏÈÓàlilo. °²×°ÄúµÄ kernel
(²Î¿¼ lilo Îļþ),²¢ÖØÐÂÆô¶¯ÄúµÄµçÄÔ (ÓÉÓ²µúÆô¶¯). ÈçÓÐÈκÎ
´íÎó, ÐÞÕýËüÃDz¢ÔÙÊÔÒ»´Î. Ö´ÐРdepmod -a ¼ÆËã modules
dependencies. µ±ÍêÈ«ÎÞÎóʱ, Ö´ÐРmake bpImage ²úÉúÒ»¸ö
bootimage ¸ø TCP/IP Bootprom Ê¹ÓÃ. 

3.2.2. °Ñ Root µµ°¸ÏµÍ³ÒƵ½ NFS

ÄúµÄËÅ·þÆ÷ÒªÓÐ×ã¹»µÄ¿Õ¼äÀ´±£´æÄúµÄÕû¸ö Linux µµ°¸ÏµÍ³ (¼¸°Ù
Megabytes). ½¨Á¢Ò»¸öРµÄĿ¼¸ø NFS Êä³ö, ¾Í½Ð rootfs, ²¢ÔÚ
ÆäÖн¨Á¢ÁíÒ»¸öÐÂĿ¼¾Í½Ð runtime. ÎÒÃÇʹÓà
/export/linux/rootfs/runtime. °ÑËüÊä³ö³ÉÖ»ÓÐÄúµÄ Linux ¿Í»§¶Ë¿É¶Á
¿Éд, ²¢¾ßÓРroot µÄ´æȡȨ ( annon=0). ÀýÈç, ÎÒÃǵĠNFS ÊÇÔÚ
Solaris ÏÂÖ´ÐÐ, ÎÒÃÇÓÃÒÔÏÂÕâ¸öÖ¸Áî:

share -F nfs -o rw=pc7971,anon=0 /export/linux/rootfs/runtime.

ÔÚÄúµÄ Linux ¿Í»§¶Ë¹ÒÉÏÕâ¸ö·Ö¸îÇø²¢ÓÃGNU tar °ÑÕû¸ö Linux µµ
°¸ÏµÍ³¸´ÖƹýÈ¥ (Ô¤ÉèÊÇ RedHat Linux). ºÜÖØÒªµÄÊǵ±ÄúʹÓÃ
GNU tar Ö¸Áî,ÒòΪËùÓеĠtar Ö¸Áî¿ÉÄÜÎÞ·¨ÕýÈ·µØ´¦Àí block
device µÄ special nodes . È»áá±à¼­µµ°¸ /export
/linux/rootfs/runtime/etc/fstab ²¢±ä¸ü¸ùĿ¼µÄ É趨,ʹ¸ùÄ¿
¼·ûºÏÒÔ nfs mount È¡´ú×Ô¼ºµÄÓ²µú»ú. Ä㻹ҪÒÆÈ¥ (»òÕß ÖÁÉÙ
Òª±ä¸üÃû³Æ)
/export/linux/rootfs/runtime/etc/sysconfig/network-scripts/ifcfg-eth0 Òò
ΪÍø·װÖý«ÓÉ NFS-root ³õʼ»¯µ«²»Äܱ»³õʼ»¯Á½´Î.

ÏÖÔÚÔÚÄúµÄ /etc/lilo.conf ¸´ÖÆÒ»ÐРlinux, ÀýÈç:ÒÔ linux-nfs Îª
Ãû, ²¢¼ÓÈëÒÔϵIJÎÊý:

append="root=/dev/nfs nfsroot=/export/linux/rootfs/runtime nfsaddrs=ÄúµÄ
-ip:ËÅ·þÆ÷µÄ-ip:Õ¢µÀÆ÷µÄ-ip:Íø·ÕÚ ÕÖ:»úÆ÷Ãû³Æ"

(ÄúµÄ-ip ÊÇÄúµÄ Linux ¿Í»§¶ËµÄ IP Î»Ö·,ÊÇÒÔÊ®½øλÓеãµÄ·½·¨
±íʾ, ËÅ·þÆ÷µÄ-ip ÊÇ NFS ËÅ·þÆ÷µÄ IP Î»Ö·, Õ¢µÀÆ÷µÄ-ip ÊÇ
Linux ¿Í»§¶ËµÄÔ¤ÉèÕ¢µÀÆ÷, Íø·ÕÚÕÖ ÊÇ Linux ¿Í»§¶ËµÄ Íø·ÕÚ
ÕÖ ¶ø »úÆ÷Ãû³Æ ÊÇLinux ¿Í»§¶ËµÄÖ÷»úÃû³Æ). ÔÙÖ´ÐÐÒ»±é lilo ,
ÖØÐÂÆô¶¯ÄúµÄµçÄÔ (ÈÔÈ»ÊÇÓÉÓ²µú»ú), ²¢Ñ¡Ôñ linux-nfs ¿ª»úÉ趨.
ÄúµÄµçÄÔ½«ÈçÏÈÇ°Ò»°ãÆô¶¯, ¼´Ê¹ÓÐÒ»µãÂý. Èç¹ûÔÚÕâÀïÓÐijЩ¶«
Î÷²»ÄÜÕý³£¹¤×÷, ÄúÖ»ÒªÖØпª»úÓÃÄúÔ­À´ localµÄ linux ¿ª»úÉè
¶¨²¢ÊÔ ÖøÐÞÕýËü. ´ó²¿·ÝµÄ×´¿öÊÇ, ÄúµÄ NFS root É趨´íÎó. Èç
¹ûÓÐÈκζ«Î÷Äú²»Á˽â, ¿´Ò»Ï /usr/src/linux/Documentation ÕâЩµµ
°¸... Äú»òÐí¿ÉÒÔ¿´¿´ NFS-Root-Mini-Howto.

Äú¿ÉÒÔÔÙÊÔÒ»´Î,Õâ´ÎÖ»Óàappend="root=/dev/nfs" ÒÔÈ·¶¨ Linux
kernel ¿ÉÒÔ͸¹ý DHCP/BOOTPÒªÇó¶ø»ñµÃÄúËùÉ趨µÄ IP ²ÎÊý. Èç
¹û ÒªÕâÑù×ö, Äú±ØÐëÔÚÄúµÄ DHCP É趨µµÖмÓÈëÒÔÏ ÕâЩѡÏî 
(µ±È»ÊÇÒªÉ趨Äú×Ô¼ºµÄÍø·×é̬), ¼ÓÉÏÄúµÄ»úÆ÷µÄÓ²Ìå¼° IP Î»
Ö·: 



     option subnet-mask 255.255.252.0;
     option routers 129.194.68.1; 
     option root-path "/export/linux/rootfs";



Èç¹ûÄúµÄ Linux kernel ÐëÒªÔÙ¼ÓÈëÆäËüÖ¸Áî²ÎÊý, Äú¿ÉÒÔÓà
option option-177 À´¼ÓÈë.

ÏÂÒ»²½ÒªÊ¹ÎÒÃǵÄϵͳÔڠΨ¶ÁµÄ NFS µµ°¸ÏµÍ³Ï¿ÉÒÔ¹¤×÷.

3.2.3. ²úÉúΨ¶ÁµÄ NFS Root µµ°¸ÏµÍ³

¼ÈÈ»ÎÒÃÇÒªÎÒÃǵĠroot µµ°¸ÏµÍ³Ôڴ󲿷ݵĠLinux ¿Í»§¶ËÒÔΨ¶Á
µÄ·½Ê½¹ÒÉÏ, ÄǾÍҪʹµµ °¸ÏµÍ³ÓÐЩ΢µÄ²»Í¬, Òò´ËÎÒÃǽ«ÐèҪд
ÈëȨÏ޵ĵط½ÒÔ ramdisk »ò filecache È¡´ú. ÎÒÃÇ°Ñ Õâ¸öµµ°¸Ïµ
ͳ½¨Á¢ÔÚ /export/linux/rootfs Ä¿Â¼ÏÂ, ¶ø±ê×¼µÄ°æ±¾ÔòÖ±½Ó·Åµ½ 
/runtime/ ÏÂ. µÇÈëÄú µÄ NFS ËÅ·þÆ÷²¢ÔÚ /export/linux/rootfsĿ¼
ÏÂ,½¨Á¢ÒÔϵÄĿ¼¸úÁ¬½á:

     bin -> cache/bin 
     dev -> ramdisk/dev 
     etc -> ramdisk/etc 
     lib -> cache/lib 
     root -> ramdisk/root 
     sbin -> cache/sbin 
     tmp -> ramdisk/tmp 
     usr -> cache/usr 
     var -> ramdisk/var 
     cache/ 
          bin -> /runtime/bin 
          lib -> /runtime/lib 
          sbin -> /runtime/sbin 
          usr -> /runtime/usr 
     mnt/ 
          cdrom/ 
          floppy/ 
          tmp/ 
     proc/ 
     ramdisk/ 
          dev -> /runtime/dev 
          etc -> /runtime/etc 
          root -> /runtime/root 
          tmp -> /runtime/tmp 
          var -> /runtime/var 

¾ÍÈçÄúËù¼ûµÄ, Ëü¿´ÆðÀ´ÏñÕý³£µÄ root filesystem, ³ýÁËÉÙ²¿·Ý
¼¸¸öÊÇÖØÐÂÖ¸µ½ /ramdisk, ÓРЩÔòÖØÐÂÖ¸µ½ cache Ä¿Â¼. µ±ÓÃΨ¶Á
µÄ NFS filesystem ¿ª»ú, ÎÒÃǽ«¹ÒÉÏÒ»¸öÒѳõʼ»¯¹ýµÄ ramdisk
·ÅÔÚ /ramdisk ÏÂ. Í¬Ñù¡õ ×Ô¼ºÓ²µúµÄ·Ö¸îÇø½«±»¹ÒÔÚ /cache ¸ø
NFS ¿ìȡʹÓÃ. ´ÖÂԵĠ˵,Õâ¸öµµ°¸¿ìÈ¡µÄÔ­ÀíÊǵ±the principle
of the filecache is that whenever a symbolic link from the
cache subdirectory is followed, it is replaced by its
target. Èç¹ûÄ¿±ê×Ô¼ºÊÇÒ»¸ö×ÓĿ¼, Ôòÿһ¸ö ×ÓĿ¼»áת»»³ÉÒ»
¸ö·ûºÅÁ¬½á²¢Á¬½áµ½Íⲿµµ°¸ÏµÍ³µÄԭʼλÖÃ. ×¢Òâµµ°¸¿ìȡʹÓÃ
¾ø ¶Ô·ûºÅÁ¬½áÊDZØÐëµÄ, ¼´Ê¹ËüÃÇÔÚ NFS ËÅ·þÆ÷ÉÏÊÇÎÞÒâÒåµÄ.
Èç¹ûÄú²»Ï²»¶ÕâÑù, ¿ÉÒÔÔÚ ÄúµÄ NFS ËÅ·þÆ÷ÉÏ,½¨Á¢Ò»¸ö·ûºÅÁ¬½á
ÓÉ /runtime µ½ /export/linux/rootfs/runtime .

ÔÚΨ¶ÁµÄ¿Í»§¶Ë¼ÓÈëһЩÉ趨µÄ¶«Î÷ÊDZØÐëµÄ, Èç´Ë²Å¿ÉÒÔ¹ÒÉÏ
ramdisk, ¼°É趨µµ°¸¿ìÈ¡ ºÍÕì²âÓ²ÌåÒÔ±ä¸üÉ趨µµ. ÕâЩ¶¼ÓÉÈý
¸ö³ÌÐòµµºÍÒ»¸ö×é̬µµÀ´Íê³É, Äú¿ÉÒÔ°ÑËü¸´ÖƵ½
 ÄúµÄNFS ËÅ·þ
Æ÷: 

     runtime/etc/rc.d/rc.ramdisk, ¿ÉÒÔ¿ìËÙÉ趨²¢¹ÒÉÏ ramdisk: 



          #!/bin/sh
          #
          # É趨һ¸ö ramdisk ÒòΪ root Í¸¹ý NFS ÒÔΨ¶Á·½Ê½¹ÒÉÏ
          #
          modprobe rd
          gzip -c -d /runtime/lib/ramdisk.gz | dd of=/dev/ram bs=1k > /dev/null 2>&1
          mount -n -t ext2 /dev/ram /ramdisk



     runtime/etc/rc.d/rc.sysdetect, ÕâÊÇËùÓеĻúÆ÷¸÷×Ô¶ÀÁ¢µÄÉ趨
     µµ, °üÀ¨Õì²â¼°·ÖÅä ÇøÓòÓ²µú»úµÄ·Ö¸îÇø ¸øµµ°¸¿ìȡʹÓÃ.
     ÎªÁË¿Õ¼äµÄÀíÓÉÎÒÃDz»ÔÚ´Ë·ÝÎļþ¿ÉÁÐÓ¡µÄ°æ±¾Öаüº¬´Ëµµ,
     µ«Äú¿ÉÒÔÔÚ³¬ÎÄ ¼þµÄ°æ±¾ÕÒµ½Ëü; 
     runtime/etc/rc.d/init.d/filecache.init ÕâÊÇÓÃÀ´Æô¶¯µµ°¸ÏµÍ³µÄ: 



          #!/bin/sh
          #
          # filecache:    µµ°¸¿ìÈ¡:    Æô¶¯µµ°¸¿ìÈ¡ (¸ø NFS root ÓÃ)
          #
          # À´Ô´¹¦Äܺ¯Êý¿â.
          . /etc/rc.d/init.d/functions

          # ¿´¿´ÎÒÃÇÈçºÎºô½Ð¹¦Äܺ¯Êý.
          case "$1" in
            start)
                  if [ -e /cache -a -r /etc/filecache.conf ]; then
                          echo -n "Starting NFS filecache: "
                          # °Ñ var Óë tmp ÒƵ½ÇøÓòÐÔµÄÓ²µú»ú
                          rm -rf /cache/var /cache/tmp
                          (cd /ramdisk; tar cf - var tmp) | (cd /cache; tar xf -)
                          (cd /ramdisk; rm -rf var tmp;ln -s /cache/var;ln -s /cache/tmp
          )
                          chmod 777 /cache/tmp
                          # Æô¶¯µµ°¸¿ìÈ¡
                          daemon filecache -d on
                          echo ""
                          touch /var/lock/subsys/filecache
                  fi
                  ;;
            stop)
                  filecache off
                  rm -f /var/lock/subsys/filecache
                  ;;
            *)
                  echo "*** Usage: filecache.init {start|stop}"
                  exit 1
          esac

          exit 0



     runtime/etc/filecache.conf, µµ°¸¿ìÈ¡µÄÉ趨µµ 



          Max 100 MB 50 % #
          Cache /runtime /cache



Ç°Á½¸öµµ°¸Ó¦¸Ã·ÅÔÚÇ°Á½¸öµµ°¸Ó¦¸Ã·ÅÔÚ runtime/etc/rc.d/rc.sysinit,
µµ°¸ÄÚ×îÇ°ÃæµÄλÖÃ, ÈçÏÂËùʾ: 



     # É趨ËùÐèµÄ  ramdisk  (¸ø root NFS Î¨¶ÁµÄ»úÆ÷)
     if [ -e /ramdisk -a -r /etc/rc.d/rc.ramdisk ]; then
             /etc/rc.d/rc.ramdisk
     fi

     # É趨ӲÌå¸÷×Ô¶ÀÁ¢µÄ²ÎÊý (¸øÿ¸ö root NFSʹÓÃ)
     if [ -r /etc/rc.d/rc.sysdetect ]; then
             /etc/rc.d/rc.sysdetect
     fi



¶øµÚÈý¸öÓ¦¸Ã be bound as usual to the System V init
directories: we use links named S35filecache in the rc3.d and
rc5.d directories, and K80filecache in the rc0.d, rc1.d, rc2.d and
rc6.d directories.

¼ì²éһϠrc.sysdetect Õâ¸öµµ°¸, ²¢Ê¹ËüÓëÄúµÄÓ²ÌåÉ豸ÅäºÏ. Ìرð
ҪעÒâµÄÊÇ, Èç¹ûÄú¸úÎÒÃÇÒ»ÑùûÓРʹÓÃÏàͬµÄÏÔʾ¿¨¼°Ó©Ä» (Õâ
ºÜ¿ÉÄÜ·¢ÉúµÄ :-), ¿´¿´ËüÃÇÔÚ /proc/pci µÄ»ØÓ¦²¢ÒÀ´ËÐÞ¸ÄÐðÊö
µµ. ÔÚÿ̨ »úÆ÷ËùʹÓõĴæ·ÅλÖÃÏÂ, Æä rc.sysdetect Ö®ÖÐÓÐÒ»¶Î
ÄÚÈÝΪ, ¿É×Ô¶©µÄÉ趨µµ (ÀýÈç printcap), aΪÁËÄÜÿ Ì¨¶ÀÁ¢¹¤×÷,
ÄúÐèÒªì¶ËÅ·þÆ÷µÄ dhcpd.conf µµ°¸ÖÐ, ÓÃÌرðµÄ±ê¼Ç option-132 Éè
¶¨Ã¿Ì¨»úÆ÷ËùʹÓõÄλ ÖÃ. ÔÚÄú¼ÌÐø°²×°Ö®Ç°, ÄúÖÁÉÙÒªÏȽ¨Á¢»ù
±¾µÄ¼¸¸öµµ°¸runtime/etc/fstab.ref ºÍ runtime/etc/hosts.ref , ÕâЩ½«
ÓÉ rc.sysdetect ÐðÊöµµÔÚÆô¶¯Ê±Í¸¹ýÕì²âÉ趨À´Íê³É, ÎªÁ˶¯Ì¬µÄÉè
¶¨ X servver, Ê¹ÓàRedHat ÈíÌåÌ×¼þ, ÓÐÒ»¼þÊÂÄú±ØÐëÏȱä¸üµÄ:
ÔÚ /usr/X11R6/bin ¼° /usr/X11R6/lib/X11 Ä¿Â¼ÏÂ, ÓÐһЩÏà¹ØµÄ Á¬½á
É趨µµ¼°Ä¿Â¼Ó¦¸Ã¸Ä³É¾ø¶ÔÁ¬½á. ±ðÍüÁËÒÔááµÄ X server ¸üа²
×°Ò²ÒªÈç·¨ÅÝÖÆ.

°Ñ filecache °²×°ÔÚ runtime/bin Ä¿Â¼ÏÂ, ²¢°ÑËüµÄʹÓÃ˵Ã÷ man
page °²×°ÔÚ runtime/usr/man/man8 Ä¿Â¼ÏÂ. °Ñ bootptag »ò dhcptag
°²×° ÔÚ runtime/usr/local/bin Ä¿Â¼ÏÂ, ²¢ÇÒ bootptag.c (»ò 
dhcptag.c) ±ØÐë·ÅÔÚ runtime/usr/local/src Ä¿Â¼ÏÂ: ËüÊÇÒ»¸ö·¢ËÍ
BOOTP/DHCP ÒªÇó, ²¢ÒÔÏàÈÝ춠shell µÄ±ê×¼Êä³ö¸ñʽ»ØÓ¦
BOOTP/DHCP ÄÚÈݵÄС³Ìʽ, ¾ÍÈçϵġõÀýËùʾ: 



     bootp_your_ip='129.194.71.32'
     bootp_server_ip='129.194.77.31'
     bootp_filename='XXXclean'
     bootp_subnet_mask='255.255.252.0'
     bootp_routers='129.194.68.1'
     bootp_domain_name_servers='129.194.69.200 129.194.8.7 129.194.4.32'
     bootp_host_name='pc7132'
     bootp_domain_name='unige.ch'
     bootp_root_path='/export/linux/rootfs'
     bootp_broadcast_address='129.194.71.255'
     bootp_nis_domain='cuisunnet.unige.ch'
     bootp_nis_servers='129.194.69.200'
     bootp_option_132='dufour'



±ê¼ÇµÄÃû³ÆÓë RFC 2132 ºÜÏàËÆ. Èç¹ûÄúʹÓàdhcptag, Äú½«µÃµ½Ò»
ЩÒÔ dhcp_ ¿ªÍ·µÄ±ê¼Ç, ÕâЩÊÇ DHCP-¹æ¸ñµÄÑ¡ÏîÄÚÈÝ; ÎªÁ˹˼°
ÏàÈÝÐÔ, ÆäËüµÄ×ÊѶÈÔÈ»ÒÔ bootp_ Îª×ÖÊ×. ÎÒÃÇʹÓÃÕâ¸ö³Ìʽ×Ô¶¯
Éè ¶¨ rc.sysdetect. ×îáá, ÔÚ runtime/lib °²×° makeramdisk script
. ÎÒÃǽ«ÓÃËü×Ô¶¯²úÉú ramdisk Ó°Ïñµµ. ÕâЩÈíÌå ¶¼ÔÚ³¬ÎļþµÄ
°æ±¾ÖÐ.

ÏÖÔÚÊÔÖøÓÉ¿Í»§¶ËÒÔ read-write NFS ¿ª»ú (ÈÔÈ»ÓÃÓ²µú¿ª»ú). Ëü
½«Õì²âÄú¿Í»§¶ËµÄ¸ö±ð×é̬, ²¢ ²úÉúÊʵ±µÄµµ¡õ ¼ì²é /etc/fstab,
/etc/hosts, /etc/sysconfig/network ÊÇ·ñÉ趨ÕýÈ·. Èç¹ûÄú¿´µ½µÄ²»ÊÇ
ÕâÑù, ÇëÔÚ µ¥È˹¤×÷ģʽÏÂÖØÊÔÒ»±é, ²¢ÕÒ³öÄúÔÚ rc.sysdetect Ðð
ÊöµµÖÐËù·¸µÄ´íÎó. 

µÈµ½Ëü¿ÉÒÔÕý³£¹¤×÷, µ½ /lib Ä¿Â¼ÏÂÖ´ÐР./makeramdisk. ½«»á»¨¼¸
ÃëÖÓ, À´²úÉúÒ»¸ö ramdisk Ó°Ïñµµ¸øΨ ¶ÁµÄ NFS ¿Í»§¶Ë. °Ñ²úÉú
³öÀ´µÃ ramdisk image ·ÅÔÚÕâ /lib/ramdisk.gz, ¾ÍÕâÑùÄúµÄ×é̬¾Í
Ð÷ÁË!

3.2.4. ÓÉ Bootprom ¿ª»ú

Èç¹ûÄú»¹Î´Íê³ÉËü, Çë°²×°ÄúµÄ TCP/IP Bootprom-ÏàÈݵĠkernel
Ó°Ïñµµ (¿ÉÔÚÕâÕÒµ½ /usr/src/linux/arch/i386/boot/bpImage) ¼´ÄúËÅ·þ
Æ÷ÉϵĠ/tftpboot/linux.PX . rc.sysdetect Õâ¸öÐðÊöµµÓÃÀ´³õʼ»¯ÄúµÄ
Linux swap ¼° Linux ×ÊÁÏ·Ö¸îÇø. ÒòΪҪÆô¶¯Ëü, ¹Ê±à¼­ËÅ·þÆ÷
ÉÏ XXXclean.tab Õâ¸öµµ°¸²¢¸Ä±ä·Ö¸îÇø µÄÐÍ̬ÓÉ hex 82 ¸ÄΪ hex
28, ¼° hex 83 ¸ÄΪ hex 38. ÕâÊÇÒ»ÖÖδ֪µÄ·Ö¸îÇøÐÍ̬, µ«ÊÇ°²
×°³ÌÐòµµÄÜ°ÑËüµ±³ÉÔ¤±¸·Ö¸îÇøÀ´±æ Ê¶. ÔÚ DHCP µÄÉ趨µµÖÐ, °Ñ
¿ª»úµµÉ趨Ϊ XXXclean , Ê¹ËüÄÜÖØР½¨Á¢·Ö¸î±í. ±ðÍüÁËÔÚÐÞ¸ÄÍê
É趨µµááÒªÖØÐÂÆô¶¯ DHCP daemon.

×îáá, unexport ¿É¶ÁдµÄ runtime Ä¿Â¼, ²¢ export Î¨¶ÁµÄ 
/export/linux/rootfs Ä¿Â¼. ÖØÐÂÆô¶¯¿Í»§¶Ë, ÕâÒ»´Îʹ Óÿª»úʹÓà
Linux Ñ¡µ¥µÄÑ¡Ïî. ÄúµÄϵͳÏÖÔÚÒÑÊÇ remote-boot Linux.

3.2.5. ÏµÍ³Î¬»¤Óë¸üÐÂ

Èç¹ûÄúÒÔááÏë¸üÐÂÈíÌå,°²×°Ò»Ð©´íÎóÐÞÕýµµ»ò°²È«ÐÔÐÞÕýµµ, Çë°
´ÕÕÏÂÁв½Öè: 

     Unexport rootfs Ä¿Â¼ 
     Export runtime Ä¿Â¼Îª¿É¶Á¿Éд¸øÄúµÃ¿Í»§¶Ë 
     É趨Äú¿Í»§¶ËµÄ nfsroot Ä¿Â¼Îª runtime (ÔÚ /etc/bootptab ÖÐ
     É趨) 
     Æô¶¯ÄúµÃ Linux ¿Í»§¶Ë, ²¢°²×°ÄúÏë°²×°µÄ¶«¶«. ²»ÒªÅÂʹÓÃ
     rpm, Ëü¿ÉÒÔ×öµÃºÜºÃ (ֻҪСÐĵ± Äú°²×°ÈκÎÈíÌåÌ×¼þʱ,Òª
     ×¢ÒâһЩÄú×ö¹ýµÄÐÞÕý¿ÉÄÜÓÐЩҪ×÷ÐÞ¸Ä). 
     µ±ÄúÍê³ÉááÖØл»³ÉÕý³£µÄ export 

ÕâÊÇÖ¸, Äú±ØÐëÔÚ local °²×°µÄ״̬ÏÂ, ²ÅÄܸüÐÂÄúµÄ
server-based É趨µÄÈíÌå.

3.3. É趨 DOS 6 ¼° Windows 3.1

ÔÚÄúµÄ¿Í»§¶ËµçÄÔ, Ê¹ÓÃÄúϲ»¶µÄ dos Èíµú¿ª»ú (¼ÇµÃ¿ª»úʱ, °´
¿Õ°×¼üÈ¡Ïû BootPROM ¿ª»ú). ¸ñʽ »¯ÄúÓ²µúÖеĠdos ·Ö¸îÇø²¢¼Ó
ÉÏ /S ²ÎÊý, Ê¹Ëü·ÅÈë×÷ҵϵͳ. ½¨Á¢Ò»¸öÃûΪ DOS µÄ×ÓĿ¼, °Ñ
DOS ¿½ ±´½øÈ¥. °²×°ÄãËùϲ»¶µÄÍø·¿Í»§¶Ë³Ìʽ (ÀýÈç Microsoft
LanManager), Windows 3.1, µÈµÈ. Ê¹ÓàDHCP Í¨Ñ¶Ð­¶¨É趨 IP
×é̬.

Äú±ØÐë»Ö¸´Ô­±¾±» BootPROM ËùʹÓõôµÄ¼ÇÒäÌå¿Õ¼ä (µ± DOS Æô¶¯
ááÕâЩ¼ÇÒäÌå²»ÔÙÐèÒªÓõ½À²) ¼ÓÈëÏÂÃæÕâÒ»Ðе½Äú config.sys ÄÚ
µÄµÚÒ»ÐÐ:



     device=\util\bputil.sys -r



(bputil ÊÇÒ»¸ö TCP/IP BootPROM ¹¤¾ß´ÅƬÖеijÌʽ). ²»ÓÃÅÂʹÓÃ
EMM386 ×î¼Ñ»¯ÄúËùʹÓõļÇÒäÌå, Äú¿ÉÒÔ°ÑÍø·¿¨ ROM ËùÕ¼µÄÇø
ÓòÄÉÈë¹ÜÀí, ÒòΪËüÔÚÕâʱÒѾ­Óò»µ½ÁË. µ«Òª¼ÇµÃ°ÑÍø·¿¨Ëùʹ
ÓàµÄ RAM Çø¿é²»ÄÉÈë¹ÜÀí, ·ñÔòÄú½«ÎÞ·¨Á¬½Óµ½ÄúµÄËÅ·þÆ÷.

Èç¹ûÄú²»ÈÃÄúµÄ¿Í»§¶Ë»úÆ÷ʹÓÃÎÞЧµÄµÇÈëÃû³Æ, °ÑÎÒÃǵĠ
nobreak.sys pseudo-device Çý¶¯³Ìʽ·ÅÔÚÄú config.sys µÄ¿ªÍ·´¦²¢
°ÑÒÔÏÂÕâЩ¶«Î÷·Åµ½ÄúµÄ autoexec.bat: 



     rem -- ÎÒÃÇʹÓàc:\logged ÎªÒ»¸öÆìºÅ
     del c:\logged >nul
     :loginneeded
     cls
     echo Please type in your login name and password
     echo.
     net logon *
     rem -- the login script ÒѾ­½¨Á¢ºÃ c:\logged
     if not exist c:\logged goto loginneeded
     del c:\logged
     rem -- Ê¹ break ¹¦ÄÜÉúЧ
     echo Yes >NOBRK



ÖØпª»ú²¢ÔÚ¿ª»úÑ¡µ¥ÖÐÑ¡Ôñ Boot from local hard-disk Ñ¡Ïî,
È·¶¨¿ÉÒÔ¿ª»ú.

3.3.1. °Ñ×é̬É趨ÒƵ½ËÅ·þÆ÷

»Øµ½ËÅ·þÆ÷ÉÏ, ½¨Á¢Ò»¸ö·ÖÏíÃû³ÆΪ admin , ÓÃÀ´·ÅһЩϵͳ¹ÜÀí
ÕßÓõĶ«¶«. Èç¹ûËÅ·þÆ÷ÊÇÅÜ Unix, ½¨ÒéÄú°Ñ /tftpboot ×ÓĿ¼ÓÃ
softlink ·ÅÒ»·Ýµ½ admin , ÕâÑùÄú¿ÉÒÔÖ±½ÓÓÉ¿Í»§¶Ë´«»Ø¿ª»úÓ°Ïñ
µµ. ÔÚ admin Ä¿ Â¼ÄÚ, ½¨Ò»¸ö /utils ×ÓĿ¼²¢·ÅÈëÈçÏµĹ¤¾ß: 

     mrzip.exe, Ò»¸öÓÃÀ´Ñ¹ËõÄú¿Í»§¶ËÓ²µúÓ°ÏñµµµÄ³Ìʽ. 
     mrunzip.exe, Ò»¸öÓÃÀ´»Ø´æÄúÓ²µúÓ°Ïñµµµ½ËÅ·þÆ÷µÄ³Ìʽ. 

ÄúÒ²ÐèÒª°ÑһЩÓÃÀ´ÇåÀíÓ²µú¼°²úÉúѹËõÓ°ÏñµÄÅú´Îµµ·Åµ½ÏàͬµÄ
Ŀ¼ÏÂ,ÕâЩÅú´ÎµµÈçÏÂ: 



     @echo off
     if "%1"=="" goto error
     echo >c:\lanman.dos\lmuser.ini
     l:\utils\mrzip l:\tftpboot\%1
     goto end
     :error
     echo Usage: MAKEIMG {image-name-without-extension}
     :end



ÏÖÔڻص½ÄúµÄ¿Í»§¶Ë, ÒÔϽ«ÒÔ admin mount Îª´Åµú»ú L: Îª¡õÀý×÷
˵Ã÷½ÓÖøÖ´ÐÐÄú½¨Á¢µÄÅú´Îµµ, Èç ¹ûÄú»¹Ã»×öÄÇ¿ÉÒÔ°´ÏÂÁеÄÖ¸Áî
Ö´ÐР(²»Ò»¶¨ÒªÓþø¶Ô·¾¶ ) 



             L:\util\mrzip L:\tftpboot\win31



Ò»·ÖÖÓ¹ýáá, ÄúËÅ·þÆ÷ÉϵĠ/tftpboot ×ÓĿ¼Ï½«ÓÐÁ½¸öеµ°¸, Ãû
³ÆΪ win31.imz, ÊÇÄúÓ²µúÄÚÈݵÄѹËõ Ó°Ïìµµwin31.chk, ÕâÊÇÏà¹ØµÄ
¼ì²éµµ (ÊÇ partition boot record Ï¸²¿ÐÞ¸ÄááµÄ¿½±´). ÔÚÕâÕæ
ÕýµÄĿ¼ÄÚ, Ö» Òª½¨Á¢Ò»¸ö bpunzip µÄ symbolic link (»òÕâÓÿ½
±´µÄ) ÇÒÃüÃûΪ win31.P.

ÄúµÄÓ²µúΪÖ÷µÄÔ¶¶Ë¿ª»úÉ趨ÏÖÔÚÒ»ÇоÍÐ÷À².

3.3.2. ²âÊÔÔ¶¶Ë¿ª»ú¿Í»§¶Ë

ÏÖÔÚÖØÐÂÆô¶¯ÄúµÄ¿Í»§¶Ë²¢ÔÚ¿ª»úÑ¡µ¥ÖÐÑ¡ DOS and Windows 3.1
µÄÑ¡Ïî. bpunzip Õâ³Ìʽ½«´«¸øÄúÒ» Ð©Ëü²úÉúÓ°ÏñµÄ±í¸ñѶϢ, ²¢×Ô
Íø·ÏÂÔØÕû¸ö¿ª»úÓ°Ïñµµ (ÒòÕâÊǵÚÒ»´ÎËü¿´µ½Õâ¸ö¿ª»úÓ°Ïñµµ).
Õâ ½«»á»¨µôÒ»·ÖÖÓ×óÓÒ. ½ÓÖøËü»á½âѹËõÕâ¸öÓ°Ïñµ½ DOS ·Ö¸îÇø,
²¢ÓÉËû¿ª»ú. Õâ¾ÍÊÇÄãÒªµÄ, ÄúµÄÔ¶¶Ë¿ª»ú¿Í»§¶ËÍê³ÉÀ² ! 

ÏÂÒ»´ÎÄúÖØпª»ú, ËüÖ»»á½âѹËùÕâ¸öÓ°Ïñµµ, ´ó¸ÅÔÚ 30 ÃëÄÚÍê
³É.

3.3.3. ×ª»»É趨µµ¸øÆäËû»úÆ÷

Èç¹ûÄúҪΪÿ̨»úÆ÷ÐÞÕýһЩÉ趨 (ÀýÈçÔ¤ÉèÓ¡±í»ú), »òÕßÈç¹ûÄú
ÐèÒª±ä¸üһЩ²»ÄÜ͸ ¹ý DHCP Í¨Ñ¶Ð­¶¨Ð޸ĵÄÍø·É趨, Äú¿ÉÒÔʹ
Óàunzipreg.exe ³ÌʽÀ´´¦Àí, Ëü±ØÐë·Åµ½¿Í»§¶ËµÄ autoexec.bat (Ô­
ʼ³ÌʽÂëÔÚÕâ). Õâ³Ìʽ½«¶ÁÈ¡Ò»¸öÓÉ bpunzip ²úÉúµÄÌØÊâÒþ²Øµµ°¸,
Ãû³ÆΪ BOOTP.ANS, ËüµÄÄÚÈÝÊÇÓÉËÅ·þÆ÷͸¹ý BOOTP/DHCP Í¨Ñ¶Ð­¶¨
»Ø´«µÄ. ½ÓÖø, Ëü½«¶ÁÈ¡µÚÒ»¸ö²ÎÊýËùÖ¸µÄµµ°¸Ãû ³Æ, ½åÓÉ
BOOTP/DHCP µÄ»ØÓ¦ÄÚÈÝ, ÒÔ UNZIPREG: ±êÇ©Ãû : ÕâÖÖ¸ñʽȡ´úËùÓÐ
µÄ×Ö´®, ²¢°Ñ½á¹ûдÈë µÚ¶þ¸ö²ÎÊýËùÖ¸µÄµµ°¸Ãû³Æ. ÀýÈç, Èç¹ýÄú
Óиöµµ°¸ÃûΪ input.bat ÄÚÈÝΪ: 



     set hostname=UNZIPREG:HOSTNAME:
     set domainname=UNZIPREG:DOMAINNAME:
     set gateway=UNZIPREG:ROUTER:
     set subnetmask=UNZIPREG:SUBNET:
     set printer=UNZIPREG:T180:



¶øÄúÖ´ÐÐÁËÕâ¸öÖ¸Áî 



             unzipreg input.bat output.bat



Äú½«µÃµ½Ò»¸öµµ°¸ÃûΪ output.bat °üº¬ÄÚÈÝ: 



     set hostname=pc7179
     set domainname=unige.ch
     set gateway=129.194.76.1
     set subnetmask=255.255.252.0
     set printer=laserwriter1



¼ÙÉèÄúµÄ DHCP É趨µµ¶¨ÒåÕą̂»úÆ÷ÃûΪ pc7179, ÁìÓòÃû³ÆΪ 
unige.ch, µÈµÈ, ¶ø option-180 ±ê¼ÇÊÇ laserwriter1.

Ò²¿ÉÒÔ͸¹ýÕâÖÖµÇÈëÐ޸ĠWindows ×ÀÃæ. ÎÒÃÇдÁËÒ»¸öС³Ìʽ 
simple program ÓÃÀ´Ôö¼Ó PROGMAN.INI µµ°¸, ÔÊÐíΪһ ÈºÊ¹ÓÃÕßÉè
¶¨Í¬ÑùµÄ×ÀÃæ.

ÔÚΪÈκÎһ̨¿Í»§¶Ë»úÆ÷É趨áá, ±ðÍüÁËʹÓàmrzip ÖØн¨Á¢´Åµú
Ó°ÏñµµÒÔά³ÖÄúµÄËùÓбä¸ü.

3.4. É趨 Windows 95

ÔÚ´Ë·ÝÎļþÏÈÇ°µÄ°æ±¾, ÎÒÃÇʹÓùý΢Èí¹«Ë¾µÄ Windows 95
server-based installation, µ«ÊÇÓÃÕâ·½·¨Ì« ¹ýÍ´¿àÓÖ²»ÊÇÄÇ÷á
µÄÓмÛÖµ: 

     Ëü¾ÍÕæµÄÊǷdz£µÄÐéÄâ 
     ´ó²¿·ÝµÄÈíÌåÌ×¼þ¶¼²»Ö§Ô®Ëü¶øÇÒÈç¹ûÄúÊÔÖøÈ¥°²×°½á¹ûͨ³£
     ÊÇʧ°ÜµÄ. °üÀ¨, Microsoft Internet Explorer, OnNet 32,
     Novell's Protected-mode client (Õâ½Ï Microsoft Client
     for Netware°²È«). 
     ÒòΪ΢Èí¹«Ë¾²»Ìṩ Windows 95 ÔÚÕæʵģʽϵĠTCP/IP Ïà
     ÈݵÄÇý¶¯³ÌʽËùÒÔÄúÎÞ·¨Ê¹ÓàMicrosoft Network client
     over TCP/IP ÕâÒ²¾ÍÒâζÖøÄú²»ÄÜʹÓàSamba 
     ÒòΪµ±¿Í»§¶ËÒ»Æô¶¯¾Í»áËøסһЩ¶¯Ì¬Á¬½áµµÔì³ÉÐí¶à³Ìʽ¼¸
     ºõÎÞ·¨¸üÐÂ, Èç¹ûÄúÊÔÖøÈ¥¸üРËüÔò»á³öÏÖÎ¥±³·ÖÏí(sharing
     violations)µÄ´íÎó. 

Òò´Ë¼¸¸öÔÂÇ°ÎÒÃÇ·ÅÆúÕâ·Ý´íÎó°Ù³öµÄ×ÊÁÏ (ÄúÈÔÈ»¿ÉÔÚÕâÕÒµ½ 
http://cuiwww.unige.ch/info/pc/remote-boot/win95old/win95old.html)
È»áá»»µ½ÎÒÃÇÕâ¸öеĠdisk-based Ô¶¶Ë Æô¶¯µÄ¸ÅÄî. »ù±¾ÉÏ, Õâ
ÖÖ Windows 95 °²×°·½·¨¾Í¸ú°²×° DOSÒ»ÑùÈÝÒ×.

3.4.1. ½¨Á¢Ò»Ì¨¶ÀÁ¢µÄ¿Í»§¶Ë

ÔÚ¿Í»§¶ËÓàDOS ¿ª»ú, Èç¹ûÄúÒѾ­É趨ºÃ DOS/Windows 3.1 ÄǾÍ
Ëæ±ãÓÉ¿ª»úÑ¡ÏîÖÐÑ¡Ò»¸ö, »òÕßÓàһ¸öÈíµú¿ª»ú (°´ space ¼ü¿É
ÒÔÌø¹ý BootPROM). Ê¹ÓõÚÒ»ÖÖ·½·¨µÄÓŵãÊÇÄãÒѾ­ÓÐһ̨¿ÉʹÓÃ
Íø· µÄ¿Í»§¶Ë, ²¢ÇÒÖ»ÐèÒª°Ñ Windows 95 µÄ°²×°´ÅƬ·Åµ½ÄúµÄËÅ
·þÆ÷ÉϵÄij¸öµØ·½.

Èç¹ûÄúÓÉÈíµú¿ª»ú, ÄúµÄµÚÒ»²½ÊÇ°²×°×÷ҵϵͳ, ·½·¨ÊǸñʽ»¯Äú
Ó²µú»úµÄ DOS ·Ö¸îÇø²¢Óà/S µÄÑ¡ Ïî. Èç¹ûÄúʹÓàDOS/Windows
3.1 µÄ×é̬, ÄÇ÷áÊ×ÏÈÄúÒªÇå³ýһЩÄú°²×° Windows 95 Ê±²»ÐèÒª
µÄµµ °¸ÒÔ¼°Ò»Ð©ÔÚÄú×îááµÄ¿ª»úÓ°ÏñÖв»ÐèÒªµÄµµ°¸ (ÀýÈç,
WINDOWS Õâ¸öĿ¼).

¿ªÊ¼°²×° Windows 95, ÕÕÖø²½Öè°ÑËü×°ÔÚ local . °²×°×îáá, ³Ìʽ
»áÖØÐÂÆô¶¯ÄúµÄ¿Í»§¶ËµçÄÔ, ×öһЩ É趨²¢ÔÙÖØÐÂÆô¶¯Ò»´Î. Õ⼸
´ÎµÄÖØпª»ú, Äú±ØÐëÔÙÄúµÄ¿ª»úÑ¡µ¥Ñ¡Ôñ Boot from local
hard-disk Ñ¡ Ïî. µÈµ½ÄúÉ趨ºÃÄúËùÐèÒªµÄÇý¶¯³Ìʽáá, Äú¿ÉÒÔÖ´
ÐРdefrag ×öÍêÕûµÄÓ²µúÖØ×é (°üº¬ÖØ×éδʹÓõà´Åµú¿Õ¼ä).

Äú»òÐíÒ²ÏëҪʹÓàBootPROM ËùÕ¼µôµÄ¼ÇÒäÌå, Ö»ÒªÔÚ config.sys
µÚÒ»ÐмÓÉÏ :



     device=\util\bputil.sys -r



(bputil ÊÇ·ÅÔÚ TCP/IP Bootprom ¹¤¾ß´ÅƬÖÐ). ²»Í¬ì¶ DOS, Äú±Ü
Ðè±ÜÃâÔÚ Windows 95 ÖÐʹÓàEMM386 .

Èç¹ûÄúҪʹÓàWindows 95 OSR2 (»ò½Ð MSWIN 4.1, »òÕß Windows
95 service pack 1, »òÕß Windows 95 with Internet Explorer),
ÄúÒªÔÚ MSDOS.SYS ÖеĠ[Options] ¶Î¼ÓÒ»ÐР(û´íËüÊÇÎÄ×Öµµ): 



     AUTOSCAN=0



ÕâÑù¿ÉÒÔʹ Windows ÖªµÀÄú¿ª»úʱ²»×Ô¶¯Æô¶¯ ScanDisk .

µ±ËùÓеÄÈíÌ嶼·ÅÔÚËÅ·þÆ÷ʱ, Èç¹ûÄúÒª¼õÇáÍø·¼°ËÅ·þÆ÷µÄ¸ºµ£
(Õ⽫Ôö½øÄúµÄϵͳЧÂÊ) , Äú¿É ÒÔ¿¼ÂÇ°²×°ÕâÌ×Ï൱²»´íµÄ
Shared LAN Cache,ÓÉ Measurement Techniques, Inc Éú²úµÄ (²Î
¿¼ http://www.lancache.com). ÕâÌ×ÈíÌåÔÚÿ̨¿Í»§¶ËµçÄÔÖ´ÐÐ,
Ëü»á¶ÔËùÓдÓÍø·ÉÏÈ¡µÃµÄ×ÊÁÏ·ÅÔÚÇø ÓòÐÔµÄÓ²µúÖпìÈ¡. ¼´Ê¹Ïñ
MS-Office ÔÚÄúµÚ¶þ´ÎÖ´ÐÐʱҲ»á¸ü¿ì... ÄúµÄÿ̨¿Í»§¶ËµçÄÔ¶¼
ÒªÓÐÒ» ·Ý°æȨ, ²»ÊÇËü»¹²»ÊǺܹó, Õâ¼Ò¹«Ë¾¶Ô춴óרԺУÓÐÌØ»Ý
¼Û¸ñ. ¸üºÃµÄÊÇÄú¿ÉÒÔµ½ËûÃǵÄÍøÒ³ÏÂÔØ Ãâ·ÑµÄÆÀ¹À°æ.

3.4.2. °ÑÉ趨µµÒƵ½ËÅ·þÆ÷

ËÅ·þÆ÷¶Ë, Èç¹ûÄúÄ¿Ç°»¹Ã»Óн¨Ò»¸öÃûΪ admin µÄĿ¼, ÄǾͽ¨Ò»
¸ö. Õ⽫·ÅһЩϵͳ¹ÜÀíÒªÓõĶ« Î÷. Èç¹ûËÅ·þÆ÷ÊÇ Unix µÄ»ú
Æ÷, ÏÖÔÚ°Ñ admin Ä¿Â¼Óàsoftlink µ½ /tftpboot ×ÓĿ¼ÏÂ, ÕâÑùÄú
¿ÉÒÔÓÉ¿Í»§¶Ë Ö±½Ó°ÑÓ°Ïñµµ·Åµ½Õâ. ÔÚ admin Ä¿Â¼ÄÚ, ½¨Á¢Ò»¸ö 
/utils ×ÓĿ¼²¢°ÑÏÂÁй¤¾ß·Å½øÈ¥: 

     mrzip.exe, Ò»¸öÓÃÀ´²úÉúÄú¿Í»§¶ËÓ²µú»úѹËõÓ°ÏñµÄ³Ìʽ. 
     mrunzip.exe, Ò»¸öÓÃÀ´°ÑѹËõÓ°Ïñµµ´ÓËÅ·þÆ÷»Ø´æµ½Äú¿Í»§¶ËÓ²
     µúµÄ³Ìʽ. 

ÔÚÄúµÄ¿Í»§¶Ë¿ª¸ö MS-DOS ÊÓ´°, ¿ÉÒÔ°ÑÄúµÄ admin ÓÃÍø·´Åµú»ú
¹ÒÔÚ L: ²¢Ö´ÐÐÏÂÁеÄÖ¸Áî (²»Ò» ¶¨ÒªÊ¹Óþø¶Ô·¾¶, ¶à´ò¼¸¸ö×Ö
ÎÞº¦À² :-) 



             L:\util\mrzip L:\tftpboot\win95



Õ⽫ÔÚËÅ·þÆ÷µÄ /tftpboot ×ÓĿ¼ÏÂ, ²úÉúÁ½¸öеµ°¸, ÃûΪ 
win95.imz, Ò»¸öÄú¿Í»§¶ËÓ²µú»úµÄѹËõÓ°Ïñ ¼° win95.chk, ¼ì²éÓÃ
µÄµµ°¸ (ÆäʵÄÚÈÝÊÇ°Ñ¿ª»ú·Ö¸îÇø×öЩÐíµÄ±ä¶¯). ÕæÕýµÄĿ¼, Ö»
Òª½¨¸öÃûΪ win95.P µÄ·ûºÅÁ¬½áµ½ bpunzip (»òÕß¿½±³Ò»·Ý) .

ÏÖÔÚÄúµÄ Windows 95 Ô¶¶Ë¿ª»ú×é̬¾ÍÍê³ÉÀ².

3.4.3. ²âÊÔÔ¶¶Ë¿ª»ú¿Í»§¶Ë

ÏÖÔÚÖØÐÂÆô¶¯ÄúµÄ¿Í»§¶ËµçÄÔ²¢´Ó¿ª»úÑ¡µ¥ÖÐÑ¡Ôñ Windows 95 .
bpunzip ³Ìʽ½«¸øÄúһЩ¹Øì¶Ëü¸üРӰÏñ±íµÄѶϢ, ²¢ÇÒ´ÓÍø·ÏÂÔØ
Õû¸ö¿ª»úÓ°Ïñ (Èç¹ûËüÊǵÚÒ»´Î¿´µ½Õâ¸ö¿ª»úÓ°Ïñ). Õâ´óÔ¼»á»¨µô
Á½·ÖÖÓ. ½ÓÖøËü½«½âѹËõÕâ¸öÓ°Ïñµµµ½ DOS ·Ö¸îÇø, ²¢Æô¶¯Ëü. ¾Í
ÕâÑù, ÄúµÄÔ¶¶Ë¿ª»ú¿Í»§¶Ë¾ÍÐòÀ²! ÏÂÒ»´ÎÄúÖØпª»ú, ËüÖ»»á½â
¿ªÕâ¸öÓ°Ïñµµ, ´ó¸Å»á»¨ 40 Ãë.

3.4.4. ×ª»»ÎªÆäËü·ÖÉíµÄÉ趨

Windows 95 Óë Windows 3.1 ×î´óµÄ²»Í¬ÊǼÓÈëÁ˼´²å¼´ÓõijÌʽ
Âë, ¼´×Ô¶¯Õì²âÄúµÄÓ²ÌåÉ豸. Ëü±¾ ÉíÎÞÉỵ´¦, µ«ÎÊÌâÊdzöÔÚËü
Ì«¹ýÁéÃô, ¶øÇÒÓÐʱáá»á³ö¡õ.

Èç¹ûÄúÊÔÖøÓÃͬÑùµÄ¿ª»úÓ°ÏñÈ¥Æô¶¯Áíһ̨¿Í»§¶Ë»úÆ÷, Äú½«ÔÚÊÕ
µ½Ò»¶Ñ Windows Õì²â µ½ÐµÄÓ²Ìå É豸µÄѶϢ: Ò»Æ¬ÐµÄÒôЧ¿¨,
Ò»¿ÃеÄÓ²µú»ú, Ò»Æ¬ÐµÄÍø·¿¨, »òÕßһֻеĻ¬Êó... »áÕâÑù
µÄÔ­ ÒòÓжþ: 

     ÕâЩÉ豸¿ÉÄÜʹÓò»Í¬µÄÓ²Ìå×ÊÔ´ (±ÈÈç, »¬Êó²»ÊǽÓÔÚÏàͬ
     µÄÁ¬½Ó²º, ÒôЧ¿¨²»ÊǽÓÔÚͬÑùµÄ À©³ä²Û - Ã»´í, Õâ»á±»Õì
     ²âµ½) 
     ÕâЩÉ豸¿ÉÄÜ֪ͨ Windows 95 ËüÃǵÄÐòºÅ (±ÈÈç, Ã¿Ì¨ÅÜ
     Windows 95 µÄÍø·¿¨, ´Ó×î»ù´¡µÄÒÒ Ì«Íø·λַ¾Íÿ̨¶¼²»
     Ò»ÑùÁË) 

ÊÂʵÉÏ , Èç¹û Windows 95 µÄ¼´²å¼´Óù¦ÄÜ¿ÉÒÔÕý³£¹¤×÷µÄ»°, ×Ô
¶¯Õì²â±ä¸üµÄÓ²ÌåÉ豸²¢²»»á³öÎÊ Ìâ, ËùÒÔÈç¹û¼´²å¼´Óù¦ÄÜʧЧ
ʱ, ÎÊÌâ¾ÍÀ´ÁË. ÀýÈç, Windows 95 ¶ÔÉÏÎÒÃǵÄÂÞ¼¼ PS2 »¬Êóʱ
¾Í²» Äܼ´²å¼´ÓÃ, ¸üÔãµÄÊÇ»¬Êó¾ÍÏûʧÁË. Òª½â¾öÕâÀàÎÊÌâ·½·¨¾Í
ÊÇ, ¾¡¿ÉÄÜʹȫ²¿µçÄÔÓÐÏàͬµÄÉ豸.

ÄúÎÞ·¨±ÜÃâµÄÎÊÌâÊÇÿ̨µçÄÔµÄÍø·¿¨. ºÜ²»ÐÒµÄ, ¸øÎÒÃǵĠSMC
EtherEX Ê¹Óõļ´²å¼´ÓõijÌʽ Âë»áʹµçÄÔµ±»ú. Î¨Ò»µÄ½â·¨ÊÇʹ
Windows 95 ÏàÐÅËüÒѾ­ÖªµÀÓÐÕâƬÍø·¿¨, ÇÒ²»Ðè´¥¶¯¼´²å¼´ÓÃ
»úÖÆ. Õâ¸ö¼¼ÇɾÍÊÇ͸¹ý¿ª»ú×Ô¶¯Ö´Ðеµ autoexec.bat , ×Ô¶¯µÄ°Ñ¹Ø
ì¶ÕâƬÍø·¿¨µÄÉ趨ֵ¼ÓÈë Windows 95 µÄϵͳע²á×ÊѶ. Òª×¢Òâ
µÄÊÇʹÓàPCI µÄÍø·¿¨²¢²»ÐèÒªÕâ¸ö¼¼ÇÉ.

µ½ÄúµÄ¿Í»§¶ËµçÄÔ, ±à¼­¿ª»ú×Ô¶¯Ö´Ðеµ autoexec.bat ²¢¼ÓÈëÏÂÁм¸
ÐÐ: 



     rem --- ÐÞÕý Windows ÏµÍ³×¢²á×ÊѶÒÔ±ÜÃâ¼´²å¼´Óù¦ÄÜÕì²â
     cls
     unzipreg c:\lib\smc.reg c:\temp\smc.reg
     regedit /L:c:\win95\system.dat /R:c:\win95\user.dat c:\temp\smc.reg
     echo.
     del c:\temp\smc.reg



regedit ÊDZê×¼ Windows 95 µÄ³Ìʽ. Èç¹ûÄúÔÚ Windows 95ÏÂÖ´ÐÐ
Ëü,Ëü¿ÉÒÔ°ïÄúÁ÷ÀÀÄúµÄϵͳµÇ¼×ÊѶ, »ò ÕßÈç¹ûÄúÔÚ DOS ÏÂÖ´ÐÐ
Ëü, Ëü¿ÉÒÔ¶ÔÄúµÄϵͳµÇ¼×ÊѶ×öһЩ¼òµ¥µÄÐÞÕý. unzipreg.exe ÊÇ
Ò»¸ö×ÔÖƵÄС³Ìʽ, Äú¿ÉÒÔ·ÅÔÚÄúµÄ·¾¶ÏµÄÈκεط½ (ԭʼ³Ìʽ
ÖÁÔÚ Õâ). Ëü½«¶ÁÈ¡Ò»¸öÓÉ bpunzip Ëù²úÉúµÄÌرðÒþ²Øµµ°¸, Ãû³ÆÊÇ
BOOTP.ANS, Ëü°üº¬À´×ÔËÅ·þÆ÷µÄԭʼ BOOTP/DHCP »ØÓ¦×ÊѶ. È»áá,
Ëü½«¶ÁÈ¡µÚÒ»¸ö²ÎÊýµÄµµ°¸(c:\lib\smc.reg), È»ááÒÔ BOOTP/DHCP
»ØÓ¦µÄ×ÊÁÏÈ¡´úµµ°¸ÄÚËùÓÐÒÔ UNZIPREG:tagname: Îª¸ñʽµÄÄÚÈÝ, ½Ó
ÖøдÈëµÚ¶þ¸ö²ÎÊýµÄµµ°¸(c:\temp\smc.reg).

ÔÚ lib ×ÓĿ¼ÏÂ, ÎÒÃÇÓиöÃûΪ smc.reg µÄµµ°¸ÆäÄÚÈÝÈçÏÂ: 



     REGEDIT4

     [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C0]
     "HardwareID"="*SMC8416,ISAPNP\SMC8416"
     "HWRevision"="1.0.10"
     "DeviceDesc"="SMC EtherEZ (8416)"
     "Class"="Net"
     "Driver"="Net\\0001"
     "CompatibleIDs"="*SMC8416"
     "Mfg"="SMC"
     "ConfigFlags"=hex:10,00,00,00

     [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C0\Bindings]
     "MSTCP\\0001"=""

     [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C0\LogConfig]
     "0000"=hex:00,04,00,00,00,20,00,00,10,00,00,00,04,00,00,00,00,00,00,00,a8,0e,\
       00,00,20,00,00,00,02,00,00,00,01,00,0c,00,00,00,00,00,00,00,00,00,e0,ff,20,\
       00,40,02,ff,03,00,00,04,03,2c,00,00,00,01,00,00,00,01,00,14,00,00,00,00,00,\
       00,00,00,00,00,00,00,00,00,e0,ff,ff,00,20,00,00,00,00,0c,00,ff,ff,0f,00,00,\
       00,00,00,2c,00,00,00,01,80,00,00,01,00,14,00,00,00,00,00,00,00,00,00,00,00,\
       00,00,00,e0,ff,ff,00,80,00,00,00,00,0c,00,ff,5f,10,00,00,00,00,00,00,00,00,\
       00

     [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C1]
     "HardwareID"="*SMC8416,ISAPNP\SMC8416"
     "HWRevision"="1.0.10"
     "DeviceDesc"="SMC EtherEZ (8416)"
     "Class"="Net"
     "Driver"="Net\\0001"
     "CompatibleIDs"="*SMC8416"
     "Mfg"="SMC"
     "ConfigFlags"=hex:10,00,00,00

     [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C1\Bindings]
     "MSTCP\\0001"=""

     [HKEY_LOCAL_MACHINE\Enum\ISAPNP\SMC8416\UNZIPREG:MACID:C1\LogConfig]
     "0000"=hex:00,04,00,00,00,20,00,00,10,00,00,00,04,00,00,00,00,00,00,00,a8,0e,\
       00,00,20,00,00,00,02,00,00,00,01,00,0c,00,00,00,00,00,00,00,00,00,e0,ff,20,\
       00,40,02,ff,03,00,00,04,03,2c,00,00,00,01,00,00,00,01,00,14,00,00,00,00,00,\
       00,00,00,00,00,00,00,00,00,e0,ff,ff,00,20,00,00,00,00,0c,00,ff,ff,0f,00,00,\
       00,00,00,2c,00,00,00,01,80,00,00,01,00,14,00,00,00,00,00,00,00,00,00,00,00,\
       00,00,00,e0,ff,ff,00,80,00,00,00,00,0c,00,ff,5f,10,00,00,00,00,00,00,00,00,\
       00



Õâ¸öµµ°¸Ò»¿ªÊ¼ÓÉ Windows 95 µÄ regedit ²úÉú. ÎÒÃǰѹØì¶Íø·¿¨
µÄÉ趨²¿·ÝÊä³ö³ÉÒ»¸öµµ°¸ ( HKEY_LOCAL_MACHINE/Enum/ISAPNP/SMC8416)
È»ááÓàUNZIPREG:MACID: ¼ÇºÅÈ¡´úÍø·¿¨µÄÓ²Ìåλַ. µ±ÎÒ ÃÇÔÚÕâµµ
°¸ÖÐÖ´ÐРunzipreg , Ëü»á×Ô¶¯µÄÒÔÍø·¿¨ÕæʵµÄÓ²Ìåλֵַȡ´úÎÒ
ÃÇËùÉ趨µÄ¼ÇºÅ. ×¢ÒâÕâ ÀïÓиöÊý×ÖÔÚ MACID Ö®ááµÄÓÐʱÊÇ C0 ÓÐ
ʱÊÇ C1. ¼´Ê¹·ÅÒ»¸ö²»´æÔÚµÄÍø·¿¨ÔÚÕâ¸öµÇ¼µµÖв» »á³ö¡õ, ÎÒ
ÃÇ»¹ÊÇ°ÑÁ½Ï·Å½øÈ¥.

»¹ÒªÒ»´Î¨á, ÕâÕû¸ö¼¼ÇɶԠPCI Íø·¿¨¶øÑÔ²¢²»ÐèÒª. Ë³±ãÒ»ÌáµÄ
ÊÇ, ÎÒÃÇ¿ÉÒÔÓÃͬÑùµÄ·½·¨×Ô¶¯µÄ ÅäÖÃÖ÷µçÄÔÃû³Æ, µ± Windows
95 ²»ÄÜ͸¹ý DHCP È¡µÄÉ趨ʱ. ÎÒÃÇÖ»Ðë¼ÓÈëÏÂÁм¸Ðе½ÎÒÃǵĠ
smc.reg µµ°¸ÖÐ: 



     [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
     "ComputerName"="UNZIPREG:HOSTNAME:"

     [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
     "HostName"="UNZIPREG:HOSTNAME:"

     [HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\ComputerName\ComputerName]
     "ComputerName"="UNZIPREG:HOSTNAME:"



ÄúÒ²¿ÉÒÔʹÓÃͬÑùµÄ»úÆ÷°´ÕÕ»úÆ÷µÄÐÍ̬¸úλÖÃÀ´É趨ÆäËûµÄ»·¾³.
Õâ¸ö¡õÀý, ÄúÒ»Ñù¿ÉÒԲο¼ DOS/Windows 3.1 ÄÇÒ»¶ÎµÄÐðÊö.

ÔÚ±ä¸üÈκοͻ§¶Ë»úÆ÷µÄÉ趨áá, Ç§Íò±ðÍüÁËÓàmrzip ÖØн¨Á¢´Å
µúÓ°Ïñ, ·ñÔòÄúËùÓеÄÉ趨¶¼»á²» ¼û. 

ʹÓÃÕâ¸öϵͳµÇ¼×ÊѶµÄС¼¼ÇÉ, ÄúµÄÉ趨×ÊѶ½«¿ÉÒÔÕý³£µÄתÒÆ
µ½ËùÓеĻúÆ÷. Èç¹ûÄúÎÞ·¨±ÜÃâ Windows È¥Õì²âһЩ»úÆ÷ÉϵÄÐÂÓ²
Ìå, ÊÔÖøÓÉÕą̂»úÆ÷ÖØн¨Á¢´ÅµúÓ°Ïñµµ. °üº¬Õë¶ÔÕą̂»úÆ÷Ëù Éè
¶¨µÄµÇ¼×ÊѶҲҪ·ÅÈë´ÅµúÓ°ÏñÖÐ, Èç¹û˳ÀûµÄ»°¿ÉÒÔ½â¾öÕâ¸öÎÊ
Ìâ.

µ±´ÅµúÓ°Ïñµµ½âѹËõʱ»á»¨Ò»Ð©Ê±¼ä (ͨ³£ÊÇ 20-30 Ãë.), Äú¿ÉÒÔ
¸øʹÓÃÕßһЩѶϢ»òÕ߾ͷÅÕÅƯƯ µÄͼ¸øËûÃÇ¿´. Õâ¸ö¹¤×÷¿ÉÒÔºÜ
¼òµ¥µÄÍê³É (¿´¿´ÏÂһƪÎļþµÄ BPUNZIP ).

Èç¹ûÄúÏëµÃµ½¸ü¶àÉ趨 Samba µÄ×ÊѶÓ빤¾ß¸øÔ¶¶Ë¿ª»úµÄµçÄÔʹ
ÓÃ, ÎÒÃÇ»¹Ð´ÁËÁíÒ»·ÝÎļþ. ¿ÉÒÔ ¿´¿´ 
http://cuiwww.unige.ch/info/pc.


Linux Remote-Boot mini-HOWTO: Ê¹ÓàRed-Hat Linux, DOS,
Windows 3.1 ¼° Windows 95 É趨Զ¶Ë¿ª»ú¹¤×÷Õ¾ : ÈçºÎÉ趨
Previous: ¼ò½é
Next: TCP/IP Bootprom Ïà¹Ø¹¤¾ß³Ìʽ 

--
¡ù À´Ô´:£®×Ï ¶¡ Ïã bbs.hit.edu.cn£®[FROM: 202.118.244.16]
[°Ù±¦Ïä] [·µ»ØÊ×Ò³] [Éϼ¶Ä¿Â¼] [¸ùĿ¼] [·µ»Ø¶¥²¿] [Ë¢ÐÂ] [·µ»Ø]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
Ò³ÃæÖ´ÐÐʱ¼ä£º412.182ºÁÃë