ഉബുണ്ടുവും മറ്റെല്ലാ ലിനക്സ് വിതരണവും GRUB2 ബൂട്ട് ലോഡർ ഉപയോഗിക്കുന്നു. നിങ്ങൾ ഒന്നിലധികം ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ, ഈ ബൂട്ട്ലോഡർ സാധാരണയായി മറച്ചിരിക്കും – എന്നാൽ ഇത് നിങ്ങൾക്ക് ചിലപ്പോൾ ആവശ്യമായി വന്നേക്കാവുന്ന ഓപ്ഷനുകൾ നൽകുന്നു. നിങ്ങൾ ആദ്യം കമ്പ്യൂട്ടർ ബൂട്ട് ചെയ്യുമ്പോൾ ലോഡ് ചെയ്യുന്ന ലിനക്സിന്റെ ഭാഗമാണ് ബൂട്ട് ലോഡർ. ഇത് സാധാരണയായി ലിനക്സ് കേർണൽ ബൂട്ട് ചെയ്യുന്നു, അത് ബാക്കിയുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തെ ലോഡ് ചെയ്യുന്നു – എന്നാൽ ഇത് അതിന്റേതായ ഓപ്ഷനുകളുള്ള ഒരു മെനുവും നൽകുന്നു.

GRUB2 മെനു ആക്സസ് ചെയ്യുക

ബന്ധപ്പെട്ടത്: «ലിനക്സ്» വെറും ലിനക്സ് മാത്രമല്ല: ലിനക്സ് സിസ്റ്റങ്ങൾ നിർമ്മിക്കുന്ന 8 സോഫ്റ്റ്വെയറുകൾ GRUB2 ബൂട്ട്ലോഡർ മെനു ആക്സസ് ചെയ്യുന്നതിന്, നിങ്ങളുടെ കമ്പ്യൂട്ടർ പുനരാരംഭിക്കേണ്ടതുണ്ട് – അല്ലെങ്കിൽ അത് ഷട്ട് ഓഫ് ആണെങ്കിൽ ബൂട്ട് ചെയ്യുക. നിങ്ങൾക്ക് ഒരു ഡ്യുവൽ-ബൂട്ട് സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ കമ്പ്യൂട്ടർ ബൂട്ട് ചെയ്യുമ്പോൾ GRUB2 മെനു ദൃശ്യമാകുന്നത് നിങ്ങൾ കാണും. ഒന്നിലധികം ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളുള്ള ഒരു കമ്പ്യൂട്ടറിന്റെ ഡിഫോൾട്ട് ക്രമീകരണം ഇതാണ്, ഈ മെനു ബൂട്ടിൽ അവയ്ക്കിടയിൽ തിരഞ്ഞെടുക്കാനുള്ള വഴി നൽകുന്നു. സ്ഥിരസ്ഥിതിയായി, ഉബുണ്ടുവും മറ്റ് ലിനക്സ് വിതരണങ്ങളും ഈ മെനു മറയ്ക്കുന്നു. ബൂട്ട്-അപ്പ് പ്രക്രിയയുടെ തുടക്കത്തിൽ തന്നെ Shift കീ അമർത്തിപ്പിടിച്ചുകൊണ്ട് നിങ്ങൾക്ക് മറഞ്ഞിരിക്കുന്ന മെനു ആക്സസ് ചെയ്യാൻ കഴിയും . മെനുവിന് പകരം നിങ്ങളുടെ Linux വിതരണത്തിന്റെ ഗ്രാഫിക്കൽ ലോഗിൻ സ്‌ക്രീൻ കാണുകയാണെങ്കിൽ, നിങ്ങളുടെ കമ്പ്യൂട്ടർ പുനരാരംഭിച്ച് വീണ്ടും ശ്രമിക്കുക.

മറ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളും ടൂളുകളും ബൂട്ട് ചെയ്യുക

സ്ഥിരസ്ഥിതിയായി, GRUB2 നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്ത ലിനക്സ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ബൂട്ട് ചെയ്യും. മെനുവിലെ തിരഞ്ഞെടുക്കുന്നതിനും ഓപ്‌ഷൻ ചെയ്യുന്നതിനും മുകളിലേക്കും താഴേക്കുമുള്ള അമ്പടയാള കീകളും ഉപയോഗിക്കുക, തിരഞ്ഞെടുത്ത മെനു എൻട്രി ബൂട്ട് ചെയ്യുന്നതിന് എന്റർ അമർത്തുക. നിങ്ങൾക്ക് മറ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ – അവ വിൻഡോസ് ആയാലും മറ്റ് ലിനക്സ് വിതരണങ്ങളായാലും – നിങ്ങൾക്ക് അവ തിരഞ്ഞെടുത്ത് ഇവിടെ നിന്ന് ബൂട്ട് ചെയ്യാം. നിങ്ങളുടെ ലിനക്സ് ഡിസ്ട്രിബ്യൂഷൻ GRUB ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ നിങ്ങളുടെ മറ്റ് ഇൻസ്റ്റാൾ ചെയ്ത ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ ലിസ്റ്റ് ചെയ്യുന്നതിനായി സ്വയമേവ കോൺഫിഗർ ചെയ്യണം. നിങ്ങൾക്ക് ഇവിടെ ചില അധിക ടൂളുകൾ ആക്സസ് ചെയ്യാൻ കഴിയും, എന്നിരുന്നാലും ലഭ്യമായ കൃത്യമായ ഓപ്ഷനുകൾ നിങ്ങളുടെ ലിനക്സ് വിതരണത്തെ ആശ്രയിച്ചിരിക്കും. ഉദാഹരണത്തിന്, ഉബുണ്ടു “മെമ്മറി ടെസ്റ്റ് (Memtest86+)” ഓപ്ഷൻ വാഗ്ദാനം ചെയ്യുന്നു. ഈ മെനു എൻട്രി Memtest86+ മെമ്മറി-ടെസ്റ്റിംഗ് ടൂൾ ബൂട്ട് ചെയ്യും. ഒരു ഡിസ്കിലേക്ക് Memtest86+ ബേൺ ചെയ്യാതെയോ അതിൽ നിന്ന് ബൂട്ട് ചെയ്യാവുന്ന USB ഡ്രൈവ് സൃഷ്‌ടിക്കാതെയോ ഒരു മെമ്മറി ടെസ്റ്റ് വേഗത്തിൽ നടത്താൻ അത് തിരഞ്ഞെടുത്ത് എന്റർ അമർത്തുക. മെമ്മറി-ടെസ്റ്റിംഗ് പരിതസ്ഥിതിയിൽ നിന്ന് പുറത്തുപോകാൻ Escape അമർത്തുക അല്ലെങ്കിൽ നിങ്ങളുടെ കമ്പ്യൂട്ടർ റീബൂട്ട് ചെയ്യുക. run-memtest86 -from-grub

വ്യത്യസ്ത ലിനക്സ് കേർണലുകൾ ബൂട്ട് ചെയ്യുക

നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്ത ലിനക്സ് കേർണലുകൾക്കിടയിൽ നിങ്ങൾക്ക് തിരഞ്ഞെടുക്കാൻ കഴിയുന്നതും GRUB2 ആണ്. ലിനക്സ് കേർണൽ ആണ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ കാതൽ, അപ്ഡേറ്റുകളും പരിഹാരങ്ങളും ഉള്ള പുതിയ ലിനക്സ് കേർണലുകൾ പലപ്പോഴും നിങ്ങളുടെ ലിനക്സ് വിതരണത്തിന്റെ പാക്കേജ് മാനേജർ വഴിയാണ് എത്തുന്നത്. ഒരു പുതിയ ലിനക്സ് കേർണലിലേക്ക് മാറുന്നതിന്, നിങ്ങളുടെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം റീബൂട്ട് ചെയ്ത് അതിലേക്ക് ബൂട്ട് ചെയ്യണം. അടുത്ത തവണ നിങ്ങൾ ബൂട്ട് ചെയ്യുമ്പോൾ ഇതെല്ലാം സ്വയമേവ സംഭവിക്കുന്നു. എന്നിരുന്നാലും, ചില സാഹചര്യങ്ങളിൽ, ഒരു പുതിയ ലിനക്സ് കേർണലിന് നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഒരു പ്രശ്നമുണ്ടാകാം. നിങ്ങൾ അപ്‌ഡേറ്റ് ചെയ്‌തതിന് ശേഷം ഇത് ബൂട്ട് ചെയ്യാൻ വിസമ്മതിച്ചേക്കാം, അല്ലെങ്കിൽ നിങ്ങൾക്ക് ഹാർഡ്‌വെയർ പ്രശ്‌നങ്ങൾ അനുഭവപ്പെടാം. ഇക്കാരണത്താൽ, ലിനക്സ് വിതരണങ്ങൾ സാധാരണയായി ഒരു പഴയ ലിനക്സ് കേർണലെങ്കിലും സൂക്ഷിക്കുന്നു. നിങ്ങളുടെ GRUB ബൂട്ട് ലോഡറിലേക്ക് റീബൂട്ട് ചെയ്ത് പഴയ കേർണൽ തിരഞ്ഞെടുത്ത് നിങ്ങൾക്ക് പഴയ ലിനക്സ് കേർണലിലേക്ക് മാറാം. “ഉബുണ്ടുവിനായുള്ള വിപുലമായ ഓപ്ഷനുകൾ” എന്നതിന് കീഴിൽ ഈ ഓപ്ഷനുകൾ മറയ്ക്കാൻ ഉബുണ്ടു GRUB ക്രമീകരിച്ചു. അത് തിരഞ്ഞെടുത്ത് എന്റർ അമർത്തുക, നിങ്ങൾക്ക് ബൂട്ട് ചെയ്യാൻ തിരഞ്ഞെടുക്കാവുന്ന ലിനക്സ് കേർണലുകളുടെ ഒരു ലിസ്റ്റ് കാണാം. ഏറ്റവും പുതിയ കേർണൽ ലിസ്റ്റിന്റെ മുകളിൽ ദൃശ്യമാകുന്നു, ഏറ്റവും ഉയർന്ന പതിപ്പ് നമ്പർ ഉണ്ട്, അത് സ്ഥിരസ്ഥിതിയായി തിരഞ്ഞെടുക്കപ്പെടുന്നു.

റിക്കവറി മോഡ് ഉപയോഗിക്കുക

ഉബുണ്ടു ഇവിടെ ഒരു “റിക്കവറി മോഡ്” ഓപ്ഷനും നൽകുന്നു. മറ്റ് ലിനക്സ് വിതരണങ്ങളും സമാനമായ എന്തെങ്കിലും നൽകിയേക്കാം. വീണ്ടെടുക്കൽ മോഡിലേക്ക് ബൂട്ട് ചെയ്യുക, ഒരു ഉബുണ്ടു ഇൻസ്റ്റാളേഷൻ ട്രബിൾഷൂട്ട് ചെയ്യാനും വീണ്ടെടുക്കാനും നിങ്ങളെ സഹായിക്കുന്നതിന് രൂപകൽപ്പന ചെയ്ത ഓപ്ഷനുകളുടെ ഒരു ലിസ്റ്റ് നിങ്ങൾ കാണും. നിങ്ങൾക്ക് എപ്പോഴെങ്കിലും നിങ്ങളുടെ ഉബുണ്ടു സിസ്റ്റം ശരിയാക്കണമെങ്കിൽ, ഇവിടെയുള്ള ഓപ്ഷനുകൾ സഹായിച്ചേക്കാം. എന്നിരുന്നാലും, വിൻഡോസ് ഇൻസ്റ്റാളേഷൻ ഡിസ്കിൽ നിങ്ങൾ കണ്ടെത്തുന്ന ഗ്രാഫിക്കൽ സിസ്റ്റം റിപ്പയർ ടൂളുകൾ പോലെ ഈ ടൂളുകൾ ഉപയോഗിക്കാൻ എളുപ്പവും സഹായകരവുമല്ല.

ബൂട്ട് ഓപ്ഷനുകൾ എഡിറ്റ് ചെയ്യുക

ബന്ധപ്പെട്ടത്: ലിനക്സിലെ “റൺലെവലുകൾ ” എന്താണ്? GRUB2-ന് കൂടുതൽ വിപുലമായ ഓപ്ഷനുകൾ ഉണ്ട്. ഒരു GRUB2 കമാൻഡ്-ലൈൻ എൻവയോൺമെന്റ് തുറക്കാൻ നിങ്ങൾക്ക് c അമർത്താം, അവിടെ നിങ്ങൾക്ക് വിവിധ GRUB2 കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കാൻ കഴിയും. അല്ലെങ്കിൽ, നിങ്ങൾക്ക് ഒരു ബൂട്ട് ഓപ്ഷൻ തിരഞ്ഞെടുത്ത് ആ മെനു എൻട്രിയുടെ ബൂട്ട് ഓപ്‌ഷനുകൾ കൈകൊണ്ട് എഡിറ്റ് ചെയ്യാൻ e അമർത്താം. ഉദാഹരണത്തിന്, വ്യത്യസ്ത “റൺലെവലുകളിലേക്ക്” ബൂട്ട് ചെയ്യാൻ ഇത് നിങ്ങളെ അനുവദിക്കും. സ്ഥിരസ്ഥിതിയായി, നിങ്ങളുടെ ലിനക്സ് വിതരണം ഒരുപക്ഷേ റൺലവൽ 5-ലേക്ക് ബൂട്ട് ചെയ്യും, ഇത് സാധാരണയായി ഒരു ഗ്രാഫിക്കൽ ഡെസ്ക്ടോപ്പ് ഉപയോഗിച്ച് സിസ്റ്റം ആരംഭിക്കുന്നു. നിങ്ങൾക്ക് റൺലവൽ 3-ലേക്ക് ബൂട്ട് ചെയ്യാം – ഗ്രാഫിക്കൽ ഡെസ്‌ക്‌ടോപ്പ് ഇല്ലാത്ത സ്റ്റാൻഡേർഡ് സിസ്റ്റം – അല്ലെങ്കിൽ റൺലവൽ 1 – അഡ്മിനിസ്ട്രേറ്റീവ് ജോലികൾക്കായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന സിംഗിൾ-യൂസർ മോഡ്. ബൂട്ട് ഓപ്ഷനുകൾ മാറ്റുന്നതിന്, നിങ്ങളുടെ അമ്പടയാള കീകൾ ഉപയോഗിച്ച് ഒരു ബൂട്ട് എൻട്രി തിരഞ്ഞെടുത്ത് e അമർത്തുക . നിങ്ങൾ ബൂട്ട് ചെയ്യാൻ തയ്യാറാകുമ്പോൾ ബൂട്ട് ഓപ്‌ഷനുകൾ എഡിറ്റ് ചെയ്‌ത് Ctrl + X അല്ലെങ്കിൽ F10 അമർത്തുക. റൺലവൽ എഡിറ്റ് ചെയ്യാൻ, “linux” എന്ന് തുടങ്ങുന്ന ലൈൻ കണ്ടെത്തുക, അതിന്റെ അവസാനം വരെ പോയി ഒരു സ്പേസ് ചേർക്കുക, തുടർന്ന് നിങ്ങൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന റൺലവലിന്റെ നമ്പർ ടൈപ്പ് ചെയ്യുക. “linux” ലൈൻ വളരെ ദൈർഘ്യമേറിയതും ഒന്നിലധികം വരികളായി വിഭജിക്കപ്പെട്ടതും ആയിരിക്കാം എന്നത് ശ്രദ്ധിക്കുക. ഉദാഹരണത്തിന്, ചുവടെ ഞങ്ങൾ ടെക്സ്റ്റ്-എൻട്രി കഴ്സർ “ലിനക്സ്” ലൈനിന്റെ അവസാനത്തിലേക്ക് നീക്കി. അടുത്തതായി, റൺലവൽ 3 വ്യക്തമാക്കാൻ ഞങ്ങൾ സ്പേസ് അമർത്തി 3 ടൈപ്പ് ചെയ്തു. Ctrl+X അല്ലെങ്കിൽ F10 അമർത്തുന്നത് റൺലെവൽ മൂന്നിലേക്ക് ബൂട്ട് ചെയ്യും. ഈ മാറ്റം താൽക്കാലികം മാത്രമാണ് – ഇത് ഒരു തവണ മാത്രമേ ഉപയോഗിക്കൂ, ഭാവിയിൽ GRUB2 ഇത് ഓർക്കുകയുമില്ല. നിങ്ങൾ GRUB2-ൽ അധികം കൃത്രിമം കാണിക്കേണ്ടതില്ല – ഇത് സാധാരണയായി അതിന്റെ ജോലി ചെയ്യുകയും വഴിയിൽ നിന്ന് വിട്ടുനിൽക്കുകയും ചെയ്യുന്നു. GRUB2 ഉപയോഗിക്കേണ്ട ആളുകൾ പോലും അവരുടെ കമ്പ്യൂട്ടറുകൾ ബൂട്ട് ചെയ്യുമ്പോൾ ആവശ്യമുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റം തിരഞ്ഞെടുക്കുന്നതിനുള്ള മെനുവായി ഇത് ഉപയോഗിക്കും. ചിത്രം കടപ്പാട്: പോൾ ഷുൾട്സ് ഫ്ലിക്കറിൽ അടുത്തത് വായിക്കുക

  • GRUB2 ബൂട്ട് ലോഡറിന്റെ ക്രമീകരണങ്ങൾ എങ്ങനെ ക്രമീകരിക്കാം
  • › Windows 10-ലേക്ക് ഒരു Linux ഡ്യുവൽ-ബൂട്ട് സിസ്റ്റം എങ്ങനെ അപ്‌ഗ്രേഡ് ചെയ്യാം
  • › ലിനക്സിൽ കേർണൽ എങ്ങനെ റോൾ ബാക്ക് ചെയ്യാം
  • Windows 7 അല്ലെങ്കിൽ 8 ഉപയോഗിച്ച് Windows 10 എങ്ങനെ ഡ്യുവൽ ബൂട്ട് ചെയ്യാം
  • › നിങ്ങളുടെ കമ്പ്യൂട്ടർ ഓൺ ചെയ്യുമ്പോൾ കൃത്യമായി എന്താണ് സംഭവിക്കുന്നത്?
  • › ഉബുണ്ടു സിസ്റ്റം ബൂട്ട് ചെയ്യാത്തപ്പോൾ അത് എങ്ങനെ ശരിയാക്കാം
  • › ആപ്പിൾ വാച്ച് മുഖങ്ങൾ എങ്ങനെ യാന്ത്രികമായി മാറ്റാം
  • › ബ്ലാക്ക്ഔട്ട് സമയത്ത് നിങ്ങളുടെ കാർ ഒരു എമർജൻസി ഇലക്ട്രിസിറ്റി സ്രോതസ്സായി എങ്ങനെ ഉപയോഗിക്കാം

Linux ബൂട്ട് പാർട്ടീഷനുകളും അവ എങ്ങനെ സജ്ജീകരിക്കാം

പരമ്പരാഗത ലിനക്സ് വിതരണങ്ങളും
/boot/ഇഎസ്പിയും എങ്ങനെ സജ്ജീകരിച്ചുവെന്നും ഇത് എങ്ങനെ മെച്ചപ്പെടുത്താമെന്നും നോക്കാം.
ലിനക്സ് ഡിസ്ട്രിബ്യൂഷനുകൾ പരമ്പരാഗതമായി അവരുടെ
“ബൂട്ട്” ഫയൽ സിസ്റ്റങ്ങൾ എങ്ങനെ സജ്ജീകരിക്കുന്നു എന്നത് ഒരു പരിധിവരെ വ്യത്യാസപ്പെടുന്നു, എന്നാൽ ഏറ്റവും
സാധാരണമായ തിരഞ്ഞെടുപ്പ് ലേക്ക് ഒരു പ്രത്യേക പാർട്ടീഷൻ മൌണ്ട് ചെയ്യുക എന്നതാണ്
/boot/.
സാധാരണയായി പാർട്ടീഷൻ ext2/ext3/ext4 പോലെയുള്ള ഒരു ലിനക്സ് ഫയൽ സിസ്റ്റമായിട്ടാണ് ഫോർമാറ്റ് ചെയ്യുന്നത് . പാർട്ടീഷനിൽ കേർണൽ ഇമേജുകൾ,
initrd, വിവിധ ബൂട്ട് ലോഡർ ഉറവിടങ്ങൾ എന്നിവ അടങ്ങിയിരിക്കുന്നു. ഡെബിയൻ, ഉബുണ്ടു പോലുള്ള ചില വിതരണങ്ങൾ കേർണലുമായി
ബന്ധപ്പെട്ട അനുബന്ധ ഫയലുകളും ഇവിടെ സംഭരിക്കുന്നു , അല്ലെങ്കിൽ . അത്തരമൊരു പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷൻ വിതരണത്തിന്റെ പശ്ചാത്തലത്തിൽ മാത്രമേ നിർവചിക്കപ്പെട്ടിട്ടുള്ളൂ, പാർട്ടീഷൻ ടേബിളിൽ നോക്കുമ്പോൾ (അതായത് ഇത് സാധാരണ Linux പാർട്ടീഷൻ തരം UUID ഉപയോഗിക്കുന്നു) നോക്കുമ്പോൾ പെട്ടെന്ന് തിരിച്ചറിയാൻ കഴിയില്ല.
kconfigSystem.map

UEFI യുടെ വരവോടെ ബൂട്ടിന് പ്രസക്തമായ ഒരു പുതിയ പാർട്ടീഷൻ പ്രത്യക്ഷപ്പെട്ടു,
EFI സിസ്റ്റം പാർട്ടീഷൻ (ESP). ഈ പാർട്ടീഷൻ ഫേംവെയർ എൻവയോൺമെന്റാണ് നിർവചിച്ചിരിക്കുന്നത് , എന്നാൽ സാധാരണയായി ബൂട്ട് ലോഡറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനോ അപ്ഡേറ്റ്
ചെയ്യുന്നതിനോ Linux ആക്സസ് ചെയ്യുന്നു .
ഫയൽ സിസ്റ്റത്തിന്റെ തിരഞ്ഞെടുപ്പ് Linux-നല്ല, മറിച്ച്
UEFI സ്പെസിഫിക്കേഷനുകളാൽ ഫലപ്രദമായി നിർബന്ധിതമാണ്: vFAT. സിദ്ധാന്തത്തിൽ ഇത്
മറ്റ് ഫയൽ സിസ്റ്റങ്ങൾ പോലെ ഫോർമാറ്റ് ചെയ്യാവുന്നതാണ്. എന്നിരുന്നാലും,
vFAT ഒഴികെയുള്ള ഫയൽ സിസ്റ്റങ്ങളെ പിന്തുണയ്ക്കാൻ ഫേംവെയറിന് ഇത് ആവശ്യമാണ്. UEFI സ്പെസിഫിക്കേഷൻ നിർബന്ധമാക്കിയ
ഒരേയൊരു ഫയൽ സിസ്റ്റം vFAT ആയതിനാൽ ഇത് അപൂർവവും ഫേംവെയർ നിർദ്ദിഷ്ടവുമാണ്. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, സാർവത്രികമായി പിന്തുണയ്ക്കുമെന്ന് ഉറപ്പുനൽകുന്ന
ഒരേയൊരു ഫയൽ സിസ്റ്റമാണ് vFAT .

ESP-യിലും മുമ്പ് സൂചിപ്പിച്ച പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷനിലും സാധാരണയായി സംഭരിച്ചിരിക്കുന്ന ഡാറ്റയുടെ തരത്തിലുള്ള ഒരു പ്രധാന ഓവർലാപ്പ് ഉണ്ട് :
വൈവിധ്യമാർന്ന ബൂട്ട് ലോഡർ ഉറവിടങ്ങളും കേർണലുകൾ/initrds. പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷനിൽ നിന്ന് വ്യത്യസ്തമായി, ESP
അതിന്റെ GPT പാർട്ടീഷൻ തരം UUID വഴി പാർട്ടീഷൻ ടേബിളിൽ എളുപ്പത്തിൽ തിരിച്ചറിയാൻ കഴിയും. ESP
ഒരു പങ്കിട്ട ഉറവിടം കൂടിയാണ് : ഒരേ ഡിസ്കിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള എല്ലാ OS-
കളും അത് പങ്കിടുകയും അവരുടെ ബൂട്ട് ഉറവിടങ്ങൾ അവയിൽ ഇടുകയും ചെയ്യും (
പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷനിൽ നിന്ന് വ്യത്യസ്തമായി, അതിൽ ഇൻസ്റ്റാൾ ചെയ്ത ഓരോ Linux
OS-നും ഒന്ന് ഉണ്ട്, അത് മാത്രമേ ഇടുകയുള്ളൂ. അവിടെയുള്ള വിഭവങ്ങൾ). ചുരുക്കത്തിൽ, സാധാരണ ലിനക്സ് വിതരണങ്ങളിലെ ഏറ്റവും സാധാരണമായ സജ്ജീകരണം
ഇതുപോലെയാണ്:

ടൈപ്പ് ചെയ്യുക ലിനക്സ് മൌണ്ട് പോയിന്റ് ഫയൽ സിസ്റ്റം ചോയ്സ്
ലിനക്സ് “ബൂട്ട്” പാർട്ടീഷൻ /boot/ ഏതെങ്കിലും ലിനക്സ് ഫയൽ സിസ്റ്റം, സാധാരണയായി ext2/ext3/ext4
ഇ.എസ്.പി /boot/efi/ vFAT

സൂചിപ്പിച്ചതുപോലെ, എല്ലാ വിതരണങ്ങളും പ്രാദേശിക ഇൻസ്റ്റാളേഷനുകളും
ഇത് അംഗീകരിക്കുന്നില്ല. ഉദാഹരണത്തിന്, ചില വിതരണങ്ങൾ OS-
ന്റെ തന്നെ റൂട്ട് ഫയൽ സിസ്റ്റത്തിലേക്ക് കേർണലുകൾ സ്ഥാപിക്കാൻ തീരുമാനിച്ചത് പരാമർശിക്കേണ്ടതാണ്.
ഈ സജ്ജീകരണത്തിനായി, ബൂട്ട് ലോഡർ തന്നെ [sic!]
സ്റ്റോറേജ് സ്റ്റാക്കിന്റെ നിസ്സാരമല്ലാത്ത ഒരു ഭാഗം നടപ്പിലാക്കണം. ഇതിൽ
RAID, സ്റ്റോറേജ് ഡ്രൈവറുകൾ, നെറ്റ്‌വർക്ക് സ്റ്റോറേജ്, വോളിയം മാനേജ്മെന്റ്,
ഡിസ്ക് എൻക്രിപ്ഷൻ, ലിനക്സ് ഫയൽ സിസ്റ്റങ്ങൾ എന്നിവ ഉൾപ്പെടണം. സങ്കീർണ്ണമായ സ്റ്റോറേജ് സ്റ്റാക്കുകൾ ബൂട്ട് ലോഡറുകളിൽ ഉൾപ്പെടുന്നില്ല എന്ന ആശയപരമായ
വാദം മാറ്റിവെച്ചാൽ,
ഈ സമീപനത്തിൽ വളരെ പ്രായോഗിക പ്രശ്നങ്ങളുണ്ട്. Linux സ്റ്റോറേജ് സ്റ്റാക്ക് അതിന്റെ എല്ലാ കോമ്പിനേഷനുകളിലും പുനഃസ്ഥാപിക്കുക
എന്നത് ഒരു വലിയ
ജോലിയാണ്. ലിനക്സിൽ ഇപ്പോൾ ഉള്ളത് നടപ്പിലാക്കാൻ പതിറ്റാണ്ടുകളെടുത്തു,
ബൂട്ട് ലോഡറിന്റെ പുനർനിർമ്മാണത്തിൽ പിടിക്കാൻ സമാനമായ ഒരു ജോലി വേണ്ടിവരും
. അതിലുപരി, ഒരു രാഷ്ട്രീയ സങ്കീർണതയുണ്ട്: ചില ലിനക്സ് ഫയൽ സിസ്റ്റം കമ്മ്യൂണിറ്റികൾ , ലിനക്സ് കേർണലിന്റെ ഭാഗമായി പരിപാലിക്കാത്ത രണ്ടാമത്തെ ഫയൽ സിസ്റ്റം നടപ്പാക്കലിനെ പിന്തുണയ്ക്കുന്നതിൽ
തങ്ങൾക്ക് താൽപ്പര്യമില്ലെന്ന് വ്യക്തമാക്കി .

മൌണ്ട് പോയിന്റിന് താഴെയായി മൌണ്ട് പോയിന്റ് /boot/efi/നെസ്റ്റ് ചെയ്തിരിക്കുന്നു എന്നതാണ് രസകരമായ കാര്യം. ഇഎസ്പി ആക്സസ് ചെയ്യുന്നതിന് ബൂട്ട് പാർട്ടീഷൻ നിലവിലുണ്ടാകുകയും ആദ്യം മൌണ്ട് ചെയ്യുകയും വേണം എന്നാണ് ഇതിനർത്ഥം . ഒരു ESP ഉള്ളതും ബൂട്ട് പാർട്ടീഷൻ ഇല്ലാത്തതുമായ ഒരു സിസ്റ്റം അതിനാൽ നിലവിലെ മോഡലിന് അനുയോജ്യമല്ല. ബൂട്ട് പാർട്ടീഷനിൽ ഒരു ശൂന്യമായ “efi” ഡയറക്‌ടറിയും വഹിക്കേണ്ടി വരും, അത് ഇൻറർ മൌണ്ട് പോയിന്റായി ഉപയോഗിക്കാവുന്നതാണ്, കൂടാതെ മറ്റ് ഉദ്ദേശ്യങ്ങളൊന്നുമില്ല.
/boot/

പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷനും ESP യും
സമാനമായ ഡാറ്റ (അതായത് ബൂട്ട് ലോഡർ റിസോഴ്സുകൾ, കേർണലുകൾ, initrds) വഹിക്കുന്നതിനാൽ, അവ
എന്തിനാണ് പ്രത്യേക ആശയങ്ങൾ എന്ന് ചിന്തിച്ചേക്കാം. ചരിത്രപരമായി,
ലിനക്സ് സിസ്റ്റങ്ങൾ യുഇഎഫ്ഐയുമായി എങ്ങനെ ബൂട്ട് ചെയ്തു എന്നതിന് പ്രീ-യുഇഎഫ്ഐ വഴി ഉണ്ടാക്കുന്നതിനുള്ള ഏറ്റവും എളുപ്പമാർഗ്ഗം ഇതാണ്: ആശയപരമായി, ഇഎസ്പിയെ ആ രീതിയിലുള്ള സ്റ്റാറ്റസ് ക്വോയുടെ
ഒരു ചെറിയ കൂട്ടിച്ചേർക്കലായി കാണാൻ കഴിയും .
ഇന്ന്, പ്രാഥമികമായി രണ്ട്
കാരണങ്ങൾ അവശേഷിച്ചു:

  • ബൂട്ട് ലോഡർ റിസോഴ്‌സുകൾ സംഭരിക്കുമ്പോൾ
    ഹാർഡ്‌ലിങ്കുകൾ, സിംലിങ്കുകൾ, SELinux ലേബലുകൾ/വിപുലീകൃത ആട്രിബ്യൂട്ടുകൾ തുടങ്ങിയ സങ്കീർണ്ണമായ ലിനക്സ് ഫയൽ സിസ്റ്റം ആശയങ്ങൾക്കുള്ള പിന്തുണയിൽ ചില വിതരണങ്ങൾ പ്രയോജനം കാണുന്നു .
    – ഫേംവെയർ എൻവയോൺമെന്റിന് ശരിക്കും മനസ്സിലാക്കാൻ കഴിയാത്ത സവിശേഷതകൾ ബൂട്ട് ഫയൽ സിസ്റ്റങ്ങളിൽ ഉപയോഗിക്കുന്നത് വളരെ വ്യക്തമായി അഭികാമ്യമല്ലെന്ന് ഞാൻ
    വ്യക്തിപരമായി വിശ്വസിക്കുന്നു . UEFI ഫയൽ സിസ്റ്റം API- കൾക്ക് സിംലിങ്കുകളൊന്നും അറിയില്ല, എന്തായാലും SELinux to UEFI എന്താണ്? മാത്രമല്ല, അത്തരം ഫയൽ സിസ്റ്റങ്ങളിൽ ഏറ്റവും കുറഞ്ഞ ലളിതമായ ഡാറ്റാ ഫയലുകൾ ഉൾപ്പെടുത്തുന്നത്, ക്രിപ്‌റ്റോഗ്രാഫിക്കായി ഉപയോഗിക്കുമ്പോൾ അവയെ എങ്ങനെ സമഗ്രമായി (എല്ലാ ഫാൻസി മെറ്റാഡാറ്റയും ഉൾപ്പെടെ) ആധികാരികമാക്കാം എന്നതിനെക്കുറിച്ചുള്ള ചോദ്യങ്ങൾ ഉടനടി ഉയർത്തുന്നു (ചുവടെ കാണുക).

  • ലിനക്സ് ഇതര OS-കൾ ഉപയോഗിച്ച് ഷിപ്പ് ചെയ്യുന്ന യഥാർത്ഥ ജീവിത സിസ്റ്റങ്ങളിൽ, ഒന്നിലധികം ലിനക്സ് കേർണലുകളും initrd-കളും
    വഹിക്കാൻ കഴിയാത്തത്ര ചെറിയ വലിപ്പത്തിൽ ESP പലപ്പോഴും മുൻകൂട്ടി ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട് .
    നിലവിലുള്ള ESP യുടെ വലിപ്പം വർധിക്കുന്നത് പ്രശ്‌നകരമാണ് (ഉദാഹരണത്തിന്, ESP-ന് ശേഷം ഉടൻ തന്നെ
    സ്ഥലമില്ല എന്നതിനാലോ അല്ലെങ്കിൽ ചില നിലവാരം കുറഞ്ഞ ഫേംവെയർ ESP മാറുന്ന വലുപ്പത്തോട് മോശമായി പ്രതികരിക്കുന്നതിനാലോ) കേർണലിനെ ഒരു പ്രത്യേക, ദ്വിതീയ പാർട്ടീഷനിൽ സ്ഥാപിക്കുന്നു (അതായത് . ബൂട്ട് പാർട്ടീഷൻ) ഈ സ്പേസ് പ്രശ്നങ്ങൾ ഒഴിവാക്കുന്നു.

ഫയൽ സിസ്റ്റം ചോയ്‌സുകൾ

ESP ഫലപ്രദമായി vFAT ആയിരിക്കണമെന്ന് ഞങ്ങൾ ഇതിനകം സൂചിപ്പിച്ചു,
അതാണ് UEFI (കൂടുതലോ കുറവോ) ഉറപ്പ് നൽകുന്നത്. ബൂട്ട് പാർട്ടീഷനുള്ള ഫയൽ സിസ്റ്റം ചോയിസ്
അത്ര നിയന്ത്രിതമല്ല, എന്നാൽ അനിയന്ത്രിതമായ ലിനക്സ്
ഫയൽ സിസ്റ്റങ്ങൾ ഉപയോഗിക്കുന്നത് യഥാർത്ഥത്തിൽ ഒരു ഓപ്ഷനല്ല. ബൂട്ട് ലോഡറിനും Linux OS-നും ഫയൽ സിസ്റ്റം
ആക്‌സസ് ചെയ്യാവുന്നതാണ്. അതിനാൽ രണ്ടിലും ലഭ്യമായ ഫയൽ
സിസ്റ്റങ്ങൾ മാത്രമേ ഉപയോഗിക്കാനാവൂ. ബൂട്ട് എൻവയോൺമെന്റിലെ ലിനക്സ് ഫയൽ സിസ്റ്റങ്ങളുടെ അത്തരം
ദ്വിതീയ നിർവ്വഹണങ്ങൾ
– അവ പരിമിതമായിരിക്കാം – അപ്‌സ്ട്രീം ലിനക്സ് കേർണലിലെ
കാനോനിക്കൽ ഫയൽ സിസ്റ്റം നടപ്പിലാക്കുന്നവർ സാധാരണയായി സ്വാഗതം ചെയ്യുകയോ പിന്തുണയ്ക്കുകയോ ചെയ്യുന്നില്ല എന്നത് ശ്രദ്ധിക്കുക.
ആധുനിക ഫയൽ സിസ്റ്റങ്ങൾ
കുപ്രസിദ്ധവും സങ്കീർണ്ണവും അതിലോലവുമാണ്, മാത്രമല്ല ബൂട്ട്
ലോഡറുകളിൽ ഉൾപ്പെടുന്നില്ല. വിശ്വസനീയമായ ഒരു ബൂട്ട് ലോകത്ത്, ESP-യ്‌ക്കും പാർട്ടീഷനുമുള്ള രണ്ട് ഫയൽ സിസ്റ്റങ്ങൾ വിശ്വസനീയമല്ലാത്തതായി
/boot/ കണക്കാക്കണം : അവയിൽ നിന്ന് വായിക്കുന്ന ഏതെങ്കിലും കോഡോ അവശ്യ ഡാറ്റയോ ഉപയോഗിക്കുന്നതിന് മുമ്പ് ക്രിപ്‌റ്റോഗ്രാഫിക്കായി ആധികാരികത ഉറപ്പാക്കണം . അതിലുപരിയായി, ഫയൽ സിസ്റ്റം ഘടനകളും അവിശ്വസനീയമാണ്. അവ വായിക്കുന്ന ഫയൽ സിസ്റ്റം ഡ്രൈവർ ഒരു റോഗ് ഫയൽ സിസ്റ്റം ഇമേജിനാൽ ചൂഷണം ചെയ്യപ്പെടാതിരിക്കാൻ ശ്രദ്ധിക്കണം . ഫലപ്രദമായി ഇതിനർത്ഥം ഒരു ലളിതമായ ഫയൽ സിസ്റ്റം (ഇതിനായി ഒരു ഡ്രൈവറെ കൂടുതൽ എളുപ്പത്തിൽ സാധൂകരിക്കാനും അവലോകനം ചെയ്യാനും കഴിയും) ഒരു സങ്കീർണ്ണ ഫയൽ സിസ്റ്റത്തേക്കാൾ മികച്ച തിരഞ്ഞെടുപ്പാണ് (ലിനക്സ് ഫയൽ സിസ്റ്റം കമ്മ്യൂണിറ്റികൾ റോഗ് ഫയൽ സിസ്റ്റം ഇമേജുകൾക്കെതിരെയുള്ള കരുത്ത് അവരുടെ പുറത്താണെന്ന് വളരെ വ്യക്തമായി പറഞ്ഞു . വ്യാപ്തി അല്ലാതെ എന്തിനുവേണ്ടിയാണ് പരീക്ഷിക്കുന്നത്.).

ചില സമീപനങ്ങൾ ബൂട്ട് പാർട്ടീഷനുകൾ
വിശ്വസനീയമല്ലാത്ത പ്രദേശമാണെന്ന വസ്തുത LUKS-ന് അനുയോജ്യമായ ഒരു മെക്കാനിസം വഴി എൻക്രിപ്റ്റ് ചെയ്തും
, ബൂട്ട് ലോഡറിലേക്ക് ഡീക്രിപ്ഷൻ കഴിവുകൾ ചേർത്തും അത്
ആക്സസ് ചെയ്യാൻ ശ്രമിച്ചു. എൻക്രിപ്ഷൻ ആധികാരികതയെ സൂചിപ്പിക്കുന്നില്ല എന്നതിനാൽ ഇത് പോയിന്റ് നഷ്‌ടപ്പെടുത്തുന്നു
, മാത്രമല്ല പ്രാമാണീകരണം മാത്രമേ സാധാരണയായി ആവശ്യമുള്ളൂ. ബൂട്ട്
ലോഡറും കേർണൽ കോഡും സാധാരണയായി ഓപ്പൺ സോഴ്‌സാണ്, അതിനാൽ പൊതുവിജ്ഞാനം
രഹസ്യമായി സൂക്ഷിക്കാൻ ശ്രമിക്കുന്നതിൽ വലിയ മൂല്യമില്ല . കൂടാതെ, എൻക്രിപ്ഷൻ ഒരു എൻക്രിപ്ഷൻ കീയുടെ
അസ്തിത്വത്തെ സൂചിപ്പിക്കുന്നു .
ഒരു കീബോർഡിലെ ഡീക്രിപ്ഷൻ കീ ഫിസിക്കലായി ടൈപ്പുചെയ്യുന്നത്
ഡെസ്‌ക്‌ടോപ്പ് സിസ്റ്റങ്ങളിൽ ഇപ്പോഴും സ്വീകാര്യമായേക്കാം
, എന്നാൽ അതിന് പുറത്ത് TPM, PKCS#11 അല്ലെങ്കിൽ
നെറ്റ്‌വർക്ക് സേവനങ്ങൾ വഴിയുള്ള അൺലോക്ക് സാധാരണയായി ആവശ്യമാണ്. ഡെസ്‌ക്‌ടോപ്പിൽ പോലും FIDO2
അൺലോക്ക് ചെയ്യുന്നത് ഭാവിയായിരിക്കും. FIDO2, PKCS#11, USB, Bluetooth നെറ്റ്‌വർക്ക്, സ്മാർട്ട് കാർഡ് ആക്‌സസ് എന്നിവയ്‌ക്കായി സബ്‌സിസ്റ്റം ആവശ്യമായതിനാൽ ബൂട്ട് ലോഡർ ഒരു പൂർണ്ണ OS ആയി മാറുന്നില്ലെങ്കിൽ,
ബൂട്ട് ലോഡറിൽ ഈ അൺലോക്കിംഗ് മെക്കാനിസങ്ങൾക്ക് ആവശ്യമായ എല്ലാ സാങ്കേതികവിദ്യകളും നടപ്പിലാക്കുന്നത് യാഥാർത്ഥ്യമല്ല. ഉടൻ.

ഫയൽ സിസ്റ്റം ആക്സസ് പാറ്റേണുകൾ

പരമ്പരാഗതമായി സൂചിപ്പിച്ചിരിക്കുന്ന രണ്ട് പാർട്ടീഷനുകളും
ബൂട്ടിന്റെ മിക്ക ഭാഗങ്ങളിലും വായിക്കാൻ മാത്രമായിരുന്നു എന്നത് ശ്രദ്ധിക്കുക. പിന്നീട്, OS പ്രവർത്തനക്ഷമമായാൽ,
OS അല്ലെങ്കിൽ ബൂട്ട് ലോഡർ അപ്‌ഡേറ്റുകൾ നടപ്പിലാക്കാൻ റൈറ്റ് ആക്‌സസ് ആവശ്യമായിരുന്നു. ഇന്നത്തെ
ലോകത്ത് കാര്യങ്ങൾ കുറച്ചുകൂടി സങ്കീർണ്ണമായിരിക്കുന്നു. ബൂട്ട് കൗണ്ടിംഗ്/ബൂട്ട് അസസ്‌മെന്റ്/ഓട്ടോമാറ്റിക് ഫാൾബാക്ക് (ഉദാഹരണത്തിന്, ഒരേ കേർണൽ 3 തവണ ബൂട്ട് ചെയ്യുന്നതിൽ പരാജയപ്പെട്ടാൽ, പഴയ കേർണലിലേക്ക് സ്വയമേവ പുനഃസ്ഥാപിക്കുക) അല്ലെങ്കിൽ നിലനിർത്തുന്നതിന്,
ബൂട്ട് ലോഡറിൽ ഇതിനകം തന്നെ ചില പരിമിതമായ റൈറ്റ് ആക്‌സസ് ആവശ്യമായി വന്നേക്കാം . ആദ്യകാല സംഭരണത്തെ അടിസ്ഥാനമാക്കിയുള്ള ക്രമരഹിതമായ വിത്ത്. ഇതിനർത്ഥം ഫയൽ സിസ്റ്റം മിക്കവാറും റീഡ്-ഓൺലി ആണെങ്കിലും, എല്ലാത്തിനുമുപരി ഞങ്ങൾക്ക് പരിമിതമായ റൈറ്റ് ആക്സസ് ആവശ്യമാണ്.


btrfs
ഡാറ്റാ സുരക്ഷാ ഗ്യാരന്റിയുടെ കാര്യത്തിൽ vFAT ആധുനിക ലിനക്സ് ഫയൽ സിസ്റ്റങ്ങളുമായി മത്സരിക്കാനാവില്ല . ഇത് ഒരു ജേർണൽ ഫയൽ
സിസ്റ്റമല്ല, CW അല്ലെങ്കിൽ ഏതെങ്കിലും തരത്തിലുള്ള ചെക്ക്സമ്മിംഗ് ഉപയോഗിക്കുന്നില്ല. ഇതിനർത്ഥം
, സിസ്റ്റം ബൂട്ട് പ്രോസസ്സിനായി ഉപയോഗിക്കുമ്പോൾ, അത് ആക്‌സസ് ചെയ്യുമ്പോൾ നമ്മൾ പ്രത്യേകം ശ്രദ്ധിക്കേണ്ടതുണ്ട്
, പ്രത്യേകിച്ചും അതിൽ മാറ്റങ്ങൾ വരുത്തുമ്പോൾ (അതായത്,
മാറ്റങ്ങൾ പ്രാദേശികമായി ഒറ്റ സെക്ടറുകളിലേക്ക് നിലനിർത്താൻ ശ്രമിക്കുന്നു). ഫയൽ സിസ്റ്റം അഴിമതിയുടെ
സാധ്യത കുറയ്ക്കുന്ന റൈറ്റ് പാറ്റേണുകൾ ഉപയോഗിക്കേണ്ടത് അത്യാവശ്യമാണ് . ഓരോ പരിഷ്ക്കരണത്തിനു ശേഷവും ഫയൽ സിസ്റ്റം കഴിയുന്നത്ര വേഗത്തിൽ “വൃത്തിയുള്ള” അവസ്ഥയിലേക്ക് കൊണ്ടുവരുന്നത് ഉറപ്പാക്കുന്നത് പോലെ, പരിഷ്ക്കരിക്കുന്നതിന് മുമ്പ്
ഫയൽ സിസ്റ്റം (“ ”) പരിശോധിക്കുന്നത് പ്രധാനമാണ് (ഒരുപക്ഷേ വായിക്കാനും) .fsck

സാധാരണ സിസ്റ്റങ്ങളിലെ ഫേംവെയറിന്റെ കോഡ് ഗുണമേന്മ എല്ലായ്പ്പോഴും മികച്ചതല്ലെന്ന് അറിയപ്പെടുന്നു
. ഫേംവെയറിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ഫയൽ സിസ്റ്റം ഡ്രൈവറെ ആശ്രയിക്കുമ്പോൾ, ശരിയായി നടപ്പിലാക്കാൻ കൂടുതൽ അവസരമുള്ള
പ്രവർത്തനങ്ങളിലേക്ക് ഉപയോഗം പരിമിതപ്പെടുത്തുന്നത് നല്ലതാണ്.
ഉദാഹരണത്തിന്, UEFI പരിതസ്ഥിതിയിൽ നിന്ന് എഴുതുമ്പോൾ, അലോക്കേഷൻ അൽഗോരിതങ്ങൾ ആവശ്യമുള്ള
ഏതൊരു പ്രവർത്തനവും ഒഴിവാക്കുന്നത്
നല്ലതാണ്, പകരം
ഇതിനകം എഴുതിയ ഡാറ്റയെ മാത്രം അസാധുവാക്കുന്ന ആക്സസ് പാറ്റേണുകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക, കൂടാതെ
ഡാറ്റയ്ക്കായി പുതിയ ഇടം അനുവദിക്കേണ്ടതില്ല. ബൂട്ട് ലോഡർ കോഡിൽ നിന്നുള്ള റൈറ്റ് ആക്സസ് കൂടാതെ (മുകളിൽ വിവരിച്ചതുപോലെ) ഈ ഫയൽ സിസ്റ്റങ്ങൾക്ക് ബൂട്ട് ലോഡറും കേർണൽ/initrd അപ്ഡേറ്റുകളും സുഗമമാക്കുന്നതിന്
OS-ൽ നിന്നുള്ള റൈറ്റ് ആക്സസ് ആവശ്യമാണ് .
ഇത്തരത്തിലുള്ള
ആക്‌സസുകൾ പൊതുവെ പൂർണ്ണമായും ക്രമരഹിതമായ ആക്‌സസുകളല്ല (അതായത്, ഒരിക്കലും ഭാഗികമായ
ഫയൽ അപ്‌ഡേറ്റുകൾ അല്ല) എന്നാൽ സാധാരണയായി അർത്ഥമാക്കുന്നത് പുതിയ ഫയലുകൾ മൊത്തത്തിൽ ചേർക്കുകയും പഴയ ഫയലുകൾ മൊത്തത്തിൽ നീക്കം ചെയ്യുകയും ചെയ്യുന്നു
. നിലവിലുള്ള ഫയലുകൾ ഒരിക്കൽ സൃഷ്ടിച്ചുകഴിഞ്ഞാൽ സാധാരണഗതിയിൽ പരിഷ്‌ക്കരിക്കില്ല
, എന്നിരുന്നാലും അവ പൂർണ്ണമായും പുതിയ പതിപ്പുകൾ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാം.

ബൂട്ട് ലോഡർ അപ്ഡേറ്റുകൾ

ബൂട്ട് ലോഡറുകൾക്കും കേർണലുകൾ / initrds എന്നിവയ്ക്കുമുള്ള അപ്‌ഡേറ്റ് സൈക്കിൾ ഫ്രീക്വൻസികൾ ഈ ദിവസങ്ങളിൽ സമാനമായിരിക്കുമെന്നത് ശ്രദ്ധിക്കുക . കേർണലുകൾ
ഇപ്പോഴും ബൂട്ട് ലോഡറുകളേക്കാൾ വളരെ സങ്കീർണ്ണമാണെങ്കിലും,
രണ്ടിലും സുരക്ഷാ പ്രശ്നങ്ങൾ പതിവായി കാണപ്പെടുന്നു. പ്രത്യേകിച്ചും, ബൂട്ട് ലോഡറുകൾ (
“ഷിം” വഴിയും സമാന ഘടകങ്ങൾ വഴിയും) സർട്ടിഫിക്കറ്റ്/കീറിംഗ്, ഡിനൈലിസ്റ്റ്
വിവരങ്ങൾ എന്നിവ കൊണ്ടുപോകുന്നു, സാധാരണഗതിയിൽ പതിവ് അപ്ഡേറ്റുകൾ ആവശ്യമാണ്. അതിനാൽ അപ്‌ഡേറ്റ് സൈക്കിളുകൾ
പതിവായി പ്രതീക്ഷിക്കേണ്ടതുണ്ട്.

ബൂട്ട് പാർട്ടീഷൻ കണ്ടെത്തൽ

പാർട്ടീഷൻ ടേബിളിൽ നോക്കിയാൽ പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷൻ തിരിച്ചറിയാൻ കഴിഞ്ഞില്ല .
MBR സിസ്റ്റങ്ങളിൽ ഇത് ഡിസ്കിന്റെ ബൂട്ട് സെക്ടറിൽ നിന്നും
ഇഎസ്പിയിൽ സൂക്ഷിച്ചിരിക്കുന്ന വിവരങ്ങളിൽ നിന്നും EFI സിസ്റ്റങ്ങളിൽ നിന്നും നേരിട്ട് പരാമർശിക്കപ്പെടുന്നു .
ഈ എൻട്രി പോയിന്റ് വിവരങ്ങൾ നഷ്‌ടപ്പെടുന്നതിലൂടെ സിസ്റ്റം ബൂട്ട് ചെയ്യാൻ കഴിയാത്തതിനാൽ ഇത് അനുയോജ്യത്തേക്കാൾ കുറവാണ് . പാർട്ടീഷൻ ടേബിളിൽ നേരിട്ട് ബൂട്ട് പാർട്ടീഷനുകൾ തിരിച്ചറിയാൻ കഴിയുന്ന തരത്തിൽ ഇത് ഒരു
മികച്ച, കൂടുതൽ കരുത്തുറ്റ ആശയമാണ് . GPT പാർട്ടീഷൻ തരം UUID
വഴിയാണ് ഇത് ESP-ക്കായി ചെയ്യുന്നത് .
പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷനുകൾക്ക് ഇത് ചെയ്തിട്ടില്ല
.

നിലവിലെ സ്ഥിതി സംഗ്രഹം

മുകളിൽ പറഞ്ഞവ സംഗ്രഹിക്കാൻ ശ്രമിക്കാം:

  • നിലവിൽ, സാധാരണ വിന്യാസങ്ങൾ രണ്ട് വ്യത്യസ്ത ബൂട്ട് പാർട്ടീഷനുകൾ ഉപയോഗിക്കുന്നു ,
    പലപ്പോഴും രണ്ട് വ്യത്യസ്ത ഫയൽ സിസ്റ്റം നടപ്പിലാക്കലുകൾ ഉപയോഗിക്കുന്നു .
  • ഫേംവെയർ ഫലപ്രദമായി ESP യുടെ നിലനിൽപ്പും
    vFAT ഉപയോഗവും നിർദ്ദേശിക്കുന്നു
  • യൂസർസ്‌പേസ് കാഴ്‌ചയിൽ: പൊതുവായ ബൂട്ട് പാർട്ടീഷൻ മൗണ്ടിന് താഴെയായി ESP മൗണ്ട് നെസ്റ്റഡ് ചെയ്‌തിരിക്കുന്നു
  • രണ്ട് പാർട്ടീഷനുകളിലും സംഭരിച്ചിരിക്കുന്ന ഉറവിടങ്ങൾ പ്രാഥമികമായി കേർണൽ/ഇനിറ്റ്ആർഡി,
    ബൂട്ട് ലോഡർ ഉറവിടങ്ങളാണ് .
  • ഫേംവെയർ ഫയൽ സിസ്റ്റം ഡ്രൈവർ കോഡിന്റെ ഗുണനിലവാരം പോലെ , vFAT ന്റെ നിർബന്ധിത ഉപയോഗം ചില ഡാറ്റ സുരക്ഷാ വെല്ലുവിളികൾ കൊണ്ടുവരുന്നു.
  • ബൂട്ട് സമയത്ത് ലിമിറ്റഡ് റൈറ്റ് ആക്സസ് ആവശ്യമാണ്, OS റൺടൈമിൽ
    കൂടുതൽ സമഗ്രമായ റൈറ്റ് ആക്സസ് ആവശ്യമാണ് (ഇപ്പോഴും പൂർണ്ണമായും
    ക്രമരഹിതമല്ലെങ്കിലും).
  • OS പരിതസ്ഥിതിയിൽ നിന്ന് നിയന്ത്രിതവും എന്നാൽ പരിമിതവുമായ എഴുത്ത് പാറ്റേണുകൾ

    ( ഒഎസ്/ബൂട്ട് ലോഡർ അപ്‌ഡേറ്റ് സമയത്ത് പൂർണ്ണമായ ഫയൽ കൂട്ടിച്ചേർക്കലുകൾ/അപ്‌ഡേറ്റുകൾ/നീക്കം ചെയ്യലുകൾ മാത്രം )
  • ബൂട്ട് ലോഡറുകൾ സങ്കീർണ്ണമായ സ്റ്റോറേജ് സ്റ്റാക്കുകൾ നടപ്പിലാക്കാൻ പാടില്ല.
  • പാർട്ടീഷൻ ടേബിളിൽ നിന്ന് ESP സ്വയമേവ കണ്ടെത്താനാകും
    , പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷൻ സാധ്യമല്ല.
  • ഇഎസ്പിയും പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷനും ഘടനയിലോ ഉള്ളടക്കത്തിലോ ക്രിപ്റ്റോഗ്രാഫിക്കായി പരിരക്ഷിച്ചിട്ടില്ല .
    ലോഡുചെയ്ത ഫയലുകൾ വായിച്ചതിനുശേഷം വ്യക്തിഗതമായി പ്രാമാണീകരിക്കപ്പെടുമെന്ന് പ്രതീക്ഷിക്കുന്നു .
  • ESP ഒരു പങ്കിട്ട റിസോഴ്സാണ് — പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷൻ
    ഒരേ ഡിസ്കിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള ഓരോ Linux OS-നും പ്രത്യേകമായ ഒരു റിസോഴ്സ് ആണ്.

ഇത് എങ്ങനെ നന്നായി ചെയ്യാം

ഇപ്പോൾ നമ്മൾ പല പ്രശ്‌നങ്ങളും സ്റ്റാറ്റസ് ക്വയുമായി ചർച്ച ചെയ്തു, നമുക്ക് എങ്ങനെ കാര്യങ്ങൾ മികച്ചതാക്കാനാകുമെന്ന് നോക്കാം:

  • ഒരേ ഡാറ്റയ്ക്കുള്ള രണ്ട് പാർട്ടീഷനുകൾ ഒരു മോശം ആശയമാണ്. അവ
    വളരെ സാമ്യമുള്ളതോ സമാന സ്വഭാവമുള്ളതോ ആയ ഡാറ്റ വഹിക്കുന്നതിനാൽ, പൊതുവായ കേസ്
    ഒന്ന് മാത്രമായിരിക്കണം (എന്നാൽ ചുവടെ കാണുക).
  • രണ്ട് ഫയൽ സിസ്റ്റം നടപ്പിലാക്കലുകൾ ഒന്നിനെക്കാൾ മോശമാണ്. vFAT
    കൂടുതലോ കുറവോ യുഇഎഫ്ഐ നിർബന്ധമാക്കിയിട്ടുള്ളതും
    എല്ലാ കളിക്കാർക്കും സാർവത്രികമായി മനസ്സിലാക്കാവുന്ന ഒരേയൊരു ഫോർമാറ്റും ആയതിനാൽ, അത് എന്തായാലും ഉപയോഗിക്കേണ്ടി വരുന്നതിനാൽ, അത് ഉപയോഗിക്കുന്ന
    ഒരേയൊരു ഫയൽ സിസ്റ്റവും ആയിരിക്കാം.
  • ഡാറ്റാ സുരക്ഷ ഇതുവരെ അനാവശ്യമായി മോശമാണ്:
    ആക്‌സസ്സ് വളരെ
    നിയന്ത്രിച്ചിട്ടുണ്ടെങ്കിലും, ESP-യും ബൂട്ട് പാർട്ടീഷനും OS-ൽ നിന്ന് തുടർച്ചയായി മൗണ്ട് ചെയ്‌തിരിക്കുന്നു: അപ്‌ഡേറ്റ് സൈക്കിളുകൾക്ക് പുറത്ത് പ്രവേശനം സാധാരണയായി
    ആവശ്യമില്ല.
  • എല്ലാ പാർട്ടീഷനുകളും സ്വയമേവ കണ്ടെത്താവുന്ന/സ്വയം വിവരണാത്മകമായിരിക്കണം
  • യൂസർസ്‌പേസിലേക്ക് നെസ്റ്റഡ് മൗണ്ടുകളായി രണ്ട് പാർട്ടീഷനുകളും വെളിപ്പെടുത്തരുത്

കൂടുതൽ വ്യക്തമായി പറഞ്ഞാൽ, ഇതെല്ലാം സജ്ജീകരിക്കാനുള്ള ഒരു മികച്ച മാർഗം ഇതുപോലെയായിരിക്കുമെന്ന് ഞാൻ കരുതുന്നു:

  • സാധ്യമാകുമ്പോഴെല്ലാം, ഒരു ബൂട്ട് പാർട്ടീഷൻ മാത്രം , രണ്ടല്ല. EFI
    സിസ്റ്റങ്ങളിൽ, അതിനെ ESP ആക്കുക. EFI ഇതര സിസ്റ്റങ്ങളിൽ പകരം ഒരു XBOOTLDR
    പാർട്ടീഷൻ ഉപയോഗിക്കുക (ചുവടെ കാണുക). മതിയായ കേർണലുകൾ/initrds വഹിക്കാൻ കഴിയാത്തത്ര ചെറുതായ ESP
    ഉള്ള ഒരു OS ഇതിനകം അടങ്ങിയിരിക്കുന്ന ഒരു സിസ്റ്റത്തിൽ ഒരു Linux OS ഇൻസ്റ്റാൾ ചെയ്ത സാഹചര്യത്തിൽ മാത്രം ഇവ രണ്ടും ഉണ്ടായിരിക്കുക .
    ഒരു
    സിസ്റ്റത്തിൽ ഒരു XBOOTLDR പാർട്ടീഷൻ അടങ്ങിയിരിക്കുമ്പോൾ അതിൽ കേർണലുകൾ/initrd ഇടുക,
    അല്ലാത്തപക്ഷം ESP.
  • അവ്യക്തമായി നിർവചിച്ചിരിക്കുന്ന, പരമ്പരാഗത ലിനക്സ് “ബൂട്ട്” പാർട്ടീഷൻ , കണ്ടെത്താവുന്ന പാർട്ടീഷനുകൾ സ്പെസിഫിക്കേഷൻ നിർവചിച്ചിരിക്കുന്ന XBOOTLDR
    പാർട്ടീഷൻ തരം ഉപയോഗിക്കുക . പാർട്ടീഷൻ കണ്ടെത്താനാകുന്നതാണെന്ന് ഇത് ഉറപ്പാക്കുന്നു, കൂടാതെ ഇത് പോലെയുള്ള കാര്യങ്ങൾക്ക് സ്വയമേവ മൌണ്ട് ചെയ്യാവുന്നതാണ് . നിങ്ങൾക്ക് ആവശ്യമുണ്ടെങ്കിൽ മാത്രം XBOOTLDR ഉപയോഗിക്കുക , അതായത്, യുഇഎഫ്ഐ ഇല്ലാത്ത (ഇഎസ്പിക്ക് മൂല്യമില്ലാത്ത) സിസ്റ്റങ്ങളുമായി ഇടപെടുമ്പോൾ അല്ലെങ്കിൽ ഇഎസ്പിയുമായി സൂചിപ്പിച്ച വലുപ്പത്തിലുള്ള പ്രശ്നങ്ങൾ പരിഹരിക്കുക. പരമ്പരാഗത ബൂട്ട് പാർട്ടീഷനിൽ നിന്ന് വ്യത്യസ്തമായി XBOOTLDR പാർട്ടീഷൻ ഒരു പങ്കിട്ട ഉറവിടമാണ്, അതായത്, ഒരേ ഡിസ്കിലെ ഒന്നിലധികം സമാന്തര ലിനക്സ് OS ഇൻസ്റ്റാളേഷനുകൾക്കിടയിൽ പങ്കിടുന്നു . ഇക്കാരണത്താൽ, വൈരുദ്ധ്യങ്ങൾ ഒഴിവാക്കാൻ XBOOTLDR ഫയൽ സിസ്റ്റത്തിന്റെ മുകളിൽ ഓരോ OS ഡയറക്‌ടറി സ്ഥാപിക്കുന്നത് സാധാരണമാണ്.

    systemd-gpt-auto-generator

  • രണ്ട് പാർട്ടീഷനുകൾക്കും vFAT ഉപയോഗിക്കുക ,
    പ്രസക്തമായ ഫേംവെയറുകളിലും ലിനക്സിലും സാർവത്രികമായി മനസ്സിലാക്കിയ ഒരേയൊരു കാര്യം ഇതാണ് .
    വിശ്വസനീയമല്ലാത്ത സംഭരണത്തിന് ഉപയോഗപ്രദമാകാൻ ഇത് വളരെ ലളിതമാണ്. അല്ലെങ്കിൽ ഇത്
    വ്യത്യസ്തമായി പറയാം: റോഗ് ഡിസ്ക് ഇമേജുകൾക്ക് എളുപ്പത്തിൽ ഇരയാകാത്ത ഒരു ഫയൽ സിസ്റ്റം ഡ്രൈവർ എഴുതുന്നത് , നമുക്ക് btrfs
    എന്നതിനേക്കാൾ വളരെ എളുപ്പമാണ് vFAT .
    – എന്നാൽ vFAT-ന്റെ തിരഞ്ഞെടുപ്പ് സൂചിപ്പിക്കുന്നത്
    , അത് കൊണ്ടുവരുന്ന ഡാറ്റാ സുരക്ഷാ പ്രശ്‌നങ്ങൾ പരിഹരിക്കുന്നതിന് കുറച്ച് ശ്രദ്ധ ആവശ്യമാണ്, ചുവടെ കാണുക.
  • ” ഓട്ടോമൌണ്ട്
    ലോജിക് വഴി രണ്ട് പാർട്ടീഷനുകളും മൌണ്ട് ചെയ്യുക . ഉദാഹരണത്തിന്, systemd-ന്റെ
    ഓട്ടോമൗണ്ട്
    യൂണിറ്റുകൾ വഴി, വളരെ ചെറിയ നിഷ്‌ക്രിയ സമയം (ഒരു സെക്കൻഡ് അല്ലെങ്കിൽ അതിൽ കൂടുതൽ). ഇത്
    ഡാറ്റാ സുരക്ഷയെ വളരെയധികം മെച്ചപ്പെടുത്തുന്നു, കാരണം ഫയൽ സിസ്റ്റങ്ങൾ യഥാർത്ഥത്തിൽ ആക്‌സസ് ചെയ്യപ്പെടുമ്പോൾ വളരെ ചുരുങ്ങിയ സമയത്തേക്ക്
    മാത്രമേ അവ മൗണ്ട് ചെയ്യപ്പെടുകയുള്ളൂ (അങ്ങനെ ഒരു “വൃത്തികെട്ട” അവസ്ഥയിൽ) . ഫയൽ സിസ്റ്റം പാത്തുകൾ തുടർച്ചയായി നിലനിൽക്കുന്നതിനാൽ ആപ്ലിക്കേഷനുകൾക്ക് ഇത് മിക്കവാറും ശ്രദ്ധിക്കപ്പെടില്ല. ബാക്കിംഗ് ഫയൽ സിസ്റ്റത്തിന് (vFAT) മോശം ഡാറ്റ സുരക്ഷാ പ്രോപ്പർട്ടികൾ ഉള്ളതിനാൽ , അശുദ്ധമായ ഫയൽ സിസ്റ്റം അവസ്ഥയ്ക്കുള്ള ആക്സസ് പരമാവധി കുറയ്ക്കേണ്ടത് അത്യാവശ്യമാണ് . വാസ്തവത്തിൽ, മേൽപ്പറഞ്ഞ യുക്തി യഥാർത്ഥത്തിൽ സ്ഥിരസ്ഥിതിയായി ചെയ്യുന്നത് ഇതാണ്.

    systemd-gpt-auto-generator

  • രണ്ട് പാർട്ടീഷനുകളിൽ ഒരെണ്ണം മൌണ്ട് ചെയ്യുമ്പോഴെല്ലാം, ഒരു ഫയൽ സിസ്റ്റം ചെക്ക് ചെയ്യുക
    ( fsck ; യഥാർത്ഥത്തിൽ , ഓട്ടോമൗണ്ട് ലോജിക്കിലേക്ക് ഹുക്ക് ചെയ്‌തിരിക്കുന്ന, ആദ്യ ആക്‌സസ്സിൽ പ്രവർത്തിക്കുന്നതിന്,
    systemd-gpt-auto-generatorസ്ഥിരസ്ഥിതിയായി ഇതും ചെയ്യുന്നു). ഫയൽ സിസ്റ്റം വൃത്തിഹീനമായ അവസ്ഥയിലാണെങ്കിൽപ്പോലും , ആവശ്യമുള്ളപ്പോൾ, അതായത്, ആദ്യ ആക്‌സസ്സിൽ, അത് വൃത്തിയായി പുനഃസ്ഥാപിക്കപ്പെടുമെന്ന്
    ഇത് ഉറപ്പാക്കുന്നു .
  • നെസ്റ്റഡ് രണ്ട് പാർട്ടീഷനുകൾ മൌണ്ട് ചെയ്യരുത് , അതായത്, ഇനി
    വേണ്ട /boot/efi/. ഒന്നാമതായി, മുകളിൽ സൂചിപ്പിച്ചതുപോലെ, രണ്ടിലൊന്ന്
    മാത്രമേ സാധ്യമാകൂ (അത് അഭികാമ്യമാണ്) .
    അതിനാൽ, അത്
    മൌണ്ട് ചെയ്യാൻ കഴിയുന്നതിന് മറ്റൊന്നും ആവശ്യപ്പെടുന്നത് ഒരു മോശം ആശയമാണ്. അതിലും പ്രധാനമായി, അവയെ നെസ്റ്റിംഗ് ചെയ്യുന്നതിലൂടെ, ഓട്ടോമൗണ്ടിംഗ് സങ്കീർണ്ണമാണ്, കാരണം രണ്ടാമത്തെ ഓട്ടോമൗണ്ട് സ്ഥാപിക്കുന്നതിന് ആദ്യത്തെ ഓട്ടോമൗണ്ട്
    ട്രിഗർ ചെയ്യേണ്ടത് അത്യാവശ്യമാണ് , ഇത് ഓട്ടോമൗണ്ടിംഗ് പോയിന്റിനെ ആദ്യം പരാജയപ്പെടുത്തുന്നു. പകരം രണ്ട് വ്യത്യസ്ത മൌണ്ട് പോയിന്റുകളും (ഇഎസ്പിക്ക്) (XBOOTLDR-ന്) ഉപയോഗിക്കുക. നിങ്ങൾ ഊഹിച്ചിരിക്കാം, പക്ഷേ അതും സ്ഥിരസ്ഥിതിയായി ചെയ്യുന്നത് .

    /efi/
    /boot/
    systemd-gpt-auto-generator

  • OS-ൽ നിന്ന് ESP/XBOOTLDR-ലേക്ക് കൂട്ടിച്ചേർക്കലുകളോ അപ്‌ഡേറ്റുകളോ നടത്തുമ്പോൾ,
    ഒരു ഫയൽ സൃഷ്‌ടിച്ച് അത് പൂർണ്ണമായി എഴുതുന്നത് ഉറപ്പാക്കുക, തുടർന്ന് മുഴുവൻ ഫയൽ സിസ്റ്റവും, തുടർന്ന് അതിന്റെ അവസാന നാമം
    syncfs()നൽകുന്നതിന് പേരുമാറ്റുക, തുടർന്ന് വീണ്ടും. ഫയലുകൾ നീക്കം ചെയ്യുമ്പോൾ സമാനമാണ് .
    syncfs()
  • ബൂട്ട് ലോഡർ എൻവയോൺമെന്റ്/UEFI-ൽ നിന്ന് ESP/XBOOTLDR-ലേക്ക് എഴുതുമ്പോൾ,
    ഫയലുകളിലേക്ക് കൂട്ടിച്ചേർക്കുകയോ പുതിയ ഫയലുകൾ സൃഷ്ടിക്കുകയോ ചെയ്യരുത്. പകരം
    ഇതിനകം അനുവദിച്ച ഫയൽ ഉള്ളടക്കങ്ങൾ (ഉദാഹരണത്തിന് ഒരു ക്രമരഹിത
    സീഡ് ഫയൽ നിലനിർത്തുന്നതിന്) തിരുത്തിയെഴുതുക അല്ലെങ്കിൽ ഫയൽ നാമത്തിൽ വിവരങ്ങൾ ഉൾപ്പെടുത്തുന്നതിന് ഇതിനകം അനുവദിച്ച ഫയലുകളുടെ പേരുമാറ്റുക
    (കൂടാതെ ഫയലിന്റെ പേര്
    ദൈർഘ്യം വർദ്ധിപ്പിക്കരുത്; ഉദാഹരണത്തിന് ബൂട്ട് കൗണ്ടറുകൾ പരിപാലിക്കുന്നതിന്).
  • OS/കേർണൽ അപ്‌ഡേറ്റുകൾക്കിടയിൽ ESP/XBOOTLDR-ൽ അപ്‌ഡേറ്റ് ചെയ്യേണ്ട ഫയലുകളുടെ എണ്ണം കുറയ്ക്കുന്ന
    UKI-കൾ സ്വീകരിക്കുന്നത് പരിഗണിക്കുക (ഏറ്റവും മികച്ചത് 1 വരെ)
  • സ്വീകരിക്കുന്നത് പരിഗണിക്കുക
    systemd-boot,
    ഇത് ബൂട്ട് ലോഡർ അപ്‌ഡേറ്റുകളിൽ അപ്‌ഡേറ്റ് ചെയ്യേണ്ട ഫയലുകളുടെ എണ്ണം കുറയ്ക്കുന്നു
    (അനുയോജ്യമായത് 1 വരെ)
  • എന്നതിൽ നിന്ന് ESP/XBOOTLDR-നെ കുറിച്ചുള്ള ഏതെങ്കിലും പരാമർശം നീക്കം ചെയ്യുന്നത് പരിഗണിക്കുക , അതിന്റെ കാര്യം
    /etc/fstabചെയ്യട്ടെ .
    systemd-gpt-auto-generator
  • നിങ്ങളുടെ ബൂട്ട് ലോഡറിൽ ഫയൽ സിസ്റ്റങ്ങൾ, കോംപ്ലക്സ് സ്റ്റോറേജ്, ഡിസ്ക് എൻക്രിപ്ഷൻ, … എന്നിവ നടപ്പിലാക്കുന്നത് നിർത്തുക .

ഇതുപോലുള്ള കാര്യങ്ങൾ നടപ്പിലാക്കുന്നത് നിങ്ങൾ നേടുന്നു:

  • ലാളിത്യം : ഒരു ഫയൽ സിസ്റ്റം നടപ്പിലാക്കൽ മാത്രം, സാധാരണയായി
    ഒരു പാർട്ടീഷനും മൗണ്ട് പോയിന്റും മാത്രം
  • എല്ലാ പാർട്ടീഷനുകളുടെയും ശക്തമായ സ്വയമേവ കണ്ടെത്തൽ ,
    കോൺഫിഗർ ചെയ്യേണ്ടതില്ല/etc/fstab

  • സാഹചര്യങ്ങൾക്കനുസൃതമായി ഡാറ്റ സുരക്ഷിതത്വം കഴിയുന്നത്ര മികച്ചതായി ഉറപ്പുനൽകുന്നു

ഇത് ഒരു പട്ടികയിൽ സംഗ്രഹിക്കാൻ:

ടൈപ്പ് ചെയ്യുക ലിനക്സ് മൌണ്ട് പോയിന്റ് ഫയൽ സിസ്റ്റം ചോയ്സ് ഓട്ടോമൗണ്ട്
ഇ.എസ്.പി /efi/ vFAT അതെ
XBOOTLDR /boot/ vFAT അതെ

ബൂട്ട് ലോഡർ സ്പെസിഫിക്കേഷൻ നടപ്പിലാക്കുന്ന ആധുനിക ബൂട്ട് ലോഡറുകളെ കുറിച്ചുള്ള ഒരു കുറിപ്പ് : ടൈപ്പ് #1, ടൈപ്പ് #2 ബൂട്ട് മെനു എൻട്രികൾക്കുള്ള
ഉറവിടങ്ങളായി രണ്ട് പാർട്ടീഷനുകളും സ്പെസിഫിക്കേഷനിൽ വ്യക്തമായി പട്ടികപ്പെടുത്തിയിട്ടുണ്ട് .
അതിനാൽ, നിങ്ങൾ
ഒരു ആധുനിക ബൂട്ട് ലോഡർ (ഉദാ: systemd-boot) ഉപയോഗിക്കുകയാണെങ്കിൽ, ഈ രണ്ട് പാർട്ടീഷനുകളും
ബൂട്ട് ലോഡർ റിസോഴ്സുകൾ, കേർണലുകൾ, initrds എന്നിവയ്ക്കായുള്ള മുൻഗണനാ ലൊക്കേഷനാണ്
.

അനുബന്ധം: നിങ്ങൾക്ക് റെയിഡ് ലഭിച്ചോ?

RAID സജ്ജീകരണങ്ങളെക്കുറിച്ചും ESP യെക്കുറിച്ചും നിങ്ങൾ ചിന്തിച്ചേക്കാം. ഇത് പതിവായി ചർച്ചകളിൽ ഉയർന്നുവരുന്നു : ESP-യിൽ (സോഫ്റ്റ്‌വെയർ) RAID1 (മിററിംഗ്)
എങ്ങനെ സജ്ജീകരിക്കാം .
ചെറിയ കഥ: ESP-യിൽ RAID ഉപയോഗിക്കുന്നതിനെതിരെ ഞാൻ
ശക്തമായി ഉപദേശിക്കുന്നു. ഫേംവെയറിന് സാധാരണയായി
നേറ്റീവ് റെയിഡ് പിന്തുണയില്ല, കൂടാതെ ഫേംവെയറിനും ബൂട്ട്
ലോഡറിനും ഉൾപ്പെട്ടിരിക്കുന്ന ഫയൽ സിസ്റ്റങ്ങളിലേക്ക് എഴുതാൻ കഴിയും എന്നതിനാൽ,
സോഫ്റ്റ്‌വെയർ റെയ്‌ഡ് അവയിൽ ഉപയോഗിക്കാനുള്ള ഏതൊരു ശ്രമവും അർത്ഥമാക്കുന്നത് ഒരു ബൂട്ട് സൈക്കിൾ
റെയ്‌ഡ് സമന്വയത്തെ തകരാറിലാക്കിയേക്കാം, ഉടൻ തന്നെ ഒരു പുനഃക്രമീകരണം ആവശ്യമാണ്. -ബൂട്ടിന് ശേഷം സിൻക്രൊണൈസേഷൻ
. ESP-യ്‌ക്കുള്ള RAID1 പിന്തുണ ശരിക്കും ആവശ്യമാണെങ്കിൽ,
അത് സുരക്ഷിതമായി നടപ്പിലാക്കാനുള്ള ഒരേയൊരു മാർഗ്ഗം
UEFI-യുടെ ഡ്രൈവറായി ഇത് നടപ്പിലാക്കുക എന്നതാണ് – എന്നാൽ ഇത് ചില ബൂട്ട്‌സ്‌ട്രാപ്പിംഗ് പ്രശ്‌നങ്ങൾ സൃഷ്ടിക്കുന്നു (അതായത്,
ESP, ഫയൽ സിസ്റ്റമല്ലെങ്കിൽ ഡ്രൈവർ എവിടെ സ്ഥാപിക്കണം. ഡ്രൈവർ ഇതിനായി
ഉപയോഗിക്കേണ്ടതാണ്), കൂടാതെ
OS സ്റ്റോറേജ് സ്റ്റാക്കിന്റെ ഗണ്യമായ ഒരു ഘടകം ഫേംവെയർ മോഡിൽ പുനഃസ്ഥാപിക്കുന്നു, ഇത് പ്രശ്നമാണെന്ന് തോന്നുന്നു. അപ്പോൾ പകരം എന്ത് ചെയ്യണം?
യൂസർസ്‌പേസ് ടൂളിംഗ് വഴി ഇത് പരിഹരിക്കാനാണ് എന്റെ ശുപാർശ . ESP- യ്‌ക്ക് അനാവശ്യ ഡിസ്‌ക് പിന്തുണ നടപ്പിലാക്കുകയാണെങ്കിൽ,
എല്ലാ ഡിസ്‌കുകളിലും വെവ്വേറെ ESP-കൾ സൃഷ്‌ടിക്കുകയും
ബ്ലോക്ക് ലെവലിന് പകരം ഫയൽ സിസ്റ്റം തലത്തിൽ സമന്വയിപ്പിക്കുകയും ചെയ്യുക. അല്ലെങ്കിൽ മറ്റൊരു
വിധത്തിൽ പറഞ്ഞാൽ, കേർണലുകളോ ബൂട്ട് ലോഡറുകളോ ഇൻസ്റ്റോൾ ചെയ്യുന്ന/അപ്‌ഡേറ്റ് ചെയ്യുന്ന/മാനേജ് ചെയ്യുന്ന ടൂളുകൾ
ഒന്നിന് പകരം ഒന്നിലധികം ESP-കൾ നിലനിർത്താൻ പഠിപ്പിക്കണം. കേർണലുകൾ/ബൂട്ട് ലോഡർ ഫയലുകൾ അവയിലെല്ലാം പകർത്തി
അവയിൽ നിന്നെല്ലാം നീക്കം ചെയ്യുക
. റെയ്ഡിന്റെ ലക്ഷ്യം കൂടുതൽ വിശ്വസനീയമായ ഒരു
സിസ്റ്റമാണ് എന്ന അനുമാനത്തിൽ, അത് നേടാനുള്ള ഏറ്റവും നല്ല മാർഗമാണിത്, കാരണം
ഫേംവെയറിന് യഥാർത്ഥത്തിൽ ചെയ്യാൻ കഴിയാത്ത കാര്യങ്ങൾ ചെയ്യാൻ കഴിയുമെന്ന് ഇത് നടിക്കുന്നില്ല. മാത്രമല്ല
, ഇത് ബൂട്ട് ലോഡറിന്റെ സങ്കീർണ്ണത കുറയ്ക്കുന്നു, സമന്വയ
ലോജിക് ഉപയോക്തൃസ്‌പേസിലേക്ക് മാറ്റുന്നു, അവിടെ ഇത് ശരിയാക്കാൻ എളുപ്പമാണ്.

അനുബന്ധം: നെറ്റ്‌വർക്കുചെയ്‌ത ബൂട്ട്

മുകളിലെ ചർച്ച ഒരു ലോക്കൽ ഡിസ്കിൽ നിന്ന് ബൂട്ട് ചെയ്യുന്നതിലാണ് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത്. നെറ്റ്‌വർക്കുചെയ്‌ത ബൂട്ടിനെക്കുറിച്ച് ചിന്തിക്കുമ്പോൾ
രണ്ട് സാഹചര്യങ്ങൾ പ്രത്യേകിച്ചും
പ്രസക്തമാണെന്ന് ഞാൻ കരുതുന്നു:

  1. PXE-സ്റ്റൈൽ നെറ്റ്‌വർക്ക് ബൂട്ടിംഗ്. ഈ പ്രവർത്തനരീതിയിൽ ബൂട്ട് ലോഡറിന്
    പകരം ഒരൊറ്റ യുകെഐ ഇമേജ് നേരിട്ട് ബൂട്ട് ചെയ്യുന്നതിലാണ് ശ്രദ്ധ കേന്ദ്രീകരിക്കേണ്ടതെന്ന് ഞാൻ കരുതുന്നു .
    ഇത് ഏതെങ്കിലും ബൂട്ട് പാർട്ടീഷൻ പരിപാലിക്കുന്നതിനുള്ള മുഴുവൻ പ്രശ്നത്തെയും ഒഴിവാക്കുന്നു
    , കൂടാതെ ബൂട്ട് പ്രക്രിയയെ വളരെ ലളിതമാക്കുന്നു. ഇത് മതിയാകാത്ത
    സാഹചര്യങ്ങളിലും ഒരു ഇന്ററാക്ടീവ് ബൂട്ട്
    മെനുവോ മറ്റ് ബൂട്ട് ലോഡർ ഫീച്ചറുകളോ
    ആവശ്യമുണ്ടെങ്കിൽ, UKI ആശയത്തിൽ നിന്ന് പ്രചോദനം ഉൾക്കൊണ്ട് ഒരൊറ്റ
    ബൂട്ട് ലോഡർ EFI ബൈനറി (systemd-boot പോലുള്ളവ) നിർമ്മിക്കുന്നത് നല്ല ആശയമായിരിക്കും. , കൂടാതെ PE വിഭാഗങ്ങൾ
    വഴി ബൂട്ട് മെനു ഇനങ്ങൾക്കും അതിനുള്ളിലെ മറ്റ് ഉറവിടങ്ങൾക്കുമായി യുകെഐകൾ ഉൾപ്പെടുത്തുക .
    അല്ലെങ്കിൽ മറ്റൊരു രീതിയിൽ പറഞ്ഞാൽ,
    “സൂപ്പർചാർജ്ഡ്” ആയ ഒരു സിംഗിൾ ബൂട്ട് ലോഡർ ബൈനറി നിർമ്മിക്കുക
    . (ശ്രദ്ധിക്കുക: ഇത് നിലവിലില്ല,
    systemd-boot ഉപയോഗിച്ച് പര്യവേക്ഷണം ചെയ്യാൻ ഞാൻ ഉദ്ദേശിക്കുന്ന ഒരു ആശയമാണിത്). പ്രയോജനം: ഒരൊറ്റ ഫയൽ
    PXE/TFTP വഴി ഡൗൺലോഡ് ചെയ്യണം, കൂടുതലല്ല. പോരായ്മ: ഉപയോഗിക്കാത്ത വിഭവങ്ങൾ
    അനാവശ്യമായി ഡൗൺലോഡ് ചെയ്യുന്നു. ഏതുവിധേനയും : ഈ സന്ദർഭത്തിൽ
    പ്രാദേശിക സംഭരണം ഇല്ല, മുകളിലുള്ള ESP/XBOOTLDR ചർച്ചയ്ക്ക്
    പ്രസക്തിയില്ല.
  2. Initrd-സ്റ്റൈൽ നെറ്റ്‌വർക്ക് ബൂട്ടിംഗ്. ഈ സാഹചര്യത്തിൽ ബൂട്ട് ലോഡറും
    കേർണലും/initrd (മികച്ചത്: UKI) ഒരു ലോക്കൽ ഡിസ്കിൽ ലഭ്യമാണ്. പിന്നീട് initrd നെറ്റ്‌വർക്ക് കോൺഫിഗർ ചെയ്യുകയും റൂട്ട് ഫയൽ സിസ്റ്റത്തിനായുള്ള നെറ്റ്‌വർക്ക് ബ്ലോക്ക് ഉപകരണത്തിൽ നെറ്റ്‌വർക്ക് ഷെയറിലേക്കോ ഫയൽ സിസ്റ്റത്തിലേക്കോ
    മാറ്റുകയും ചെയ്യുന്നു . ഈ സാഹചര്യത്തിൽ മുകളിലുള്ള ചർച്ച ബാധകമാണ്, വാസ്തവത്തിൽ ഡിസ്കിൽ പ്രാദേശികമായി ലഭ്യമായ ഏക പാർട്ടീഷൻ ESP അല്ലെങ്കിൽ XBOOTLDR പാർട്ടീഷൻ ആയിരിക്കും .

ഇന്നെനിക്ക് ഇത്രയേ ഉള്ളൂ. Linux കോൺഫിഗർ ചെയ്യുന്നതിനും സ്റ്റാർട്ടപ്പ് പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിനും Linux ബൂട്ട്, സ്റ്റാർട്ടപ്പ് പ്രക്രിയകൾ മനസ്സിലാക്കുന്നത് പ്രധാനമാണ്. ഈ ലേഖനം GRUB2 ബൂട്ട്ലോഡർ ഉപയോഗിച്ചുള്ള ബൂട്ടപ്പ് സീക്വൻസിൻറെയും systemd ഇനീഷ്യലൈസേഷൻ സിസ്റ്റം നടത്തുന്ന സ്റ്റാർട്ടപ്പ് സീക്വൻസിൻറെയും ഒരു അവലോകനം അവതരിപ്പിക്കുന്നു. വാസ്തവത്തിൽ, ഒരു ലിനക്സ് കമ്പ്യൂട്ടർ ബൂട്ട് ചെയ്യുന്നതിനും അത് ഉപയോഗയോഗ്യമാക്കുന്നതിനും രണ്ട് സംഭവങ്ങളുടെ ക്രമം ആവശ്യമാണ്: ബൂട്ട് , സ്റ്റാർട്ടപ്പ് . കമ്പ്യൂട്ടർ ഓൺ ചെയ്യുമ്പോൾ ബൂട്ട് സീക്വൻസ് ആരംഭിക്കുന്നു, കൂടാതെ കേർണൽ ആരംഭിച്ച് systemd സമാരംഭിക്കുമ്പോൾ പൂർത്തിയാകും. ലിനക്സ് കമ്പ്യൂട്ടറിനെ ഒരു പ്രവർത്തന നിലയിലാക്കാനുള്ള ചുമതല സ്റ്റാർട്ടപ്പ് പ്രോസസ്സ് ഏറ്റെടുക്കുകയും പൂർത്തിയാക്കുകയും ചെയ്യുന്നു. മൊത്തത്തിൽ, Linux ബൂട്ടും സ്റ്റാർട്ടപ്പ് പ്രക്രിയയും മനസ്സിലാക്കാൻ വളരെ ലളിതമാണ്. ഇത് ഇനിപ്പറയുന്ന ഘട്ടങ്ങൾ ഉൾക്കൊള്ളുന്നു, അത് ഇനിപ്പറയുന്ന വിഭാഗങ്ങളിൽ കൂടുതൽ വിശദമായി വിവരിക്കും.

  • ബയോസ് പോസ്റ്റ്
  • ബൂട്ട് ലോഡർ (GRUB2)
  • കേർണൽ സമാരംഭം
  • എല്ലാ പ്രക്രിയകളുടെയും പാരന്റ് ആയ systemd ആരംഭിക്കുക.

ഈ ലേഖനം GRUB2, systemd എന്നിവ ഉൾക്കൊള്ളുന്നു, കാരണം അവ മിക്ക പ്രധാന വിതരണങ്ങൾക്കുമുള്ള നിലവിലെ ബൂട്ട് ലോഡറും ഇനീഷ്യലൈസേഷൻ സോഫ്റ്റ്‌വെയറുമാണ്. മറ്റ് സോഫ്‌റ്റ്‌വെയർ ഓപ്ഷനുകൾ ചരിത്രപരമായി ഉപയോഗിച്ചിട്ടുണ്ട്, അവ ഇപ്പോഴും ചില വിതരണങ്ങളിൽ കാണപ്പെടുന്നു.

ബൂട്ട് പ്രക്രിയ

രണ്ട് വഴികളിൽ ഒന്നിൽ ബൂട്ട് പ്രക്രിയ ആരംഭിക്കാവുന്നതാണ്. ആദ്യം, പവർ ഓഫ് ചെയ്താൽ, പവർ ഓണാക്കിയാൽ ബൂട്ട് പ്രക്രിയ ആരംഭിക്കും. കമ്പ്യൂട്ടർ ഇതിനകം ഒരു പ്രാദേശിക ഉപയോക്താവിനെ പ്രവർത്തിപ്പിക്കുന്നുണ്ടെങ്കിൽ, റൂട്ട് അല്ലെങ്കിൽ ഒരു പ്രത്യേകാവകാശമില്ലാത്ത ഉപയോക്താവ് ഉൾപ്പെടെ, ഒരു റീബൂട്ട് ആരംഭിക്കുന്നതിന് ഉപയോക്താവിന് GUI അല്ലെങ്കിൽ കമാൻഡ് ലൈൻ ഉപയോഗിച്ച് ബൂട്ട് സീക്വൻസ് പ്രോഗ്രാം ചെയ്യാൻ കഴിയും. ഒരു റീബൂട്ട് ആദ്യം ഒരു ഷട്ട്ഡൗൺ ചെയ്യുകയും തുടർന്ന് കമ്പ്യൂട്ടർ പുനരാരംഭിക്കുകയും ചെയ്യും.

ബയോസ് പോസ്റ്റ്

Linux ബൂട്ട് പ്രക്രിയയുടെ ആദ്യ ഘട്ടത്തിന് ലിനക്സുമായി യാതൊരു ബന്ധവുമില്ല. ബൂട്ട് പ്രക്രിയയുടെ ഹാർഡ്‌വെയർ ഭാഗമാണിത്, ഏത് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിനും ഇത് സമാനമാണ്. കമ്പ്യൂട്ടറിൽ ആദ്യം പവർ പ്രയോഗിക്കുമ്പോൾ അത് ബയോസിന്റെ (ബേസിക് ഐ/ഒ സിസ്റ്റം) ഭാഗമായ POST (പവർ ഓൺ സെൽഫ് ടെസ്റ്റ്) പ്രവർത്തിപ്പിക്കുന്നു. 1981-ൽ ഐബിഎം ആദ്യത്തെ പിസി രൂപകൽപന ചെയ്തപ്പോൾ, ഹാർഡ്‌വെയർ ഘടകങ്ങൾ ആരംഭിക്കുന്നതിനാണ് ബയോസ് രൂപകൽപ്പന ചെയ്തത്. കമ്പ്യൂട്ടർ ഹാർഡ്‌വെയർ ശരിയായി പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക എന്നതാണ് ബയോസിന്റെ ഭാഗമാണ് POST. POST പരാജയപ്പെടുകയാണെങ്കിൽ, കമ്പ്യൂട്ടർ ഉപയോഗിക്കാനാകില്ല, അതിനാൽ ബൂട്ട് പ്രക്രിയ തുടരില്ല. BIOS POST ഹാർഡ്‌വെയറിന്റെ അടിസ്ഥാന പ്രവർത്തനക്ഷമത പരിശോധിക്കുന്നു, തുടർന്ന് അത് ഒരു BIOS ഇന്ററപ്റ്റ് നൽകുന്നു, INT 13H, അത് ഘടിപ്പിച്ചിട്ടുള്ള ഏതെങ്കിലും ബൂട്ട് ചെയ്യാവുന്ന ഉപകരണങ്ങളിൽ ബൂട്ട് സെക്ടറുകൾ കണ്ടെത്തുന്നു. സാധുവായ ബൂട്ട് റെക്കോർഡ് ഉൾക്കൊള്ളുന്ന ആദ്യത്തെ ബൂട്ട് സെക്ടർ റാമിലേക്ക് ലോഡുചെയ്യുകയും നിയന്ത്രണം ബൂട്ട് സെക്ടറിൽ നിന്ന് ലോഡ് ചെയ്ത കോഡിലേക്ക് മാറ്റുകയും ചെയ്യുന്നു. ബൂട്ട് സെക്ടർ ശരിക്കും ബൂട്ട് ലോഡറിന്റെ ആദ്യ ഘട്ടമാണ്. മിക്ക ലിനക്സ് വിതരണങ്ങളും ഉപയോഗിക്കുന്ന മൂന്ന് ബൂട്ട് ലോഡറുകൾ ഉണ്ട്, GRUB, GRUB2, LILO. GRUB2 ഏറ്റവും പുതിയതാണ്, മറ്റ് പഴയ ഓപ്ഷനുകളേക്കാൾ ഈ ദിവസങ്ങളിൽ ഇത് പതിവായി ഉപയോഗിക്കുന്നു.

GRUB2

GRUB2 എന്നത് “GRand യൂണിഫൈഡ് ബൂട്ട്ലോഡർ, പതിപ്പ് 2” എന്നതിന്റെ ചുരുക്കപ്പേരാണ്, ഇത് ഇപ്പോൾ നിലവിലുള്ള മിക്ക ലിനക്സ് വിതരണങ്ങളുടെയും പ്രാഥമിക ബൂട്ട്ലോഡറാണ്. GRUB2 എന്നത് കംപ്യൂട്ടറിനെ സ്മാർട് ആക്കുന്ന പ്രോഗ്രാമാണ്, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം കേർണൽ കണ്ടെത്താനും അത് മെമ്മറിയിലേക്ക് ലോഡ് ചെയ്യാനും കഴിയും. GRUB2 എന്നതിനേക്കാൾ GRUB എഴുതാനും പറയാനും എളുപ്പമായതിനാൽ, ഈ പ്രമാണത്തിൽ ഞാൻ GRUB എന്ന പദം ഉപയോഗിച്ചേക്കാം, എന്നാൽ മറ്റുവിധത്തിൽ വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ ഞാൻ GRUB2-നെയാണ് പരാമർശിക്കുന്നത്. ലിനക്‌സിന്റെയും മറ്റ് സ്വതന്ത്ര ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളുടെയും പല പതിപ്പുകളും ബൂട്ട് ചെയ്യാൻ GRUB-നെ അനുവദിക്കുന്ന മൾട്ടിബൂട്ട് സ്പെസിഫിക്കേഷനുമായി പൊരുത്തപ്പെടുന്ന തരത്തിലാണ് GRUB രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് പ്രൊപ്രൈറ്ററി ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളുടെ ബൂട്ട് റെക്കോർഡ് ചെയിൻ ലോഡ് ചെയ്യാനും ഇതിന് കഴിയും. തന്നിരിക്കുന്ന ലിനക്സ് വിതരണത്തിനായി വിവിധ കേർണലുകളിൽ നിന്ന് ബൂട്ട് ചെയ്യാൻ ഉപയോക്താവിനെ അനുവദിക്കാനും GRUB-ന് കഴിയും. അപ്‌ഡേറ്റ് ചെയ്‌ത ഒന്ന് എങ്ങനെയെങ്കിലും പരാജയപ്പെടുകയോ അല്ലെങ്കിൽ പ്രധാനപ്പെട്ട ഒരു സോഫ്‌റ്റ്‌വെയറുമായി പൊരുത്തപ്പെടുന്നില്ലെങ്കിലോ മുൻ കേർണൽ പതിപ്പിലേക്ക് ബൂട്ട് ചെയ്യാനുള്ള കഴിവ് ഇത് നൽകുന്നു. /boot/grub/grub.conf ഫയൽ ഉപയോഗിച്ച് GRUB ക്രമീകരിക്കാം. GRUB1 ഇപ്പോൾ പാരമ്പര്യമായി കണക്കാക്കപ്പെടുന്നു, കൂടാതെ മിക്ക ആധുനിക വിതരണങ്ങളിലും GRUB2 ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിച്ചിട്ടുണ്ട്, ഇത് GRUB1 ന്റെ പുനരാലേഖനമാണ്. Red Hat അടിസ്ഥാനത്തിലുള്ള ഡിസ്ട്രോകൾ ഫെഡോറ 15-നും CentOS/RHEL 7-നും ചുറ്റും GRUB2-ലേക്ക് നവീകരിച്ചു. GRUB1-ന്റെ അതേ ബൂട്ട് പ്രവർത്തനക്ഷമത GRUB2 നൽകുന്നു, എന്നാൽ GRUB2 ഒരു മെയിൻഫ്രെയിം പോലെയുള്ള കമാൻഡ്-അടിസ്ഥാനത്തിലുള്ള പ്രീ-ഓഎസ് എൻവയോൺമെന്റ് കൂടിയാണ്, കൂടാതെ പ്രീ-ബൂട്ട് ഘട്ടത്തിൽ കൂടുതൽ ഫ്ലെക്സിബിലിറ്റി അനുവദിക്കുന്നു. GRUB2 /boot/grub2/grub.cfg ഉപയോഗിച്ച് ക്രമീകരിച്ചിരിക്കുന്നു. ഒന്നുകിൽ GRUB-ന്റെ പ്രാഥമിക പ്രവർത്തനം ലിനക്സ് കേർണൽ മെമ്മറിയിലേക്കും പ്രവർത്തിപ്പിക്കാനും ലഭ്യമാക്കുക എന്നതാണ്. GRUB-ന്റെ രണ്ട് പതിപ്പുകളും ഒരേ രീതിയിൽ പ്രവർത്തിക്കുന്നു, ഒരേ മൂന്ന് ഘട്ടങ്ങളാണുള്ളത്, എന്നാൽ GRUB അതിന്റെ ജോലി എങ്ങനെ ചെയ്യുന്നു എന്നതിനെക്കുറിച്ചുള്ള ഈ ചർച്ചയ്ക്കായി ഞാൻ GRUB2 ഉപയോഗിക്കും. GRUB അല്ലെങ്കിൽ GRUB2-ന്റെ കോൺഫിഗറേഷനും GRUB2 കമാൻഡുകളുടെ ഉപയോഗവും ഈ ലേഖനത്തിന്റെ പരിധിക്ക് പുറത്താണ്. GRUB2 ഔദ്യോഗികമായി GRUB2 ന്റെ മൂന്ന് ഘട്ടങ്ങൾക്കായി സ്റ്റേജ് നോട്ടേഷൻ ഉപയോഗിക്കുന്നില്ലെങ്കിലും, അവയെ ആ രീതിയിൽ പരാമർശിക്കുന്നത് സൗകര്യപ്രദമാണ്, അതിനാൽ ഞാൻ ഈ ലേഖനത്തിൽ പറയും.

ഘട്ടം 1

BIOS POST വിഭാഗത്തിൽ സൂചിപ്പിച്ചിരിക്കുന്നതുപോലെ, POST-ന്റെ അവസാനം, BIOS ഒരു ബൂട്ട് റെക്കോർഡിനായി അറ്റാച്ച് ചെയ്ത ഡിസ്കുകൾ തിരയുന്നു, സാധാരണയായി Master Boot Record-ൽ (MBR) സ്ഥിതിചെയ്യുന്നു, അത് ആദ്യം കണ്ടെത്തുന്നത് മെമ്മറിയിലേക്ക് ലോഡുചെയ്യുകയും തുടർന്ന് അത് നടപ്പിലാക്കുകയും ചെയ്യുന്നു. ബൂട്ട് റെക്കോർഡ്. ബൂട്ട്സ്ട്രാപ്പ് കോഡ്, അതായത്, GRUB2 ഘട്ടം 1, വളരെ ചെറുതാണ്, കാരണം അത് പാർട്ടീഷൻ ടേബിളിനൊപ്പം ഹാർഡ് ഡ്രൈവിലെ ആദ്യത്തെ 512-ബൈറ്റ് സെക്ടറിലേക്ക് യോജിപ്പിക്കണം. ഒരു ക്ലാസിക് ജനറിക് MBR-ൽ യഥാർത്ഥ ബൂട്ട്‌സ്‌ട്രാപ്പ് കോഡിനായി നീക്കിവച്ചിരിക്കുന്ന സ്ഥലത്തിന്റെ ആകെ തുക 446 ബൈറ്റുകളാണ്. ഘട്ടം 1-നുള്ള 446 ബൈറ്റ് ഫയലിന് boot.img എന്ന് പേരിട്ടിരിക്കുന്നു, കൂടാതെ ബൂട്ട് റെക്കോർഡിലേക്ക് പ്രത്യേകമായി ചേർത്ത പാർട്ടീഷൻ ടേബിൾ അടങ്ങിയിട്ടില്ല. ബൂട്ട് റെക്കോർഡ് വളരെ ചെറുതായിരിക്കണം എന്നതിനാൽ, അത് വളരെ സ്മാർട്ടല്ല, കൂടാതെ ഫയൽസിസ്റ്റം ഘടനകൾ മനസ്സിലാക്കുന്നില്ല. അതിനാൽ ഘട്ടം 1 ന്റെ ഏക ലക്ഷ്യം സ്റ്റേജ് 1.5 കണ്ടെത്തി ലോഡ് ചെയ്യുക എന്നതാണ്. ഇത് ചെയ്യുന്നതിന്, GRUB-ന്റെ ഘട്ടം 1.5 ബൂട്ട് റെക്കോർഡിനും ഡ്രൈവിലെ ആദ്യ പാർട്ടീഷനും ഇടയിലുള്ള സ്ഥലത്ത് സ്ഥിതിചെയ്യണം. GRUB ഘട്ടം 1.5 റാമിലേക്ക് ലോഡ് ചെയ്ത ശേഷം, സ്റ്റേജ് 1 നിയന്ത്രണം സ്റ്റേജ് 1.5 ലേക്ക് മാറ്റുന്നു.

ഘട്ടം 1.5

മുകളിൽ സൂചിപ്പിച്ചതുപോലെ, GRUB-ന്റെ ഘട്ടം 1.5 സ്ഥിതി ചെയ്യുന്നത് ബൂട്ട് റെക്കോർഡിനും ഡിസ്ക് ഡ്രൈവിലെ ആദ്യ പാർട്ടീഷനും ഇടയിലുള്ള സ്ഥലത്താണ്. സാങ്കേതിക കാരണങ്ങളാൽ ഈ സ്ഥലം ചരിത്രപരമായി ഉപയോഗിക്കാതെ വിട്ടുപോയി. ഹാർഡ് ഡ്രൈവിലെ ആദ്യ പാർട്ടീഷൻ സെക്ടർ 63-ലും സെക്ടർ 0-ലെ MBR-ലും ആരംഭിക്കുന്നു, അത് GRUB-ന്റെ ഘട്ടം 1.5 ആയ core.img ഫയൽ സംഭരിക്കുന്നതിന് 62 512-ബൈറ്റ് സെക്ടറുകൾ—31,744 ബൈറ്റുകൾ-ഇതിൽ അവശേഷിക്കുന്നു. core.img ഫയൽ 25,389 ബൈറ്റുകളാണ്, അതിനാൽ MBR-നും അത് സംഭരിക്കുന്ന ആദ്യത്തെ ഡിസ്ക് പാർട്ടീഷനും ഇടയിൽ ധാരാളം സ്ഥലം ലഭ്യമാണ്. ഘട്ടം 1.5-ന് ഉൾക്കൊള്ളാൻ കഴിയുന്ന വലിയ അളവിലുള്ള കോഡ് കാരണം, സാധാരണ EXT, മറ്റ് ലിനക്സ് ഫയൽസിസ്റ്റംസ്, FAT, NTFS എന്നിവ പോലെയുള്ള കുറച്ച് സാധാരണ ഫയൽസിസ്റ്റം ഡ്രൈവറുകൾ ഉൾക്കൊള്ളാൻ മതിയായ കോഡ് ഉണ്ടായിരിക്കും. GRUB2 core.img പഴയ GRUB1 ഘട്ടം 1.5 നേക്കാൾ സങ്കീർണ്ണവും കഴിവുള്ളതുമാണ്. ഇതിനർത്ഥം GRUB2-ന്റെ ഘട്ടം 2 ഒരു സാധാരണ EXT ഫയൽ സിസ്റ്റത്തിൽ സ്ഥിതിചെയ്യാമെങ്കിലും അത് ഒരു ലോജിക്കൽ വോള്യത്തിൽ സ്ഥാപിക്കാൻ കഴിയില്ല എന്നാണ്. അതിനാൽ സ്റ്റേജ് 2 ഫയലുകളുടെ സ്റ്റാൻഡേർഡ് ലൊക്കേഷൻ /boot ഫയൽസിസ്റ്റത്തിലാണ്, പ്രത്യേകിച്ച് /boot/grub2. /boot ഡയറക്‌ടറി GRUB പിന്തുണയ്ക്കുന്ന ഒരു ഫയൽ സിസ്റ്റത്തിലായിരിക്കണം എന്നത് ശ്രദ്ധിക്കുക. എല്ലാ ഫയൽ സിസ്റ്റങ്ങളും അങ്ങനെയല്ല. /boot ഫയൽസിസ്റ്റത്തിൽ സ്റ്റേജ് 2 ഫയലുകൾ കണ്ടെത്തുന്നതിനും ആവശ്യമായ ഡ്രൈവറുകൾ ലോഡ് ചെയ്യുന്നതിനും ആവശ്യമായ ഫയൽസിസ്റ്റം ഡ്രൈവറുകൾ ഉപയോഗിച്ച് എക്സിക്യൂഷൻ ആരംഭിക്കുക എന്നതാണ് സ്റ്റേജ് 1.5 ന്റെ പ്രവർത്തനം.

ഘട്ടം 2

GRUB ഘട്ടം 2-നുള്ള എല്ലാ ഫയലുകളും /boot/grub2 ഡയറക്‌ടറിയിലും നിരവധി ഉപഡയറക്‌ടറികളിലും സ്ഥിതി ചെയ്യുന്നു. GRUB2-ന് 1, 2 ഘട്ടങ്ങൾ പോലെയുള്ള ഒരു ഇമേജ് ഫയൽ ഇല്ല. പകരം, /boot/grub2/i386-pc ഡയറക്ടറിയിൽ നിന്ന് ആവശ്യാനുസരണം ലോഡ് ചെയ്യുന്ന റൺടൈം കേർണൽ മൊഡ്യൂളുകൾ ഇതിൽ അടങ്ങിയിരിക്കുന്നു. GRUB2 ഘട്ടം 2 ന്റെ പ്രവർത്തനം, ഒരു ലിനക്സ് കേർണൽ കണ്ടെത്തി റാമിലേക്ക് ലോഡ് ചെയ്യുകയും കമ്പ്യൂട്ടറിന്റെ നിയന്ത്രണം കേർണലിലേക്ക് മാറ്റുകയും ചെയ്യുക എന്നതാണ്. കേർണലും അതുമായി ബന്ധപ്പെട്ട ഫയലുകളും /boot ഡയറക്ടറിയിൽ സ്ഥിതി ചെയ്യുന്നു. കേർണൽ ഫയലുകൾ തിരിച്ചറിയാൻ കഴിയുന്നവയാണ്, കാരണം അവയ്ക്ക് vmlinuz-ൽ ആരംഭിക്കുന്നു. നിങ്ങളുടെ സിസ്റ്റത്തിൽ നിലവിൽ ഇൻസ്റ്റോൾ ചെയ്തിട്ടുള്ള കേർണലുകൾ കാണുന്നതിന് /boot ഡയറക്ടറിയുടെ ഉള്ളടക്കങ്ങൾ നിങ്ങൾക്ക് ലിസ്റ്റ് ചെയ്യാം. GRUB1 പോലെ GRUB2, തിരഞ്ഞെടുത്ത ലിനക്സ് കേർണലുകളിൽ ഒന്നിൽ നിന്ന് ബൂട്ട് ചെയ്യുന്നതിനെ പിന്തുണയ്ക്കുന്നു. Red Hat പാക്കേജ് മാനേജർ, DNF, കേർണലിന്റെ ഒന്നിലധികം പതിപ്പുകൾ സൂക്ഷിക്കുന്നതിനെ പിന്തുണയ്ക്കുന്നു, അതുവഴി ഏറ്റവും പുതിയതിൽ ഒരു പ്രശ്നം ഉണ്ടായാൽ, കേർണലിന്റെ പഴയ പതിപ്പ് ബൂട്ട് ചെയ്യാൻ കഴിയും. സ്ഥിരസ്ഥിതിയായി, ഒരു റെസ്ക്യൂ ഓപ്‌ഷനും കോൺഫിഗർ ചെയ്‌താൽ ഒരു വീണ്ടെടുക്കൽ ഓപ്ഷനും ഉൾപ്പെടെ ഇൻസ്റ്റോൾ ചെയ്ത കേർണലുകളുടെ പ്രീ-ബൂട്ട് മെനു GRUB നൽകുന്നു. GRUB2-ന്റെ രണ്ടാം ഘട്ടം തിരഞ്ഞെടുത്ത കേർണൽ മെമ്മറിയിലേക്ക് ലോഡ് ചെയ്യുകയും കമ്പ്യൂട്ടറിന്റെ നിയന്ത്രണം കേർണലിലേക്ക് മാറ്റുകയും ചെയ്യുന്നു.

കേർണൽ

സ്ഥലം ലാഭിക്കുന്നതിനായി എല്ലാ കേർണലുകളും സ്വയം വേർതിരിച്ചെടുക്കുന്ന, കംപ്രസ് ചെയ്ത ഫോർമാറ്റിലാണ്. ഒരു പ്രാരംഭ റാം ഡിസ്ക് ഇമേജും ഹാർഡ് ഡ്രൈവുകളുടെ ഉപകരണ മാപ്പും സഹിതം /boot ഡയറക്ടറിയിൽ കേർണലുകൾ സ്ഥിതി ചെയ്യുന്നു. തിരഞ്ഞെടുത്ത കേർണൽ മെമ്മറിയിലേക്ക് ലോഡുചെയ്‌ത് എക്‌സിക്യൂട്ട് ചെയ്യാൻ തുടങ്ങിയ ശേഷം, ഉപയോഗപ്രദമായ എന്തെങ്കിലും പ്രവർത്തിക്കുന്നതിന് മുമ്പ് അത് ഫയലിന്റെ കംപ്രസ് ചെയ്‌ത പതിപ്പിൽ നിന്ന് സ്വയം എക്‌സ്‌ട്രാക്റ്റ് ചെയ്യണം. കേർണൽ സ്വയം എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്‌തുകഴിഞ്ഞാൽ, അത് പഴയ SysV init പ്രോഗ്രാമിന്റെ പകരക്കാരനായ systemd ലോഡ് ചെയ്യുകയും അതിലേക്ക് നിയന്ത്രണം മാറ്റുകയും ചെയ്യുന്നു. ഇത് ബൂട്ട് പ്രക്രിയയുടെ അവസാനമാണ്. ഈ ഘട്ടത്തിൽ, Linux കേർണലും systemd ഉം പ്രവർത്തിക്കുന്നു, പക്ഷേ മറ്റൊന്നും പ്രവർത്തിക്കാത്തതിനാൽ അന്തിമ ഉപയോക്താവിന് ഉൽപ്പാദനക്ഷമമായ ജോലികൾ ചെയ്യാൻ കഴിയുന്നില്ല.

സ്റ്റാർട്ടപ്പ് പ്രക്രിയ

സ്റ്റാർട്ടപ്പ് പ്രക്രിയ ബൂട്ട് പ്രക്രിയയെ പിന്തുടർന്ന് ലിനക്സ് കമ്പ്യൂട്ടറിനെ ഉൽപ്പാദനപരമായ പ്രവർത്തനത്തിന് ഉപയോഗിക്കാവുന്ന ഒരു പ്രവർത്തന നിലയിലേക്ക് കൊണ്ടുവരുന്നു.

systemd

systemd ആണ് എല്ലാ പ്രക്രിയകളുടെയും മാതാവ്, ഉൽപ്പാദനപരമായ ജോലികൾ ചെയ്യാൻ കഴിയുന്ന ഒരു അവസ്ഥയിലേക്ക് Linux ഹോസ്റ്റിനെ എത്തിക്കുന്നതിന് ഇത് ഉത്തരവാദിയാണ്. പഴയ init പ്രോഗ്രാമിനേക്കാൾ വളരെ വിപുലമായ അതിന്റെ ചില ഫംഗ്‌ഷനുകൾ, പ്രവർത്തിക്കുന്ന ലിനക്സ് ഹോസ്റ്റിന്റെ നിരവധി വശങ്ങൾ കൈകാര്യം ചെയ്യുക, മൗണ്ടിംഗ് ഫയൽസിസ്റ്റംസ്, കൂടാതെ ഒരു ഉൽപ്പാദനക്ഷമമായ ലിനക്സ് ഹോസ്റ്റ് ആവശ്യമായ സിസ്റ്റം സേവനങ്ങൾ ആരംഭിക്കുകയും കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു. സ്റ്റാർട്ടപ്പ് സീക്വൻസുമായി ബന്ധമില്ലാത്ത systemd-ന്റെ എല്ലാ ജോലികളും ഈ ലേഖനത്തിന്റെ പരിധിക്ക് പുറത്താണ്. ആദ്യം, ഏതെങ്കിലും സ്വാപ്പ് ഫയലുകളോ പാർട്ടീഷനുകളോ ഉൾപ്പെടെ /etc/fstab നിർവചിച്ചിരിക്കുന്ന ഫയൽസിസ്റ്റം systemd മൗണ്ട് ചെയ്യുന്നു . ഈ ഘട്ടത്തിൽ, അതിന് സ്വന്തം ഉൾപ്പെടെ /etc-ൽ സ്ഥിതി ചെയ്യുന്ന കോൺഫിഗറേഷൻ ഫയലുകൾ ആക്സസ് ചെയ്യാൻ കഴിയും. ഏത് അവസ്ഥയിലോ ടാർഗെറ്റിലേക്കോ ആണ് ഹോസ്റ്റ് ബൂട്ട് ചെയ്യേണ്ടതെന്ന് നിർണ്ണയിക്കാൻ ഇത് അതിന്റെ കോൺഫിഗറേഷൻ ഫയൽ ഉപയോഗിക്കുന്നു, /etc/systemd/system/default.target . default.target ഫയൽ യഥാർത്ഥ ടാർഗെറ്റ് ഫയലിലേക്കുള്ള ഒരു പ്രതീകാത്മക ലിങ്ക് മാത്രമാണ്. ഒരു ഡെസ്ക്ടോപ്പ് വർക്ക്സ്റ്റേഷനിൽ, ഇത് സാധാരണ graphical.target ആയിരിക്കും, ഇത് പഴയ SystemV init-ലെ റൺലവൽ 5 -ന് തുല്യമാണ്. ഒരു സെർവറിന്, സിസ്റ്റം വിയിലെ റൺലവൽ 3 പോലെയുള്ള മൾട്ടി-ഉപയോക്താവ് ടാർഗെറ്റാണ് ഡിഫോൾട്ട്. Emergency.target സിംഗിൾ യൂസർ മോഡിന് സമാനമാണ്. ടാർഗെറ്റുകളും സേവനങ്ങളും systemd യൂണിറ്റുകളാണെന്ന കാര്യം ശ്രദ്ധിക്കുക. താഴെയുള്ള പട്ടിക 1, പഴയ SystemV സ്റ്റാർട്ടപ്പ് റൺലവലുകളുമായുള്ള systemd ടാർഗെറ്റുകളുടെ താരതമ്യമാണ്. systemd ടാർഗെറ്റ് അപരനാമങ്ങൾ നൽകുന്നത് backward compatibility ക്കായി systemd ആണ് . റൺലവലുകൾ മാറ്റുന്നതിന് init 3 പോലെയുള്ള SystemV കമാൻഡുകൾ ഉപയോഗിക്കാൻ ടാർഗെറ്റ് അപരനാമങ്ങൾ സ്ക്രിപ്റ്റുകളെ അനുവദിക്കുന്നു—എന്നെപ്പോലുള്ള നിരവധി sysadmins . തീർച്ചയായും, SystemV കമാൻഡുകൾ വ്യാഖ്യാനത്തിനും നിർവ്വഹണത്തിനുമായി systemd-ലേക്ക് കൈമാറുന്നു.

SystemV റൺലെവൽ systemd ലക്ഷ്യം systemd ടാർഗെറ്റ് അപരനാമങ്ങൾ വിവരണം
നിർത്തുക.ലക്ഷ്യം പവർഡൗൺ ചെയ്യാതെ തന്നെ സിസ്റ്റം നിർത്തുന്നു.
0 poweroff.target runlevel0.target സിസ്റ്റം നിർത്തുകയും പവർ ഓഫ് ചെയ്യുകയും ചെയ്യുന്നു.
എസ് എമർജൻസി.ലക്ഷ്യം സിംഗിൾ യൂസർ മോഡ്. സേവനങ്ങളൊന്നും പ്രവർത്തിക്കുന്നില്ല; ഫയൽ സിസ്റ്റങ്ങൾ മൌണ്ട് ചെയ്തിട്ടില്ല. ഉപയോക്താവിന് സിസ്റ്റവുമായി സംവദിക്കുന്നതിനായി പ്രധാന കൺസോളിൽ പ്രവർത്തിക്കുന്ന ഒരു എമർജൻസി ഷെൽ മാത്രമുള്ള പ്രവർത്തനത്തിന്റെ ഏറ്റവും അടിസ്ഥാന തലമാണിത്.
1 രക്ഷ.ലക്ഷ്യം റൺലെവൽ1.ലക്ഷ്യം ഏറ്റവും അടിസ്ഥാന സേവനങ്ങൾ മാത്രം പ്രവർത്തിപ്പിക്കുന്ന ഫയൽസിസ്റ്റം മൌണ്ട് ചെയ്യുന്നതും പ്രധാന കൺസോളിൽ ഒരു റെസ്ക്യൂ ഷെല്ലും ഉൾപ്പെടെയുള്ള അടിസ്ഥാന സിസ്റ്റം.
2 runlevel2.target Multiuser, NFS ഇല്ലാതെ, എന്നാൽ മറ്റെല്ലാ നോൺ-ജിയുഐ സേവനങ്ങളും പ്രവർത്തിക്കുന്നു.
3 multi-user.target runlevel3.target എല്ലാ സേവനങ്ങളും പ്രവർത്തിക്കുന്നുണ്ടെങ്കിലും കമാൻഡ് ലൈൻ ഇന്റർഫേസ് (CLI) മാത്രം.
4 runlevel4.target ഉപയോഗിക്കാത്തത്.
5 ഗ്രാഫിക്കൽ.ലക്ഷ്യം runlevel5.target ഒരു GUI ഉള്ള മൾട്ടി-ഉപയോക്താവ്.
6 reboot.target runlevel6.target റീബൂട്ട് ചെയ്യുക
default.target ഈ ടാർഗെറ്റ് എല്ലായ്‌പ്പോഴും multi-user.target അല്ലെങ്കിൽ graphical.target എന്നതിലേക്കുള്ള ഒരു പ്രതീകാത്മക ലിങ്ക് ഉപയോഗിച്ച് അലൈസ് ചെയ്യുന്നു. സിസ്റ്റം ആരംഭിക്കുന്നതിന് systemd എപ്പോഴും default.target ഉപയോഗിക്കുന്നു. default.target ഒരിക്കലും halt.target, poweroff.target അല്ലെങ്കിൽ reboot.target എന്ന് അപരനാമമാക്കരുത്.

പട്ടിക 1: SystemD ടാർഗെറ്റുകളുമായും ചില ടാർഗെറ്റ് അപരനാമങ്ങളുമായും SystemV റൺലവലുകളുടെ താരതമ്യം. ഓരോ ലക്ഷ്യത്തിനും അതിന്റെ കോൺഫിഗറേഷൻ ഫയലിൽ വിവരിച്ചിരിക്കുന്ന ഒരു കൂട്ടം ഡിപൻഡൻസികൾ ഉണ്ട്. systemd ആവശ്യമായ ഡിപൻഡൻസികൾ ആരംഭിക്കുന്നു. ഈ ഡിപൻഡൻസികൾ ഒരു പ്രത്യേക തലത്തിലുള്ള പ്രവർത്തനക്ഷമതയിൽ ലിനക്സ് ഹോസ്റ്റ് പ്രവർത്തിപ്പിക്കുന്നതിന് ആവശ്യമായ സേവനങ്ങളാണ്. ടാർഗെറ്റ് കോൺഫിഗറേഷൻ ഫയലുകളിൽ ലിസ്റ്റ് ചെയ്തിരിക്കുന്ന എല്ലാ ഡിപൻഡൻസികളും ലോഡ് ചെയ്ത് പ്രവർത്തിക്കുമ്പോൾ, സിസ്റ്റം ആ ടാർഗെറ്റ് ലെവലിൽ പ്രവർത്തിക്കുന്നു. systemd ലെഗസി SystemV init ഡയറക്‌ടറികളിൽ എന്തെങ്കിലും സ്റ്റാർട്ടപ്പ് ഫയലുകൾ നിലവിലുണ്ടോ എന്ന് പരിശോധിക്കുന്നു. അങ്ങനെയാണെങ്കിൽ, ഫയലുകൾ വിവരിച്ചിരിക്കുന്ന സേവനങ്ങൾ ആരംഭിക്കുന്നതിന് systemd അവ കോൺഫിഗറേഷൻ ഫയലുകളായി ഉപയോഗിച്ചു. ഫെഡോറയിൽ ഇപ്പോഴും SystemV സ്റ്റാർട്ടപ്പ് ഫയലുകൾ ഉപയോഗിക്കുന്നവയിൽ ഒന്നിന്റെ മികച്ച ഉദാഹരണമാണ് ഒഴിവാക്കിയ നെറ്റ്‌വർക്ക് സേവനം. ചുവടെയുള്ള ചിത്രം 1, ബൂട്ടപ്പ് മാൻ പേജിൽ നിന്ന് നേരിട്ട് പകർത്തിയതാണ് . ഇത് systemd സ്റ്റാർട്ടപ്പിലെ സംഭവങ്ങളുടെ പൊതുവായ ക്രമവും വിജയകരമായ ഒരു സ്റ്റാർട്ടപ്പ് ഉറപ്പാക്കുന്നതിനുള്ള അടിസ്ഥാന ഓർഡറിംഗ് ആവശ്യകതകളും കാണിക്കുന്നു. sysinit.target , basic.target എന്നീ ലക്ഷ്യങ്ങൾ സ്റ്റാർട്ടപ്പ് പ്രക്രിയയിൽ ചെക്ക് പോയിന്റുകളായി കണക്കാക്കാം. സിസ്റ്റം സേവനങ്ങൾ സമാന്തരമായി ആരംഭിക്കുക എന്നത് അതിന്റെ ഡിസൈൻ ലക്ഷ്യങ്ങളിലൊന്നായി systemd ഉണ്ടെങ്കിലും, മറ്റ് സേവനങ്ങളും ലക്ഷ്യങ്ങളും ആരംഭിക്കുന്നതിന് മുമ്പ് ആരംഭിക്കേണ്ട ചില സേവനങ്ങളും പ്രവർത്തന ലക്ഷ്യങ്ങളും ഇപ്പോഴും ഉണ്ട്. ആ ചെക്ക് പോയിന്റിന് ആവശ്യമായ എല്ലാ സേവനങ്ങളും ലക്ഷ്യങ്ങളും പൂർത്തിയാകുന്നതുവരെ ഈ ചെക്ക്‌പോസ്റ്റുകൾ കടന്നുപോകാൻ കഴിയില്ല. അതിനാൽ അത് ആശ്രയിക്കുന്ന എല്ലാ യൂണിറ്റുകളും പൂർത്തിയാകുമ്പോൾ sysinit.target എത്തുന്നു. ആ യൂണിറ്റുകൾ, മൗണ്ടിംഗ് ഫയൽസിസ്റ്റം, സ്വാപ്പ് ഫയലുകൾ സജ്ജീകരിക്കൽ, udev ആരംഭിക്കൽ, റാൻഡം ജനറേറ്റർ സീഡ് സജ്ജീകരിക്കൽ, താഴ്ന്ന നിലയിലുള്ള സേവനങ്ങൾ ആരംഭിക്കൽ, ഒന്നോ അതിലധികമോ ഫയൽസിസ്റ്റം എൻക്രിപ്റ്റ് ചെയ്തിട്ടുണ്ടെങ്കിൽ ക്രിപ്റ്റോഗ്രാഫിക് സേവനങ്ങൾ സജ്ജീകരിക്കൽ എന്നിവ പൂർത്തിയാക്കണം, പക്ഷേ sysinit ന് ഉള്ളിൽ . ലക്ഷ്യം ആ ജോലികൾ സമാന്തരമായി നിർവഹിക്കാൻ കഴിയും. sysinit.target എല്ലാ താഴ്ന്ന നിലയിലുള്ള സേവനങ്ങളും യൂണിറ്റുകളും ആരംഭിക്കുന്നു . local-fs-pre.target
|
v
(വിവിധ മൗണ്ടുകളും (വിവിധ സ്വാപ്പ് (വിവിധ ക്രിപ്‌റ്റ്സെറ്റപ്പ് fsck
സേവനങ്ങൾ…) ഉപകരണങ്ങൾ…) ഉപകരണങ്ങൾ…) (വിവിധ ലോ-ലെവൽ (വിവിധ ലോ-ലെവൽ
| | local-fs.target swap.target cryptsetup.target seed, sysctl, …) debugfs, …) | | | | | \__________________|__________________ | _____________________|__________________/ \|/ v sysinit.target | _________________________________/|\_______________________________________ / | | | \ | | | | | v v | v v (വിവിധ (വിവിധ | (വിവിധ റെസ്ക്യൂ. സർവീസ് ടൈമറുകൾ…) പാതകൾ…) | സോക്കറ്റുകൾ…) | | | | | v v v | v രക്ഷ . ടാർഗെറ്റ് ടൈമറുകൾ.ലക്ഷ്യ പാതകൾ.ലക്ഷ്യം | sockets.target | | | | v \_________________ | __________________/ \|/ v അടിസ്ഥാന.ലക്ഷ്യം | ____________________________________/| എമർജൻസി.സർവീസ് / | | | | | | v v v v എമർജൻസി . ടാർഗെറ്റ് ഡിസ്പ്ലേ- (വിവിധ സിസ്റ്റം (വിവിധ സിസ്റ്റം മാനേജർ. സർവീസ് സേവനങ്ങൾ) | ആവശ്യമായി | | ഗ്രാഫിക്കൽ യുഐകൾ) v | | multi-user.target | | | \_______________ | _________________/ \|/ v graphical.target


ചിത്രം 1: systemd സ്റ്റാർട്ടപ്പ് മാപ്പ്. sysinit.target പൂർത്തീകരിച്ച ശേഷം , systemd അടുത്തത് base.target ആരംഭിക്കുന്നു , അത് നിറവേറ്റാൻ ആവശ്യമായ എല്ലാ യൂണിറ്റുകളും ആരംഭിക്കുന്നു. അടുത്ത ലക്ഷ്യത്തിന് ആവശ്യമായ യൂണിറ്റുകൾ ആരംഭിക്കുന്നതിലൂടെ അടിസ്ഥാന ലക്ഷ്യം ചില അധിക പ്രവർത്തനങ്ങൾ നൽകുന്നു. വിവിധ എക്സിക്യൂട്ടബിൾ ഡയറക്‌ടറികളിലേക്കുള്ള പാതകൾ, ആശയവിനിമയ സോക്കറ്റുകൾ, ടൈമറുകൾ എന്നിവ സജ്ജീകരിക്കുന്നത് ഇതിൽ ഉൾപ്പെടുന്നു. അവസാനമായി, ഉപയോക്തൃ-തല ടാർഗെറ്റുകൾ, multi-user.target അല്ലെങ്കിൽ graphical.target ആരംഭിക്കാവുന്നതാണ്. മൾട്ടി-ഉപയോക്താവ് എന്നത് ശ്രദ്ധിക്കുക . ഗ്രാഫിക്കൽ ടാർഗെറ്റ് ഡിപൻഡൻസികൾ കൈവരിക്കുന്നതിന് മുമ്പ് ലക്ഷ്യത്തിലെത്തണം. ചിത്രം 1-ൽ അടിവരയിട്ട ടാർഗെറ്റുകൾ സാധാരണ സ്റ്റാർട്ടപ്പ് ലക്ഷ്യങ്ങളാണ്. ഈ ലക്ഷ്യങ്ങളിലൊന്ന് എത്തുമ്പോൾ, സ്റ്റാർട്ടപ്പ് പൂർത്തിയായി. multi-user.target ആണ് ഡിഫോൾട്ടെങ്കിൽ, കൺസോളിൽ നിങ്ങൾ ഒരു ടെക്സ്റ്റ് മോഡ് ലോഗിൻ കാണും . graphical.target സ്ഥിരസ്ഥിതി ആണെങ്കിൽ , നിങ്ങൾ ഒരു ഗ്രാഫിക്കൽ ലോഗിൻ കാണും; നിങ്ങൾ കാണുന്ന നിർദ്ദിഷ്ട GUI ലോഗിൻ സ്ക്രീൻ നിങ്ങൾ ഉപയോഗിക്കുന്ന ഡിഫോൾട്ട് ഡിസ്പ്ലേ മാനേജറിനെ ആശ്രയിച്ചിരിക്കും.

പ്രശ്നങ്ങൾ

GRUB2 ഉപയോഗിക്കുന്ന ഒരു ലിനക്സ് കമ്പ്യൂട്ടറിൽ ഡിഫോൾട്ട് ബൂട്ട് കേർണൽ മാറ്റേണ്ട ആവശ്യം എനിക്ക് അടുത്തിടെ ഉണ്ടായിരുന്നു. ചില കമാൻഡുകൾ എനിക്ക് ശരിയായി പ്രവർത്തിക്കുന്നില്ലെന്ന് ഞാൻ കണ്ടെത്തി, അല്ലെങ്കിൽ ഞാൻ അവ ശരിയായി ഉപയോഗിക്കുന്നില്ല. എന്താണ് സംഭവിച്ചതെന്ന് എനിക്ക് ഇതുവരെ ഉറപ്പില്ല, കുറച്ചുകൂടി ഗവേഷണം നടത്തേണ്ടതുണ്ട്. grub2-set-default കമാൻഡ് /etc/default/grub ഫയലിൽ എനിക്കായി ഡിഫോൾട്ട് കേർണൽ സൂചിക ശരിയായി സജ്ജീകരിച്ചിട്ടില്ല, അതിനാൽ ആവശ്യമുള്ള ഇതര കേർണൽ ബൂട്ട് ചെയ്യുന്നില്ല. അതിനാൽ ഞാൻ സ്വമേധയാ /etc/default/grub GRUB_DEFAULT=സംരക്ഷിച്ചത് GRUB_DEFAULT= 2 എന്നതിലേക്ക് മാറ്റി , ഇവിടെ 2 എന്നത് ഞാൻ ബൂട്ട് ചെയ്യാൻ ആഗ്രഹിക്കുന്ന ഇൻസ്റ്റോൾ ചെയ്ത കേർണലിന്റെ സൂചികയാണ്. പുതിയ ഗ്രബ് കോൺഫിഗറേഷൻ ഫയൽ ഉണ്ടാക്കുന്നതിനായി ഞാൻ grub2-mkconfig > /boot/grub2/grub.cfg കമാൻഡ് പ്രവർത്തിപ്പിച്ചു. ഈ സർകംവെൻഷൻ പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുകയും ഇതര കെർണലിലേക്ക് ബൂട്ട് ചെയ്യുകയും ചെയ്തു.

നിഗമനങ്ങൾ

മിക്ക ആധുനിക ലിനക്സ് വിതരണങ്ങളുടെയും ബൂട്ട്, സ്റ്റാർട്ടപ്പ് ഘട്ടങ്ങളിലെ പ്രധാന ഘടകങ്ങൾ GRUB2 ഉം systemd init സിസ്റ്റവുമാണ്. പ്രത്യേകിച്ച് systemd-യെ ചുറ്റിപ്പറ്റി വിവാദങ്ങൾ ഉണ്ടായിട്ടുണ്ടെങ്കിലും, ഈ രണ്ട് ഘടകങ്ങളും ആദ്യം കേർണൽ ലോഡുചെയ്യുന്നതിനും പിന്നീട് ഒരു ഫംഗ്ഷണൽ ലിനക്സ് സിസ്റ്റം നിർമ്മിക്കുന്നതിന് ആവശ്യമായ എല്ലാ സിസ്റ്റം സേവനങ്ങളും ആരംഭിക്കുന്നതിനും സുഗമമായി പ്രവർത്തിക്കുന്നു. GRUB2 ഉം systemd ഉം അവയുടെ മുൻഗാമികളേക്കാൾ സങ്കീർണ്ണമാണെന്ന് ഞാൻ കണ്ടെത്തിയിട്ടുണ്ടെങ്കിലും, അവ പഠിക്കാനും നിയന്ത്രിക്കാനും വളരെ എളുപ്പമാണ്. മാൻ പേജുകളിൽ systemd-നെ കുറിച്ച് ധാരാളം വിവരങ്ങൾ ഉണ്ട്, freedesktop.org-ൽ ഓൺലൈനിൽ systemd മാൻ പേജുകളുടെ പൂർണ്ണമായ സെറ്റ് ഉണ്ട്. കൂടുതൽ ലിങ്കുകൾക്കായി ചുവടെയുള്ള ഉറവിടങ്ങൾ പരിശോധിക്കുക.

അധിക വിഭവങ്ങൾ

  • GNU GRUB (വിക്കിപീഡിയ)
  • GNU GRUB മാനുവൽ (GNU.org)
  • മാസ്റ്റർ ബൂട്ട് റെക്കോർഡ് (വിക്കിപീഡിയ)
  • മൾട്ടിബൂട്ട് സ്പെസിഫിക്കേഷൻ (വിക്കിപീഡിയ)
  • systemd (വിക്കിപീഡിയ)
  • systemd ബൂട്ടപ്പ് പ്രക്രിയ (Freedesktop.org)
  • മാൻ പേജുകളുടെ systemd സൂചിക (Freedesktop.org)


Leave a comment

Your email address will not be published. Required fields are marked *