සයිබර් ආරක්ෂාව තේරෙන සිංහලෙන්

Wednesday 17 October 2012

Windows Booting

ඔයාලා නිතරම පරිගණකය පරිහරණය කරනවා. ඔන් කරනවා ඕෆ් කරනවා.. සාමානයෙන් පරිගණකයක් ඔන් වීමේදී අපට නොපෙනෙන මෙහෙයුමක් පරිගණකයේ දෘඩාංග හා මෘදුකාංග අතර සිදු වෙනවා. එයින් කොටස් කීපයක් පමණක් පියවි ඇසට බලාගැනීමට හැකියි. මේ සම්පූර්ණ ක්‍රියාවලිය පොදුවේ Booting ලෙසින් හදුන්වනවා. ඉතින් හැමදාම පරිගණක ඔන් කරන ඔයාලගේ දැනගැනීම වෙනුවෙන් Booting වලදී අපිට නොපෙනී සිදුවන ක්‍රියාවලිය පැහැදිලි කරලා දෙන්නයි මේ උත්සාහය


Booting කියලා කියන්නේ පරිගණකය ඔන් වීම කියන එක. එහෙම නැත්නම් මෙහෙයුම් පද්දතිය නිසි ආකාරයෙන් වැඩ කිරීමට ආරම්බ වීම කියලත් සරලව කියන්න පුලුවන්. Booting ආකාරයන් 2ක් හදුනාගන්න පුලුවන්. ඒ තමයි cold booting සහ warm booting. Cold booting කියන්නේ පරිගණකයක් විදුලිය ලබාදීමෙන් පසුව Boot වන පියවර වලටයි. warm booting කියන්නේ Cold booting ආකාරයෙන් ඔන් උන පරිගණකයක් reset කල පසු Boot වන පියවර වලටයි.

Booting වල පලමු පියවර ඇරබෙන්නේ BIOS වලින්.BIOS කියන්නේ Basic Input Output System කියන එක. එහි ක්‍රියාවලීන් දෙකක් Booting වලට සහය වෙනවා. එකක් තමයි POST ඒ කියන්නේ Power on self test කියන ක්‍රියාවලිය. අනික දෘඩ තැටියේ පවතින MBR එක කියවීමේ ක්‍රියාවලිය.

Windows booting procedure
මේ කොටස් දෙක  පහල ආකාරයෙන් තවත් පැහැදිලි කරගන්න පුලුවන්. 


a) POST - POST කියන්නේ Power On Self Test කියන එක කියල ඔයාලා දන්නවා. මේ වචන වල තේරුමින්ම අපිට මේ ගැන යම් අදහසක් ගන්න පුලුවන්. මේ මගින් පරිගණකයේ මවු පුවරුවට සම්බන්ද කරලා තියන දෘඩාංග කොටස් නිසි ආකාරයෙන් ක්‍රියාත්මකද කියලා සොයා බලනවා. එහෙම නොවන අවස්තා වලදී ඒ බව දක්වමින් බීප් සබ්දයන් ලබා දෙනවා.  ඒ බීප් සබ්ද ප්‍රමාණය මගින් පරිගණකයේ පවතින දෝෂ අදුනා ගන්න පුලුඅවන්.

b) ඉන්පසු BIOS මගින් boot priority එක බලනවා boot priority එක කියන්නේ පරිගණකය මුලින්ම boot වෙන්නෙ ඕනේ මොන දෘඩාංගයෙන්ද කියන එක. එය සීඩී ධාවකය වෙන්න පුලුවන්, අපේ දෘඩ තැටිය වෙන්න පුලුවන්.  

c) MBR - නිවැරදි boot device එක අදුනාගත් පසු BIOS මගින් එම boot device එකේ ඇති MBR එක කියවනවා. MBR කියන්නේ Master Boot Record කියන එක. ඒ තුල boot වීමට ඕනේ කරන මූලික කරුණු අඩංගු වෙනවා. හාඩ් ඩිස්කයක් boot  වෙන්නේ නෑ කියන්නේ මේ MBR එක දේෂ සහිත අවස්තාවන් වලදී 

ඉන්පසුව BIOS මගින් වීදානයන් යොමු කරනවා MBR එකෙ පවතින boot loader එක වෙත. boot loader එක කියන්නේ කුඩා මෘදුකාංගයක්. එහි පවතින kernel කොටස පරිගණකයේ මතකයට පිටපත් කිරීම ආරම්බ කරනවා. මේ ක්‍රියාවලියේ කොටස් දෙකක් දකින්න පුලුවන්. ඒවා stage 1 boot loader සහ  stage 2 boot loader ලෙසින් නම් කර තියනවා. 

ඉන්පසුව මතකයට ගත් kernel එක මගින් පරිගණකයේ ඇති boot files සෙවීමක් කරනවා. මේවා මෙහෙයුම් පද්දතියක් ස්තාපිත කිරීමේදීම දෘඩ තැටියේ තැම්පත් කරන පද්දති ගොනු. මේවා නිසි ආකාරයෙන් නොමැති නම් බොහෝ විට පරිගණකය ඔන් කරගන්න බෑ. ප්‍රදාන වශයෙන් NTLDR, NTDETECT.COM සහ  Boot.ini කියන ගොනු මේ කොටසට අයත්. මේවා තුල ඇති දත්තයන් කියවීම ඇරබෙනවා.  

NTLDR - NTLDR කියන්නේ NT Loader කියන එක. මෙය stage 2 boot loader  එකක්. මෙය සාමානයෙන් පිහිටන්නේ C:\Windows\i386\NTLDR. නමුත් C:\ පාර්ටිශන් එකේ පිටින් සැගවුන ගොනුවක් ලෙසත් මෙය පවතිනවා. 

Boot.ini - Boot.ini තුල පවතින්නේ  NTLDR වල වින්‍යාශගත කිරීම් . එහෙම නැත්නම් සැකසුම්. මෙහෙයුම් පද්දතියක් සම්පූර්ණයෙන්ම Boot වන තුරු පරිගණකයේ කර්නලයට කිසිම බලපෑමක් කිරීමේ හැකියාවක් පවතින්නේ නෑ. එහෙම උවමනාවක් පවතිනවා නම් එය කල යුත්තේ  boot.ini එක හරහායි. මෙය ඉතාමත් වැදගත් පද්දති ගොනුවක්. පහල රූපයේ ඇත්තේ ඒ ගොනුව නෝට්පෑඩ් වලින් විවෘත කල අවස්තාවක්.මෙය පිහිටන්නේ C:\ වල සැගවුන ගොනුවක් ලෙසින්.

boot.ini

NTDETECT.COM - මේ මගින් පරිගණකයෙ පවතින සියලුම දුඩාංග වල මූලික තොරතුරු  NTLDR ගොනුව වෙත් ලබාදීම කරනවා. මේ මගින් සියලුම දෘඩාංග වලට hardware key එකක් ලබාදෙන අතර පරිගණකය ක්‍රියාත්මක වීමේදී බාවිත කරන්නේ මේ hardware key එකයි. එසේම reboot කිරීමකදීම අලුත් hardware key නිකුත් කිරීමක් සිදු වෙනවා. ඒකයි අලුත් දෘඩාංගයක් පරිගණකයට සම්බන්ද කලාම පරිගණකය reboot කරන්නද කියලා අහන්නෙ. මේ සම්බන්ද තොරතුරු රැස් වන්නේ Windows registry තුල  HKEY_LOCAL_MACHINE -> HARDWARES කියන කොටසේයි.


මේ කොටස් සර්තකව අවසන් උනාම අපි කියනවා Kernel එක පාස් උන කියලා. අපිට දකින්න ලැබෙන ntoskrnal.exe කියන්නේ මේ  Kernel ගොනුවයි. මෙය පිහිටන්නේ  C:\Windows\system 32\ntoskrnal.exe. කියන ස්තානයේ. Kernel ක්‍රියාත්මක වන්නේ පරිගණකයේ දෘඩාංග හා මෘදුකාංග අතර සම්බන්දකම් ඇති කරන ලේයරයක් ලෙසයි. මෙහෙයුම් පද්දතිය මගින් හා යම් යම් දෘඩාංග මගින් ස්තාපිත කරන library ගොනු ඒ කියන්නේ hal.dll Kernel එක නිසි ආකාරයෙන් ක්‍රියාත්මක කරවා ගන්න උපකාර වෙනවා. මෙය පිහිටන්නේ C:\Windows\system32\hal.dll තුලයි. HAL කියලා කියන්නේ Hardware Abstraction Layer කියන එක. ඉන්පසුව C:\Windows\system32\config\system තුල පවතින පරිගණකයේ දෘඩාංග වල ඩ්‍රයිවර්ස් ගොනු Kernel වෙත ලෝඩ් වෙනවා. 

kernel එක ලෝඩ් වී අවසන් උනාට පස්සේ primary memory services එකක් ගැන සොයා බලනවා. එය Winlogon.exe ලෙසින් තමයි වින්ඩෝස් වලදී දකින්න ලැබැන්නේ. මෙයට සම්බන්ද  kernel  සේවාව පවතින්නේ රෙජිස්ට්‍රියේ HKEY_LOCAL_MACHINE - System - Current control set - Services. Winlogon.exe තුලයි. සාමනයෙන් පරිගණකයේ මේ ගොනුව පවතින්නේ C:\Windows\system32\winlogon.exe ලෙසයි. මේ පද්දති ගොනුව මගින් පරිගනකයට ලොග් වීමේ අවස්තාව ලබා දෙනවා. මුලින්ම  msgina.dll කියන පද්දති ගොනුව සමග මෙය සම්බන්ද වෙනවා. එය පිහිටන්නේ C:\Windows\system32\msgina.dll වලයි.  MSGINA කියන්නෙ Microsoft Graphics Identification and Authentication කියන එකයි. මේ ගොනුව පරිගණකයේ  LSA එහෙම නැත්නම් Local Security Authority මගින් සමත් නොවුනොත් පරිගණකයට ලොග් වෙන්න බෑ. ඒ කියන්නේ මුරපදය වැරදුනොත් msgina.dll අසමත් වෙනවා. එවිට පරිගණකයට ලොග් වීම Winlogon.exe මගින් වලකිනවා.  msgina.dll අසමත් කිරීමට හෝ සමත් කිරීමට සහය දක්වන්නේ පරිගණකයේ SAM ගොනුවයි. එ තුල පරිගණකය බාවිතා කරන්නන්ගේ පරිශීලක් නාම හා මුරපද ඇතුලත් දත්ත ගබඩාවක් තියනවා. SAM කියන්නේ Security Accounts Manager කියන එක. ඉතින් අවසාන් ක්‍රියාවලියේදී Winlogon.exe, msgina.dll සහ SAM කියන ගොනු 3 මගින් අපිට ලොග් වීමෙ පහසුකම ලබදී මෙහෙයුම් පද්දතිය විවර කර දෙනවා   

ඉතින් මෙතෙක් වෙලා කියවපු දේවල් වලින් අපේ පියවි  ඇසට පෙනෙන්නේ POST  සහ Winlogon.exe වල ක්‍රියාකාරීත්වය පමණයි. ඉතින් පරිගණකයේ වේගය මත මේතාක් කතා කල ක්‍රියාවලියට ගත වන්නේ විනාඩියකටත් අඩු කාලසීමාවක්.

About the author
Eranda Dayawansa
Eranda Dayawansa is a Microsoft Certified ICT Instructor and Blogger from 2008 who loves all Things of Information Technology. He is also the chief editor at his blog – HelpITLanka which shares new exciting and informative discoveries found from surfing the net.
Share:

0 comments:

Social Media

About Author



Eranda Dayawansa
Founder and Editor-in-Chief of 'Cyber Security'. Microsoft Certified ICT Instructor, Cyber Security Analyst, Information Security Researcher

Blog Archive

About

Followers

Blog Archive