OSì•ˆì˜ OS - 멀티부팅 시스템 만들기
현재 ëŒ€ë¶€ë¶„ì˜ ì‚¬ìš©ìžë“¤ì˜ ìš´ì˜ì²´ì œëŠ” MSì‚¬ì˜ Windows 시리즈 ì´ë‹¤. 가장 뒤늦게 대대ì 으로 ê´‘ê³ ë¥¼ 하며 ë°œí‘œëœ Windos XP ë˜í•œ 95ì˜ ë°œí‘œ 때 보다는 íë°œì ì¸ ì¸ê¸°ë¥¼ 누리지 못했지만 (í•œêµ MSì˜ ì´ìƒí•œ ë…¼ë¦¬ì˜ ê°€ê²© ë¬¸ì œì™€ ì¸ì¦ ë¬¸ì œì— ë°œëª©ì„ ìž¡ížˆë©° ìœ ì €ë“¤ì˜ ë°˜ê°ì´ ë”ë”ìš± ì¦íë˜ì—ˆë‹¤) ì‹œê°„ì´ ì§€ë‚˜ë©´ì„œ XPì˜ íë¦„ì— ë™ì°¸í•´ê°€ê³ 있는 ê²ƒì´ ë§ˆì¹˜ ê°€ëž‘ë¹„ì— ì˜· ì –ëŠ” 줄 모르는 것 같다.
하지만 ìƒë‹¹í•œ 시스템 ìžì› (늘 ê·¸ë ‡ë“¯ 최소요구 사í•ì˜ 2.5ë°° ì •ë„는 ë˜ì–´ì•¼ 한다)ì„ ìš”êµ¬í•˜ë©° ì•½ê°„ì€ ë¬´ê±°ìš´ 듯한 그러나 9X시리즈 보다는 ë†’ì€ ì•ˆì •ì„±ê³¼ í™”ë ¤í•œ ì¸í„°íŽ˜ì´ìŠ¤ë¥¼ 보여주는 XPì— ì†ì„ 들어줄 ìˆ˜ë„ ìžˆìœ¼ë‚˜ 출시 ëœì§€ ìƒë‹¹í•œ ì‹œê°„ì´ í˜ëŸ¬ ì›ìˆ™ë¯¸ì™€ 가벼움으로 게임ì—서는 ì—¬ì „ížˆ 가장 뛰어난 í¼í¬ë¨¼ìŠ¤ë¡œ ë¬´ìž¥í•˜ê³ ìžˆì§€ë§Œ ì´ë¯¸ 단종 발표 소ì‹ì´ ë“¤ë ¤ì˜¤ëŠ” 98SEë„ ì—¬ì „ížˆ ë§¤ë ¥ì ì´ë‹¤.
ë‚˜ë¦„ëŒ€ë¡œì˜ ìž¥ë‹¨ì ì´ ì¡´ìž¬ 하는 관계로 ë™ì‹œì— 여러 가지 ìš´ì˜ì²´ì œë¥¼ êµ¬ì¶•í• ìˆ˜ëŠ” ì—†ì„까?
ì´ì²˜ëŸ¼ ë‘ ê°€ì§€ 아니 ê·¸ ì´ìƒì˜ OS를 í•˜ë‚˜ì˜ ë¬¼ë¦¬ì ì¸ í•˜ë“œë””ìŠ¤í¬ì— ì‚¬ìš©í• ìˆ˜ 있는 ë°©ë²•ì´ ìžˆë‹¤. 즉 듀얼 멀티부팅 ì‹œìŠ¤í…œì„ ë§Œë“œëŠ” 방법ì´ë‹¤. (ì•„ë§ˆë„ ë§Žì€ ìœ ì €ë“¤ì´ ë©€í‹°OSì‹œìŠ¤í…œì„ ì‚¬ìš©í•˜ê³ ìžˆì„ ê²ƒì´ë‹¤)
â–£ 멀티 OS ì‹œìŠ¤í…œì˜ ìž¥ì ì´ë¼ë©´
1. 여러 OSì˜ í™œìš©ìœ¼ë¡œ PCì˜ í™œìš©ì„ ì´ˆê·¹ëŒ€í™”
2. íŒŒì¼ ì‹œìŠ¤í…œ, 파티션, ì´ ê¸°ì¢…ê°„ì˜ ë„¤íŠ¸ì›Œí¬ì˜ ì´í•´
3. 다양한 OSì—ì„œì˜ ëžê·€ì§€ 실습
4. ê·¹ë„ì˜ í˜¸ê¸°ì‹¬ í•´ê²°
첫 번째로 ìƒìš© S/W를 ì´ìš©í•˜ëŠ” ë°©ë²•ì´ ìžˆë‹¤. 예로 íŒŒì›Œí€˜ìŠ¤íŠ¸ì‚¬ì˜ PartionMagicë‚´ì— ë…립ì ì¸ ìœ í‹¸ë¦¬í‹°ë¡œ 존재하는 BootMagicì„ ì‚¬ìš©í•˜ëŠ” ë°©ë²•ì´ ìžˆë‹¤.
PartionMagic7
ë‘ ë²ˆì§¸ë¡œ H/Wì ì¸ ë°©ë²•ì´ ìžˆë‹¤. í•˜ë“œë””ìŠ¤í¬ ì…€ë ‰í„°ë¥¼ 구입 ë˜ëŠ” ìžìž‘하거나 가장 ì•ˆì „í•˜ê³ ë“ ë“ í•˜ê²Œ 추가ì ì¸ í•˜ë“œë””ìŠ¤í¬ì™€ í•˜ë“œëž™ì„ êµ¬ìž…í•´ì„œ 사용시마다 번갈아가며 사용하는 ë°©ë²•ì´ ìžˆì§€ë§Œ ì¶”ê°€ë¹„ìš©ì´ ë§Žì´ ë“ ë‹¤ëŠ” 아주 치명ì ì¸ ë‹¨ì ì´ ìžˆë‹¤.
세 번째로 가장 보편ì 으로 사용하는 OSìžì²´ ë‚´ì—서 ì œê³µí•˜ëŠ” Windows ì œí’ˆêµ°ì—서는 부트로ë”(boot loader)로 리눅스를 사용한다면 리로(LILO)를 사용하게 ëœë‹¤. 단ì ì´ë¼ë©´ 부트 íŒŒí‹°ì…˜ì— ë¬¸ì œê°€ ìƒê²¨ì„œ í¬ë§·í•˜ê²Œ ëœë‹¤ë©´ 로ë”와 리로를 ìž¬ì„¤ì • 해주는 ë²ˆê±°ë¡œì›€ì´ ìžˆë‹¤.
ë§Žì€ ìœ ì €ë“¤ì´ 98ê³¼ XP ë˜ëŠ” 2000ê³¼ XP를 듀얼로 ì‚¬ìš©í•˜ê³ ìžˆë‹¤ëŠ” ìƒê°ì—서 ìž ì‹œ 파ì¼ë“¤ì˜ ì—í• ê³¼ ë¶€íŒ…ê³¼ì •ì„ ì•Œì•„ë³´ê¸°ë¡œ 한다. (ì´í•˜ Windows는 NTë¼ ì¹í•œë‹¤)
· Ntldr : ì‹œìŠ¤í…œì´ ì²˜ìŒ ì‹œìž‘ë˜ë©´ NT를 불러들ì´ëŠ” ì—í• ì„ ìˆ˜í–‰í•œë‹¤.
· Boot.ini : 부트 메뉴를 통해서 사용ìžê°€ ì„ íƒí• 수 있ë„ë¡ í•˜ëŠ” ì •ë³´ë¥¼ ë‹´ê³ ìžˆëŠ” í…스트 파ì¼ì´ë‹¤.
· Bootsectdos: ë¶€íŒ…ì´ NTê°€ 아닌 다른 ìš´ì˜ì²´ì œê°€ ì„ íƒë˜ì–´ì§ˆ 때 파티션 ì •ë³´ë¥¼ ë‹´ê³ ìžˆëŠ” 파ì¼ì´ë‹¤.
· Ntdetect.com: 하드웨어를 ê²€ìƒ‰í•˜ê³ ê·¸ ì •ë³´ë¥¼ ë ˆì§€ìŠ¤íŠ¸ë¦¬ì— ê¸°ë¡í•˜ëŠ” 실행파ì¼ì´ë‹¤.
· Ntbootdd.sys: ë°”ì´ì˜¤ìŠ¤ê°€ 없는 스카시 ì»¨íŠ¸ë¡¤ëŸ¬ì— ì—°ê²°ëœ ë””ìŠ¤í¬ì—서 NTê°€ 부팅ë˜ëŠ” 경우를 위한 파ì¼ì´ë‹¤.
· Ntoskrnl.exe: 커ë„ì„ ë©”ëª¨ë¦¬ì— ì 재하는 ì—í• ì„ í•œë‹¤.
ë¶€íŒ…ì ˆì°¨
1. Post(Power Self On Test): 부팅하게 ë˜ë©´ 시스템 ìžì²´ì 으로 ê²€ì‚¬ìž‘ì—…ì„ ìˆ˜í–‰í•œë‹¤.
2. ë°”ì´ì˜¤ìŠ¤ê°€ ì‹œìŠ¤í…œì„ ì œì–´í•˜ê³ í•˜ë“œë””ìŠ¤í¬ì˜ MBR(Master Boot Record)를 ì½ê²Œëœë‹¤.
MBR: ìš´ì˜ì²´ê³„ê°€ ì–´ë””ì— ì–´ë–»ê²Œ 위치ë˜ì–´ ìžˆëŠ”ì§€ì— ê´€í•œ ì •ë³´ë¡œ 하드디스í¬ì— 첫 번째 ì„¹í„°ì— ì €ìž¥ë˜ë©° 부팅시 ê°€ìž¥ë¨¼ì € MBRì„ ì²´í¬í•˜ê³ 넘어가게 ëœë‹¤. 로ë”와 리로 파ì¼ì´ ì´ê³³ì— ì €ìž¥ë˜ê²Œ ëœë‹¤.
3. ë¶€íŠ¸ì„¹í„°ì— ì¡´ìž¬í•˜ëŠ” Ntldrì´ ì‹¤í–‰ë˜ê³ ìš´ì˜ì²´ì œê°€ 로드ë˜ë©° ì´ë•Œ ë°”ì´ì˜¤ìŠ¤ëŠ” Ntldrì—게 시스템 ì œì–´ê¶Œì„ ë„˜ê²¨ì¤€ë‹¤.
4. Ntldrì€ boot.ini 파ì¼ì„ ì½ì–´ì„œ 부트 메뉴를 보여주게 ë˜ë©° 드ë¼ì´ë²„ë“¤ì„ ë¡œë“œí•˜ê²Œ ëœë‹¤.
5. 사용ìžê°€ 부트메뉴ì—서 NT를 ì„ íƒí•˜ê²Œ ë˜ë©´ Ntdetect.comì„ ì‹¤í–‰ì‹œì¼œ ì‹œìŠ¤í…œì— ì¡´ìž¬í•˜ëŠ” 하드웨어 드ë¼ì´ë²„ë“¤ì„ ë¡œë“œí•˜ê²Œ ëœë‹¤. NTê°€ 아닌 ìš´ì˜ì²´ì œ(95, 98, DOS)를 ì„ íƒì‹œ Bootsect.dos를 ì½ê²Œ ë˜ë©° 해당 ìš´ì˜ì²´ì œì— 관한 ì •ë³´ë¥¼ ì „ë‹¬í•˜ê³ ì œì–´ê¶Œì€ ë„˜ê²¨ì£¼ê²Œ ëœë‹¤.
6. Ntdetect.comì´ í•˜ë“œì›¨ì–´ì— ê´€í•œ ì •ë³´ë¥¼ 가지게 ë˜ë©´ ì´ ì •ë³´ëŠ” HKEY_LOCAL_MACHINEHARDWARE ë ˆì§€ìŠ¤íŠ¸ë¦¬ì— ê¸°ë¡ë˜ê²Œ ë˜ë©° ì œì–´ê¶Œì„ Ntldrì—게 넘긴다.
7. ntldr는 ì‹œìŠ¤í…œì— ëŒ€í•œ ê¶Œí•œì„ ì»¤ë„ì— ë„˜ê¸°ê³ ì»¤ë„ì€ ì‹œìŠ¤í…œ 하ì´ë¸Œì— 있는 ì •ë³´ë¥¼ ì½ì–´ 들여서 ìš°ì„ ìˆœìœ„ì— ë”°ë¼ í•„ìš”í•œ 시스템과 드ë¼ì´ë²„ë“¤ì„ ë©”ëª¨ë¦¬ì— ì 재하게 ëœë‹¤.
8. ìœ„ì˜ ê³¼ì •ìœ¼ë¡œ ë¶€íŠ¸ìž‘ì—…ì€ ë§ˆì¹˜ê²Œ ë˜ë©° ë¡œë”©ê³¼ì •ì´ ì‹œìž‘ëœë‹¤.
9. ë¡œë”©ê³¼ì •ì´ ì‹œìž‘ë˜ë©´ 커ë„ì€ ì´ˆê¸°í™” ë˜ê³ 서비스 ë§¤ë‹ˆì €ë¥¼ 시작으로 페ì´ì§€ 파ì¼ì„ ì„¤ì •í•˜ê²Œ ëœë‹¤.
10. winlogon 프로세서 실행으로 ìœ ì €ë¡œ ì‹œìŠ¤í…œì— ë¡œê·¸ì˜¨ í• ìˆ˜ 있게 한다.