· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Swap-Space

You are not allowed to 'edit'


SHARING SWAP SPACES BETWEEN LINUX AND MS-WINDOWS

SHARING SWAP SPACES BETWEEN LINUX AND MS-WINDOWS

H. Peter Anvin hpa@yggdrasil.com

VERSION: 1.3 Date: 19 Jun 1995 ¹ø¿ª ÀÌÀ±¼ö seyon@nownuri.net c9644168@enter.soongsil.ac.kr ³¯Â¥:1997³â 12¿ù 28ÀÏ

1. °³¿ä

¸¹Àº »ç¶÷µéÀÌ ¸®´ª½º¿Í À©µµ¿ìÁ µÑ´Ù »ç¿ëÇÑ´Ù. ±×·¯ÇÑ Çൿ (Áï: »ç¶÷µéÀÌ ±Ô°ÝÇ°À¸·Î ½ÇÇàÇÒ¼ö ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ »ç¿ëÇÏ´Â µ¿¾È ¸®´ª½º·ÎÇÏ´Â ½ÇÇè ±×¸®°í ¸®´ª½º¿¡ ¿­ÁßÇÏ´Â È°µ¿)À» Çϴ°ÍÀº ¸®´ª½ºÀÇ ´ëº¯È­ÀÇ Áß¿äÇÑ ºÎºÐÀÌ´Ù. ¸®´ª½º¿Í À©µµ¿ìÁî°¡ µð½ºÅ© ½º¿ÒÀ¸·Î °¡»ó ¸Þ¸ð¸®¸¦ »ç¿ëÇÑ ÀÌ·¡·Î, comp.os.linux.setup¿¡ ºó¹øÈ÷ ¹ß»ýÇÑ Áú¹®ÀÌ ¹Ù·Î ÇÊ¿äÇÑ disk°ø°£ÀÇ ¾çÀ» ÁÙÀ̱â À§ÇÑ ½º¿Ò °ø°£ÀÇ °øÀ¯ ¹æ¹ýÀÌ´Ù. ½º¿Ò °ø°£À» °øÀ¯ÇÏ´Â ¿©·¯ °¡Áö ¹æ¹ýÀÌ Àִµ¥, À̹®¼­¿¡¼­ ±â¼úµÇ´Â Çϳª´Â ¾Æ¸¶µµ °¡Àå º¹ÀâÇÑ °ÍÀÏÁö ¸ð¸£Áö¸¸ ÃÖ´ëÀÇ ¼öÇà ´É·ÂÀ» °¡Áö°í µð½ºÅ© ÆÄƼ¼ÇÀ» ¸Á°¡¶ß¸®´Â À§ÇèÀÌ ¾ø´Â ³»°¡ ¾Ë°í ÀÖ´Â À¯ÀÏÇÑ ¹æ¹ýÀÌ´Ù.

ÁÖÀÇ: ¸¸¾à ÀÌ ¹®¼­ÀÇ ÀÌÀü ¹öÀüÀ» »ç¿ëÇÏ°í ½º¿Ò°ø°£À¸·Î º¹±¸µÇÁö ¾Ê´Â ¹®Á¦°¡ ÀÖÀ¸¸é (¾Æ¸¶ À©µµ¿ìÁî°¡ ´ç½ÅÀÇ ¿µ±¸ ½º¿ÒÈ­ÀÏÀÌ À߸øµÇ¾ú´Ù°í ¾Ë¸± °ÍÀÌ´Ù), ÀÌ ¹öÀü¿¡¼­ shutdown script¸¦ ¾à°£ ¼öÁ¤ÇØ¾ß ÇÑ´Ù.

2. ÇÊ¿äÇÑ°Í

ÀÌ °úÁ¤¿¡¼­ ÃæÁ·ÇØ¾ß ÇÒ ¸î°¡Áö Á¶°ÇÀÌ ÀÖ´Ù. ÀÌÀü ¹öÀüÀº ¾à°£ÀÇ ¹®Á¦°¡ ÀÖÀ¸¹Ç·Î ³ª´Â ÀÌ·¯ÇÑ ¿ä±¸ Á¶°ÇÀ» *¾î·µç* ÃæÁ·½ÃÅ°±â¸¦ °­·ÂÈ÷ Ãæ°íÇÑ´Ù.

        * MS-DOS 5.0 ȤÀº »óÀ§ ¹öÀü
        * MS-Windows 3.1 ȤÀº »óÀ§ ¹öÀü
        * ¼Ë´Ù¿î½Ã ÆÄÀÏÀ» ½ÇÇàÇÒ °ÍÀ» ¾Ë¸®´Â shutdown/init
(SysVinit-2.50 ´Â À̸¦ ÇÒ¼ö ÀÖ°í, ¿¹¸¦ µé¾î SysVinit-2.50´Â /pub/Linux/system/Daemons¿¡ ÀÖ´Â sunsite.unc.edu·ÎºÎÅÍ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÇöÀç °ÅÀÇ ¸ðµç ¹èÆ÷º»ÀÌ ÀÌ ÆÐÅ°Áö¸¦ ÀÌ¿ëÇÑ´Ù.

3. ÀýÂ÷

  • µµ½º·Î ºÎÆÃ. size=¿øÇÏ´Â ¸¸Å­ÀÇ swap°ø°£À¸·Î µµ½º ÆÄƼ¼ÇÀ» »ý¼º (FDISK ÀÌ¿ë). "LABEL X:" ȤÀº "COPY FOO X:DUMMY.DAT" °°Àº ¸í·É¾î¿¡¼­ X·Î Ç¥½ÃµÈ ºÎºÐÀ» µå¶óÀÌºê ¹®ÀÚ·Î ÇÒ´ç ¹ÞÀ»°ÍÀÌ´Ù.
  • µµ½ºÀÇ Æ÷¸Ë ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ÆÄƼ¼ÇÀ» Æ÷¸ËÇÑ´Ù. FORMAT X:
  • µµ½ºÀÇ LABEL¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ÀÌ ÆÄƼ¼ÇÀÇ volume labelÀ» SWAP SPACE·Î ¼³Á¤Ç϶ó. DIR¸í·ÉÀ¸·Î À̸¦ È®ÀÎÇ϶ó. ºÎµð º°µµÀÇ ´Ü°è·Î¼­ À̸¦ Çϵµ·Ï ÇÏ¿©¶ó. ¸î¸î FORMATÀÇ ¹öÀüÀº ºÎÆ®¼½ÅÍ¿¡ volume labelÀ» ³ÖÁö ¸øÇÒÁöµµ ¸ð¸¥´Ù. [°æ°í: ¸î¸î »ç¶÷µéÀº volume labelÀÌ ·çÆ® µð·ºÅ丮¿¡ ÀúÀåµÈ´Ù°í ¸»Ç϶ó°í ÇÕ´Ï´Ù. ¸Â´Â ¸»ÀÌÁö¸¸, ÃÖ¼ÒÇÑ µµ½º 5.0ÀÌÈķδ boot sector¿¡ ¾²¿©Áý´Ï´Ù. LABEL X: DIR X:
  • À©µµ¿ì¸¦ ½ÃÀÛÇÑ´Ù. Á¦¾îÆÇÀ¸·Î °¡¼­ 386 Enhanced¸¦ ¼±ÅÃÇÑÈÄ °¡»ó¸Þ¸ð¸®¸¦ ¼±ÅÃÇÏ°í drive X:¿¡ ÃÖ´ë Å©±âÀÇ (À©µµ¿ì°¡ ÃÖ´ë Å©±â¸¦ ¾Ë·Á ÁÙ °ÍÀÌ´Ù.) À©µµ¿ìÀÇ ¿µ±¸ ½º¿ÒÈ­ÀÏÀ» »ý¼ºÇ϶ó. À©µµ¿ì°¡ Áö³ªÄ¡°Ô Å« ÆÄÀÏÀº »ç¿ëÇÒ¼ö ¾ø´Ù°í ºÒÆòÇÒÁöµµ ¸ð¸¥´Ù.
  • À©µµ¿ì¸¦ ºüÁ®³ª°£´Ù.
  • ¸®´ª½º·Î ºÎÆÃÇÑÈÄ ·çÆ®·Î ·Î±×ÀÎÇÑ´Ù.
  • ÆÄƼ¼ÇÀÇ À̸§°ú ºí·ÏÀÇ Å©±â¸¦ ã±âÀ§Çؼ­ fdisk¸í·É¾î¸¦ ÀÌ¿ëÇÑ´Ù. /dev/winswapÀ¸·ÎºÎÅÍ ÀÌ ÆÄƼ¼Ç¿¡ symbolic link¸¦ »ý¼ºÇÑ´Ù. ¸¸¾à ÆÄƼ¼ÇÀÌ hda7ÀÌ¸é ´ÙÀ½À» typeÇ϶ó. ln -s /dev/hda7 /dev/winswap [¼ø¼öÇϵµ·Ï ÁÖÀÇ: ºÎµð symlink¸¦ ÀÌ¿ëÇ϶ó. ÀÌ ÆÄƼ¼ÇÀÇ À̸§Àº ¸î¸î ¼³Á¤ ÆÄÀÏ·Î °¥°ÍÀÌ°í, ºÒÀÏÄ¡´Â Ä¡¸íÀûÀϼö ÀÖ´Ù.
  • ´ÙÀ½Àº ÆÄƼ¼ÇÀ» ºÐ¼®ÇÑ ±×¸®°í ¸î°¡Áö Ưº°ÇÑ Á¤º¸·ÎºÎÅÍ ¾ò¾îÁø uuencodeµÈ binaryÀÌ´Ù. ´ÙÀ½ ÆÄÀÏÀ» uudecodeÇÏ°í gunzipÇÏ°í ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇ϶ó. msinfo /dev/winswap begin 755 msinfo.gz "Total special sectors" ¶ó°í ÇÏ´Â ºÎºÐÀÇ ¼ýÀÚ¸¦ ±â·ÏÇصΰí, volume labelÀÌ SWAP SPACEÀÎÁö °ËÁõÇ϶ó. ¸¸¾à ±×·¸Áö ¾ÊÀ¸¸é µµ½º·Î ÀçºÎÆÃÇÏ°í LABEL ¸í·ÉÀ» ´Ù½Ã ½ÇÇà½ÃÄѶó. ¸¸¾à ¿©ÀüÈ÷ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù¸é ´ç½ÅÀÌ »ç¿ëÁßÀÎ µµ½ºÀÇ ¹öÀü¿¡ ´ëÇØ ³ª¿¡°Ô ¾Ë·ÁÁÖ¸é, ´ç½ÅÀ» µ½µµ·Ï ³ë·ÂÇÒ °ÍÀÌ´Ù.
  • [¼±Åà °úÁ¤[ À©µµ¿ì´Â ¶§¶§·Î ÀÌ ÆÄƼ¼Ç¿¡ ¾à°£ÀÇ °ø°£À» ³²±æÁöµµ ¸ð¸¥´Ù. ÀÌ °ø°£À» »ç¿ëÇÏ·Á ÇÏÁö ¸¶¶ó. ¿Ö³Ä¸é ´ç½ÅÀÌ ¸®´ª½º¸¦ ½ÇÇàÇÒ ¶§ ¾ðÁ¦µç Áö¿öÁú¼öµµ ÀÖ´Ù. ¸¸¾à ±×°ÍÀ» °©Àڱ⠻ç¿ëÇÏ´Â °Í (±×¸®°í data¸¦ ÀÒ´Â °Í) À» ¸·À¸·Á¸é, ´ç½ÅÀº ´ÙÀ½ ¸í·É¾î¸¦ ÀÌ¿ëÇÏ¿© °ø°£À» ä¿ì´Â dummy fileÀ» ¸¸µé¾î¾ß ÇÑ´Ù:
            mkdir /mnt
            mount -t msdos /dev/winswap /mnt
            dd if=/dev/zero of=/mnt/dummy.fil
            umount /mnt  
    
    dd¸í·É¾î´Â ³²Àº ¿ë·®ÀÌ ¾ø´Ù°í ¾Ë¸± °ÍÀÌ´Ù. ÀÌ°ÍÀÌ ¹Ù·Î ¿ì¸®°¡ ¿øÇÏ´Â °ÍÀÌ´Ù.
  • ¼Ë´Ù¿î ÆÄÀÏÀÇ À̸§À» È®ÀÎÇ϶ó. SysVinit¿¡¼­ ÀÌ°ÍÀº /etc/inittabÀÇ ´ÙÀ½ ¶óÀο¡ ³ª¿­µÇ´Â ÆÄÀÏÀÌ´Ù. ¸¸¾à ±×°ÍÀÌ ¾øÀ¸¸é µ¡ºÙ¿©¶ó. # Runlevel 0 means shut down the system l0:0:wait:/etc/brc ÀÌ ÆÄÀÏÀÇ ³ª¸ÓÁö ºÎºÐ¿¡¼­ ÆÄÀÏÀ̸§ÀÌ /etc/brc¿´´Ù°í °¡Á¤ÇÒ °ÍÀÌ´Ù.
  • ´ÙÀ½À» ŸÀÌÇÁÇ϶ó. dd if=/dev/winswap bs=512 count=XXX | gzip -9 > /etc/winswap.gz ^^^ ... XXX¸¦ "Total special sectors" ¼ýÀÚ·Î ´ëüÇ϶ó.
  • ´ÙÀ½ÀÇ /etc/rcÆÄÀÏÀ» codeÀÇ ´ÙÀ½ ºÎºÐ¿¡ µ¡ºÙÀÌ°í,( init°¡ ±×°ÍÀ» È£ÃâÇÏ°Ç°£¿¡), "swapon -a" ¸í·É¾î ¾ÕÀ» Á¤Á¤Ç϶ó. (¸¸¾à ±×·¯ÇÑ ¸í·É¾î°¡ ¾øÀ¸¸é ¾Æ¹« mount ¸í·É¾î ¾ÕÀ» Á¤Á¤Ç϶ó.) ¸¸¾à /etc/rc.d µð·ºÅ丮°¡ ÀÖÀ¸¸é, ¿©±â¿¡ ³Ö±â¸¦ ¿øÇÏ´Â ÆÄÀÏÀº /etc/rc.d/rc.S ȤÀº /etc/rc.d/rc/boot·Î È£ÃâµÇ¾î¾ß ÇÑ´Ù. ¸¸¾à swaponÀÌ /etc¿¡ ÀÖÀ¸¸é /sbin/swaponÀ» /etc/swaponÀ¸·Î ´ëüÇ϶ó. ¸¸¾à ±×°ÍÀÌ /bin¿¡ ÀÖÀ¸¸é /bin/swaponÀ¸·Î ´ëüÇ϶ó. mkswap¿¡ ´ëÇؼ­µµ ¶È°°ÀÌ Ç϶ó. XXXXX¸¦ fdisk¿¡ ÁÖ¾îÁø´ë·Î ºí·ÏÀÇ ½ÇÁ¦ ÆÄƼ¼Ç Å©±â·Î ´ëüÇ϶ó.
    ---[BEGIN CODE SEGMENT]---
    #
    # ½º¿Ò °ø°£À» °ËÁõÇÏ°í ÃʱâÈ­
    #
    echo -n 'Verifying swap space... '
    if [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" \
       = 'SWAP-SPACE' ]; then
      echo 'Linux signature found'
      /sbin/swapon /dev/winswap
    elif [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=11 skip=43`" \
       = 'SWAP SPACE ' ]; then
      echo 'DOS signature found'
      /sbin/mkswap /dev/winswap XXXXX
      /sbin/swapon /dev/winswap
    else
      echo 'No signature found'
      echo 'ERROR: Will not swap'
    fi
    ---[END CODE SEGMENT]---
    

  • ´ÙÀ½ÀÇ Äڵ带 /etc/brcÆÄÀÏ¿¡ µ¡ºÙ¿©¶ó.(/etc/rc.dµð·ºÅ丮°¡ ÀÖÀ¸¸é /etc/rc.d/rc.0 ȤÀº /etc/rc.d/rc.halt°¡ È£ÃâµÇµç°£¿¡); ½º¿ÒÀÌ ÇÊ¿äÇÑ ¾î¶² ¸í·É¾î µÚ¿¡ ÀÌ°ÍÀ» ³Ö¾î¶ó.
    ---[BEGIN CODE SEGMENT]---
    #
    # Terminate swapping and restore DOS/Windows swap info
    #
    /sbin/swapoff /dev/winswap
    if [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" \
       = 'SWAP-SPACE' ]; then
      echo 'Restoring DOS/Windows swap info'
      /bin/zcat /etc/winswap.gz > /dev/winswap
    else
      echo 'ERROR: /dev/winswap lacks swap signature, skipping restore'
    fi
    ---[END CODE SEGMENT]---
    

  • ¸®´ª½º¸¦ ÀçºÎÆÃÇ϶ó. ´ç½ÅÀº Áö±Ý »õ·Î¿î ½º¿Ò ÀåÄ¡¿¡ ½º¿ÒÀ» ÇÏ°í ÀÖÀ» °ÍÀÌ´Ù.

4. ¸î°¡Áö ÁÖÀÇ »çÇ×

  • /dev/winswapÀ» /etc/fstabÈ­ÀÏ¿¡ µ¡ºÙÀÏ ÇÊ¿ä´Â ¾ø´Ù. »ç½Ç, ¾Æ¸¶ ±×·¸°Ô ÇÏ´Â °ÍÀÌ Çö¸íÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.(ÁÖ¼®À¸·Î °¡´ÉÇÑ °ÍÀº Á¦¿ÜÇÏ°í)
  • ¸¸¾à ¸®´ª½º sessionÀÌ ¸Á°¡Áö¸é ȤÀº /etc/brc¸¦ ½ÇÇàÇÏÁö ¾Ê°í ³¡³»¸é, windows¿¡¼­ ½º¿ÍÇÎ(swapping)ÀÌ ÀÛµ¿Çϱ⿡ ¾Õ¼­ ¸®´ª½º¸¦ ÀçºÎÆÃÇÏ°í ³¡³»´Â °ÍÀÌ ÇÊ¿äÇÏ´Ù. FORMAT X: ¶ÇÇÑ °¡´ÉÇÏ°í, À©µµ¿ìÁî ½º¿ÒÈ­ÀÏÀ» ´Ù½Ã ¸¸µå´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ÀÌ·¯ÇÑ ¶§¿¡ À¯ÀÏÇÑ ¹æ¹ýÀº µµ½ºÀÇ AUTOEXEC.BAT ÆÄÀÏ¿¡¼­ /etc/brc¿Í µ¿ÀÏÇÑ ¸í·É¾î¸¦ ³Ö´Â °ÍÀÌ´Ù. ºÒÇàÈ÷µµ ³ª´Â µµ½º¿¡¼­ ±×·¸°Ô ÇÏ´Â ¹ýÀº ¸ð¸¥´Ù.
  • ¸¸¾à µµ½ºÀÇ FDISK°¡ "logical DOS drive"·Î¼­ ÆÄƼ¼ÇÀ» ¾Ë¸°´Ù¸é ±×°ÍÀº 5(/dev/hda5) ȤÀº ±× ÀÌ»óÀÌ µÉ °ÍÀÌ´Ù. 4ȤÀº ±× ÀÌÇÏÀÇ ¼ö¸¦ °®´Â "extended"¶ó°í À̸§ ºÙ¿©Áö´Â ÆÄƼ¼ÇÀÌ *¾Æ´Ï´Ù*. ¸¸¾à ¸®´ª½ºÀÇ fdisk°¡ logical partitionÀ» Ç¥½ÃÇÏÁö ¾ÊÀ¸¸é ´ç½ÅÀº ¸®´ª½ºÀÇ ±úÁø fdisk¸¦ °¡Áö°í ÀÖ´Â °ÍÀÌ´Ù. (¿¹¸¦µé¾î, ½½·¢¿þ¾î 2.2´Â ±úÁø fdisk¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù.) ¸¸¾à ´ç½ÅÀÌ ±×·¯ÇÑ ¹èÆ÷º»À» °¡Áö°í ÀÖÀ¸¸é "cfdisk"·Î ½ÃµµÇÒ¼öµµ ÀÖ°í ȤÀº Á¦´ë·Î ÀÛµ¿ÇÏ´Â fdisk¸¦ ¾ò¾î¾ß¸¸ ÇÑ´Ù.
  • ¸¸¾à msinfo¸¦ ½ÇÇàÇÒ ¶§ floating point exceptionÀÌ ÀÖÀ¸¸é ´ç½ÅÀº °ÅÀÇ À߸øµÈ ÆÄƼ¼Ç¿¡¼­ ½ÇÇàÇÏ´Â °ÍÀÌ´Ù. À§ÀÇ ÁÖÀÇ »çÇ×À» Àß º¸µµ·Ï Ç϶ó.
  • ºÎµð ´ç½ÅÀÌ ¿Ã¹Ù¸£°Ô ½ºÅ©¸³Æ®¸¦ º¹»çÇÑ°ÍÀ» È®ÀÎÇÏ°í ¶Ç ÀçÈ®ÀÎÇÏÁö ¾Ê¾Ò´Ù¸é ³ª¿¡°Ô ¸ÞÀÏÀ» º¸³»Áö ¸»¶ó. ÀÌ ¹Ì´ÏÇÏ¿ìÅõ¿¡¼­ ¾Ë·ÁÁø Àý¹Ý ÀÌ»óÀÇ ¹®Á¦´Â ½ºÅ©¸³Æ®¸¦ º¹»çÇÒ ¶§ ¿ÀÀÚ¶§¹®À̾ú´Ù. (µÉ ¼ö ÀÖÀ¸¸é cut-and-paste¸¦ ÀÌ¿ëÇ϶ó.)


ID
Password
Join
It is Fortune, not wisdom that rules man's life.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0021 sec