SHARING SWAP SPACES BETWEEN LINUX AND MS-WINDOWS
SHARING SWAP SPACES BETWEEN LINUX AND MS-WINDOWS
VERSION: 1.3 Date: 19 Jun 1995
¹ø¿ª ÀÌÀ±¼ö
seyon@nownuri.net
c9644168@enter.soongsil.ac.kr
³¯Â¥:1997³â 12¿ù 28ÀÏ
¸¹Àº »ç¶÷µéÀÌ ¸®´ª½º¿Í À©µµ¿ìÁ µÑ´Ù »ç¿ëÇÑ´Ù. ±×·¯ÇÑ Çൿ (Áï: »ç¶÷µéÀÌ
±Ô°ÝÇ°À¸·Î ½ÇÇàÇÒ¼ö ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ »ç¿ëÇÏ´Â µ¿¾È ¸®´ª½º·ÎÇÏ´Â ½ÇÇè
±×¸®°í ¸®´ª½º¿¡ ¿ÁßÇÏ´Â È°µ¿)À» Çϴ°ÍÀº ¸®´ª½ºÀÇ ´ëº¯ÈÀÇ Áß¿äÇÑ ºÎºÐÀÌ´Ù.
¸®´ª½º¿Í À©µµ¿ìÁî°¡ µð½ºÅ© ½º¿ÒÀ¸·Î °¡»ó ¸Þ¸ð¸®¸¦ »ç¿ëÇÑ ÀÌ·¡·Î,
comp.os.linux.setup¿¡ ºó¹øÈ÷ ¹ß»ýÇÑ Áú¹®ÀÌ ¹Ù·Î ÇÊ¿äÇÑ disk°ø°£ÀÇ ¾çÀ»
ÁÙÀ̱â À§ÇÑ ½º¿Ò °ø°£ÀÇ °øÀ¯ ¹æ¹ýÀÌ´Ù. ½º¿Ò °ø°£À» °øÀ¯ÇÏ´Â ¿©·¯ °¡Áö
¹æ¹ýÀÌ Àִµ¥, À̹®¼¿¡¼ ±â¼úµÇ´Â Çϳª´Â ¾Æ¸¶µµ °¡Àå º¹ÀâÇÑ °ÍÀÏÁö
¸ð¸£Áö¸¸ ÃÖ´ëÀÇ ¼öÇà ´É·ÂÀ» °¡Áö°í µð½ºÅ© ÆÄƼ¼ÇÀ» ¸Á°¡¶ß¸®´Â À§ÇèÀÌ
¾ø´Â ³»°¡ ¾Ë°í ÀÖ´Â À¯ÀÏÇÑ ¹æ¹ýÀÌ´Ù.
ÁÖÀÇ: ¸¸¾à ÀÌ ¹®¼ÀÇ ÀÌÀü ¹öÀüÀ» »ç¿ëÇÏ°í ½º¿Ò°ø°£À¸·Î º¹±¸µÇÁö ¾Ê´Â
¹®Á¦°¡ ÀÖÀ¸¸é (¾Æ¸¶ À©µµ¿ìÁî°¡ ´ç½ÅÀÇ ¿µ±¸ ½º¿ÒÈÀÏÀÌ À߸øµÇ¾ú´Ù°í
¾Ë¸± °ÍÀÌ´Ù), ÀÌ ¹öÀü¿¡¼ shutdown script¸¦ ¾à°£ ¼öÁ¤ÇØ¾ß ÇÑ´Ù.
ÀÌ °úÁ¤¿¡¼ ÃæÁ·ÇØ¾ß ÇÒ ¸î°¡Áö Á¶°ÇÀÌ ÀÖ´Ù. ÀÌÀü ¹öÀüÀº ¾à°£ÀÇ
¹®Á¦°¡ ÀÖÀ¸¹Ç·Î ³ª´Â ÀÌ·¯ÇÑ ¿ä±¸ Á¶°ÇÀ» *¾î·µç* ÃæÁ·½ÃÅ°±â¸¦
°·ÂÈ÷ Ãæ°íÇÑ´Ù.
* MS-DOS 5.0 ȤÀº »óÀ§ ¹öÀü
* MS-Windows 3.1 ȤÀº »óÀ§ ¹öÀü
* ¼Ë´Ù¿î½Ã ÆÄÀÏÀ» ½ÇÇàÇÒ °ÍÀ» ¾Ë¸®´Â shutdown/init
(SysVinit-2.50 ´Â À̸¦ ÇÒ¼ö ÀÖ°í, ¿¹¸¦ µé¾î SysVinit-2.50´Â
/pub/Linux/system/Daemons¿¡ ÀÖ´Â sunsite.unc.edu·ÎºÎÅÍ »ç¿ëÇÒ
¼ö ÀÖ´Ù. ÇöÀç °ÅÀÇ ¸ðµç ¹èÆ÷º»ÀÌ ÀÌ ÆÐÅ°Áö¸¦ ÀÌ¿ëÇÑ´Ù.
- µµ½º·Î ºÎÆÃ. 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]---
- ¸®´ª½º¸¦ ÀçºÎÆÃÇ϶ó. ´ç½ÅÀº Áö±Ý »õ·Î¿î ½º¿Ò ÀåÄ¡¿¡ ½º¿ÒÀ» ÇÏ°í ÀÖÀ»
°ÍÀÌ´Ù.
- /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¸¦
ÀÌ¿ëÇ϶ó.)