شنبه, ۲۲ اردیبهشت, ۱۴۰۳ / 11 May, 2024
مجله ویستا

ساختار رجیستری


ساختار رجیستری

رجیستری دارای یک ساختار درختی است هرچند ساختاری پیچیده همانند پوشه های مختلف موجود در هارد دیسک می باشد که همانند برنامه Windows Explorer می باشد

رجیستری دارای یک ساختار درختی است - هرچند ساختاری پیچیده همانند پوشه‌های مختلف موجود در هارد دیسک می باشد - که همانند برنامه Windows Explorer می‌باشد .

هر شاخه اصلی ( که با یک آیکون پوشه از بقیه مجزا شده است ) کندو (Hive) نامیده می شود و هر کندو نیز دربردارنده کلید هاست (Keys) . هر کلید شامل کلید های دیگر (گاهی اوقات نیز خود آنها دارای زیر کلیدهای دیگری است ) و به همین ترتیب آن هم شامل مقادیر دیگری است. مقادیر در بردارنده اطلاعات حقیقی است که در رجیستری باقی می ماند. بسته به نوع مفاهیمی که مورد استفاده قرار می گیرند ، سه نوع مقدار وجود دارد : String, Binary و DWORD

۶ شاخه اصلی که بخش های مختلف اطلاعات را در رجیستری ذخیره می کنند عبارتند از :

▪ HKEY_CLASSES_ROOT : این شاخه شامل تمام فایل نقشه برداری ضمیمه سازی برای پشتیبانی از ویژگی کشیدن و رها کردن (drag-and-drop) ، اطلاعات مربوط به OLE، کلیدهای میانبر ویندوز و هر جزء اصلی مربوط به رابط های کاربری ویندوز را در خود جای داده است .

▪ HKEY_CURRENT_USER : این شاخه به بخشی از HKEY_USERS مربوط به کاربری که در سیستم Login کرده است لینک شده و پیوند برقرار می کند و دربردارنده اطلاعاتی همانند نام‌های Logon ، تنظیمات مربوط به Desktop و نیز تنظیمات Start menu می باشد.

▪ HKEY_LOCAL_MACHINE : این شاخه دربردارنده اطلاعات خاص کامپیوتر درباره نوع قطعات سخت افزاری ، نرم افزاری است که برای تمامی کاربرانی که در آن سیستم Login نمایند مورد استفاده قرار می‌گیرد.

▪ HKEY_USERS : این شاخه شامل تنظیمات منحصر به فرد ای است که برای هر یک از کاربران مورد استفاده قرار می گیرد و از کاربری به کاربر دیگر متفاوت است. هر کاربر نیز با یک رابط جانبی همانند s-۱-۵-۱۸ از بقیه جدا می شود.

▪ HKEY_CURRENT_CONFIG :این شاخه به بخشی از HKEY_LOCAL_MACHINE که مربوط به ساختار بندی سخت افزار هاست لینک می شود .

هر مقدار رجیستری به یکی از ۵ حالت زیر ذخیره می شود:

▪ REG_BINARY : در این شیوه مقادیر بصورت ردیف داده های باینری ذخیره می شوند. اغلب اطلاعات اجزاء سخت افزار ها بصورت داده های باینری ذخیره شده و در یک ویرایشگر بصورت قالب بندی hexadecimal دیده می شوند.

▪ REG_DWORD : این حالت برای داده های ۴ بایتی که معمولا مقادیر boolean ، همانند "۰" برای غیر فعال کردن و "۱" برای فعال کردن . از دیگر موارد این حالات راه انداز دستگاه و سرویس‌هایی از این نوع هستند . و در REGEDT۳۲ با قالب بندی های binary، hexadecimal و decimal و در REGEDIT نیز در قالب بندی های hexadecimal و decimal نشان داده می‌شوند.

▪ REG_EXPAND_SZ : این حالت رشته داده ای قابل توسعه ای هستند و بصورت رشته ای شامل یک متغیر است که در هنگام فراخوانی توسط یک برنامه کاربردی جایگزین آن می شوند برای مثال ، در مقادیر زیر :

رشته "%SystemRoot%" با موقعیت واقعی دایرکتوری که دربردارنده فایل های سیستمی Windows NT است ، جایگزین می شود.

▪ REG_MULTI_SZ : این حالت درواقع بصورت چند رشته ای است و برای نمایش مقادیری که دربردارنده لیست ها و یا مقادیر چند تایی هستند بکار می رود، و هر عضو بوسیله یک کاراکتر NULL از بقیه جدا می شود .البته این حالت از مقادیر تنها در موارد پیشرفته رجیستری همانند REGEDT۳۲ مورد استفاده قرار می گیرد.

▪ REG_SZ : این حالت نیز یک رشته استاندارد است که برای نمایش مقادیر متنی است که برای خواندن و استفاده افراد بکار می رود.

مواردی از حالات داده ها که بوسیله ویرایشگر های استاندارد رجیستری در دسترس نیستند عبارتند از :

▪ REG_DWORD_LITTLE_ENDIAN

▪ REG_DWORD_BIG_ENDIAN

▪ REG_LINK

▪ REG_NONE

▪ REG_QWORD

▪ REG_QWORD_LITTLE_ENDIAN

▪ REG_RESOURCE_LIST

● ویرایش رجیستری

برنامه ویرایشگر رجیستری (REGEDIT.EXE) که در نسخه های مختلف ویندوز قرار دارد (که از طریق منوی Start قابل دسترسی است) شما را قادر به مشاهده اطلاعات ، انجام جستجو و در نهایت امکان ویرایش مطالب به شکل مورد نظرتان را در رجیستری فراهم می کند .برای اجرای این برنامه چندین شیوه مختلف وجود دارد ، اما ساده ترین آنها تایپ عبارت "regedit" در پنجره Run که از طریق منوی Start در دسترس شما قرار دارد ، می باشد. البته درصورتی که شما نرم افزار Registry Editor را در سیستم خود نصب کرده باشید ، با تایپ دستور regedit

▪ یک شکل دیگر از این برنامه (REGEDT۳۲.EXE) که می توان در نسخه های ۲۰۰۰ و NT از آنها استفاده کرد (که در واقع دارای برخی ویژگی های اضافی است که در نسخه های استاندارد قرار ندارد از جمله : توانایی مشاهده و تغییر مجوزهای امنیتی و نیز امکان ایجاد و تغییر در مقادیر رشته های REG_EXPAND_SZ & REG_MULTI_SZ.

▪ ایجاد یک کلید میانبر برای دسترسی سریع و آسان به این برنامه

این کار به سادگی و از طریق راست کلیک کردن در یک محیط خالی صفحه Desktop ، انتخاب گزینه Shortcut و در نهایت تایپ عبارت "regedit.exe" در کادر پنجره Command line و انتخاب گزینه Next ، وارد کردن یک نام آشنا و قابل شناسایی همانند Registry Editor و در نهایت کلیک کردن گزینه Finish امکان پذیر می باشد.در این مرحله بر روی صفحه desktop شما یک میانبر ایجاد شده و می توانید با دوبار کلیک سریع بر روی آن برنامه Regedit را فعال کنید.

▪ استفاده از Regedit برای ایجاد تغییرات در رجیستری

اولین باری که اقدام به اجرای این برنامه می کنید توجه داشته باشید که در سمت چپ این برنامه یک منوی درختی از پوشه ها قرار گرفته است و در سمت راست نیز مفاهیم ( مقادیر) پوشه انتخاب شده شما قرار دارد.

درست همانند Windows explorer ، شاخه مورد نظر خود را انتخاب کرده و با کلیک کردن علامت + و یا دوبار کلیک سریع بر روی پوشه مربوطه آن را توسعه دهید.برای مشاهده مفاهیم یک کلید (پوشه ) فقط کافی است کلید مربوطه را یک بار کلیک نمائید و مقادیر آن را در پنجره سمت راست مشاهده کنید .برای افزودن یک کلید و یا یک مقدار جدید می توانید از منوی Edit گزینه New را انتخاب کنید. برای تغییر نام دادن یک مقدار و نیز اغلب کلید ها می توان از همان ترتیبی که برای تغییر نام سایر آبجکت ها استفاده می شود ، بهره برد. ( آبجکت مربوطه را راست کلیک کنید و گزینه Rename را انتخاب کنید و یا به آهستگی آبجکت را کلیک و یا بعد از انتخاب آن کلید F۲ را فشار دهید .

برای حذف هر یک از مقادیر نیز می توانید آبجکت را انتخاب کرده و سپس کلید Delete را فشار دهید . کرده و و یا دکمه سمت راست ماوس را برگزیده و و به مقادیری که در منوی زمینه لیست خواهند شد دقت کنید.

توجه داشته باشید که گرفتن یک نسخه پشتیبان از رجیستری قبل از انجام هر تغییری در آن یکی از قابل اعتماد ترین روش هاست .در غیر این صورت ممکن است گاهی حتی به دلیل اعمال تغییرات مجبور به نصب مجدد ویندوز در سیستم خود شوید. مطمئنا انجام چنین کاری بهتر از تاسف خوردن و پشیمان شدن است.

● Import و Export کردن تنظیمات رجیستری

یکی از ویژگی های بزرگ رجیستری توانایی و قابلیت import و export تنظیمات رجیستری به فایل متنی است. این فایل با پسوند reg . قابل شناسایی است .محیط قالب بندی این فایل های متنی را می توان با برنامه ای همچون Notepad مشاهده کرد.بدین منظور در رجیستری کلیدی را که قصد تغییر در آن داریر را انتخاب کرده و سپس از منوی Registry گزینه... Export Registry File را انتخاب کنید .سپس یک نام برای آن وارد کرده و آن را ذخیره کنید. اگر این فایل را در برنامه Notepad باز کنید فایلی همچون شکل زیر را مشاهده خواهید کرد:

REGEDIT۴

[HKEY_LOCAL_MACHINE\SYSTEM\Setup]

"SetupType"=dword:۰۰۰۰۰۰۰۰

"CmdLine"="setup -newsetup"

"SystemPrefix"=hex:c۵,۰b,۰۰,۰۰,۰۰,۴۰,۳۶,۰۲

این محیط کاملا ساده است ، عبارت REGEDIT۴ به نوع فایل و نسخه آن اشاره دارد .عبارت [HKEY_LOCAL_MACHINE\SYSTEM\Setup] به کلید اشاره دارد و مقادیر نیز بصورت "SetupType"=dword:۰۰۰۰۰۰۰۰ هستند و در خود مقادیر نیز کلمه بعد از کاراکتر " = " نشان دهنده نوع مقادیر آنها است که عبارتند از DWORD ، String و یا Binary

از این رو می توانید فایل را به راحتی ویرایش کرده و تغییرات مورد نظرتان را به آن اعمال کنید .و سپس به آسانی و با دوبار کلیک سریع و یا با انتخاب گزینه "Import" از منوی Registry آن را برای قابل استفاده و اعمال شدن در تنظیمات مربوط به ویندوز امکان پذیرکنید .

▪ حذف کلید ها و مقادیر با استفاده از فایل REG:

حذف کلیدها و مقادیر در فایلهای REG با قرار دادن یک کاراکتر "-" در جلوی نام کلیدی که قصد حذف آن را دارید امکان پذیر است.بعنوان مثال برای حذف کلید [HKEY_LOCAL_MACHINE\SYSTEM\Setup] در فایل فوق باید به شکل ژیر عمل نمائید: :

REGEDIT۴

[-HKEY_LOCAL_MACHINE\SYSTEM\Setup]

این ویژگی بسیار دلواپس کننده است ، زیرا وقتی کلید و یا مقداری را به اشتباه پاک کنید ممکن است باعث مشکلات اساسی در تنظیمات رجیستری شود ، از این رو به خآیر داشته باشید که حتما در ابتدا نسبت به پشتیبان گیری از رجیستری اقدام کنید.

▪ گزینه های خط فرمان در رجیستری :

Regedit دارای تعدادی گزینه خط فرمان است که می توان برای اجرای سرِیع آنها از طریق فایل‌های batch و یا از طریق command prompt ، از آنها استفاده کرد.

regedit.exe [options] [filename] [regpath]

[filename] برای Import کردن فایل reg.

/s [filename] برای Import کردن آسان و بدون ویزاردی که از شما سوالی پرسیده شود.

/e [filename] [regpath] رجیستری را با [filename] شروع کنید سپس مسیر [regpath] .بعنوان مثال :

regedit /e file.reg HKEY_USERS\.DEFAULT

/L:system تعیین موقعیت فایل system.dat

/R:user تعیین موقعیت فایل system.dat

/C [filename] فشرده سازی (در ویندوز ۹۸)

/D [regpath] حذف کلید تعیین شده ( در ویندوز ۹۸)

● نگهداری از رجیستری

چطور می‌توان از رجیستری فایل پشتیبان تهیه کرد و در مواقع ضروری از این فایل ها استفاده کرد؟

▪ ویندوز ۹۵

در cd نصب ویندوز ۹۵ نرم افزاری وجود دراد که به شما امکان تهیه پشتیبان از رجیستری کامپیوتر را می دهد . برنامه Microsoft Configuration Backup ، CFGBACK.EXE، در مسیر Other\Misc\Cfgback و در Cd نصب ویندوز قابل دسترسی است .فایل های پشتیبان گرفته شده توسط این برنامه با پسوند های RBK و در پوشه ذخیره می شود Windows \ نگهداری می‌شوند. اگر سیستم شما برای استفاده چندین کاربر ساختار بندی شده باشد، CFGBACK.EXE از فایل USER.DAT پشتیبان نمی‌گیرد.

بعد از پشتیبان گیری از رجیستری می‌توانید فایل RBK را به داخل یک فلاپی دیسک و برای موارد اضطراری کپی کنید. این فایل های پشتیبان در ویندوز ۹۵ بصورت فشرده شده ذخیره می شوند که تنها با استفاده از برنامه CFGBACK.EXE قابل استفاده هستند.

▪ ویندوز ۹۸

ویندوز ۹۸ بطور اتوماتیک در هر زمانی که راه اندازی می شود ، یک نسخه پشتیبان از رجیستری را ایجاد می کند. علاوه بر این می توانید بطور دستی نسخه پشتیبان را از طریق نرم افزار Registry Checker که از طریق اجرای دستور SCANREGW.EXE از منوی Start | Run

▪ چه راه حلی برای مواقع خراب شدن رجیستری وجود دارد؟

ویندوز ۹۵، ۹۸ و Nt همگی دارای مکانیسم پشتیبان‌گیری یکسانی هستند که کاملا قابل اعتماد است .

▪ ویندوز ۹۵

در دایرکتوری ویندوز چندین فایل مخفی وجود دارد، ۴ تا از این فایل ها عبارتند از SYSTEM.DAT & USER.DAT که به عنوان فایل‌های جاری رجیستری و دو فایل SYSTEM.DA۰ & USER.DA۰ نیز که به عنوان فایل های پشتیبان هستند. ویندوز ۹x دارای ویژگی جالبی است که هر زمان ویندوز به درستی و با موفقیت راه اندازی می‌شود فایل های رجیستری را بر روی این نسخه‌های پشتیبان کپی می‌کند. بطوریکه در مواقعی که این فایل ها دچار ایراد می شوند ، این فایل‌ها به جای فایل‌های دچار ایراد جایگزین می‌شوند .برای محافظت از رجیستری از مراحل زیر پیروی کنید :

۱- دکمه Start را کلیک کرده و سپس گزینه Shut Down را انتخاب کنید.

۲- گزینه Restart The Computer In MS-DOS Mode را انتخاب کرده و سپس yes را انتخاب نمائید.

۳- به پوشه نصب ویندوز وارد شوید.به عنوان مثال اگر دایرکتوری نصب آن c:\windows است ، آدرس cd c:\windows را تایپ نمائید.

۴- دستورات زیر را تایپ کرده و بعد از هر مورد کلید Enter را فشار دهید :

attrib -h -r -s system.dat

attrib -h -r -s system.da۰

copy system.da۰ system.dat

attrib -h -r -s user.dat

attrib -h -r -s user.da۰

copy user.da۰ user.dat

۵- کامپیوتر خود را مجددا راه اندازی نمائید.

انجام دستورات فوق رجیستری را به حالتی بر می گرداند که برای آخرین بار رجیستری در وضعیت صحیحی از آن قرار گرفته بوده است.

▪ ویندوز NT

در ویندوز NT شما می توانید یا از گزینه Last Known Good و یا از گزینه RDISK استفاده کنید تا رجیستری را به آخرین وشعیت قابل استفاده برگردانید.

چطور می توان داده های قدیمی را از رجیستری حذف کرد؟

اگر چه می توان بطور دستی اقدام به حذف مفاهیم غیر قابل استفاده نمود، اما مایکروسافت ابزاری را تهیه کرده که می تواند بطور اتوماتیک این فرایند را انجام دهد. این برنامه با نام RegClean شناخته می شود .این برنامه کلید های Windows Registry را آنالیز می کند.سپس این برنامه کلید های دارای مقادیر نادرست را یافته و آنها را از رجیستری حذف می کند.این نرم افزار از طریق آدرس زیر نیز قابل دسترسی است .