Uyarı: Aşağıdaki makale, sistem kayıt defterinizi düzenlemeyi içermektedir. Kayıt Defteri Düzenleyicisi'nin yanlış kullanılması, işletim sisteminizin yeniden kurulmasını gerektiren ciddi sorunlara neden olabilir. Kayıt Defteri Düzenleyicisi'ni ve aşağıdaki yönergeleri kullanmak kendi sorumluluğunuzdadır.
DOS'ta REGEDIT kullanma
Windows'ta kullandığımız REGEDIT de DOS programı olarak çalışıyor. REGEDIT.EXE, "kir" ve boş alanları geride bırakırken tam bir kayıt defteri yeniden oluşturmamızı sağlayan komut satırı değişkenlerini destekler. Yanınızda taşıyabileceğiniz ve bir disketten çalıştırabileceğiniz dört toplu iş dosyası oluşturarak komutları tekrar tekrar yazma gereksinimini ortadan kaldırırız. Basitlik adına, SYSTEM.DAT, USER.DAT ve REGEDIT.EXE'nin C: \ WINDOWS dizininde bulunduğunu varsayacağız. Birinci adım: ReadOnly ve Hidden özniteliklerini SYSTEM.DAT ve USER.DAT içinden kaldırın Windows kayıt defterini DOS'dan yeniden oluşturmanın ilk adımı, ReadOnly, Hidden ve System özniteliklerini SYSTEM.DAT ve USER.DAT dosyalarından kaldırmaktır. Öznitelikleri açıp kapatabilmenizi sağlayan bir toplu iş dosyası (REGATT.BAT) şöyle görünür: "% 1" değilse @echo kapalı == "-" "% 1" değilse = "" ""% 1r% 1h% 1s% 1s c: \ windows \ system.dat özniteliği% 1r% 1h% 1s c: \ windows \ user.dat "ENDIT" : INSTRUCT echo. echo "% 0 +" veya "% 0 -" gibi bir - veya + parametresi belirtmelisiniz: ENDIT echo.
Kullanmak için, sırasıyla dosya özniteliklerini kaldırmak veya eklemek için REGATT - veya REGATT + komutunu girin.
REGATT.BAT'ın çalışması şöyle:
@echo off: Prevents the lines that follow from being displayed on the screen while the commands are being executed. The "@" prevents "echo off" from displaying.
if not "%1"=="-" if not "%1"=="+" goto INSTRUCT: This makes the batch file look for one parameter and limits the parameter choices to either "-" or "+." If neither is found, the script jumps to the INSTRUCT portion of the batch file. Note the use of the double "equals" signs (==).
attrib %1r %1h %1s c:\windows\system.dat: Runs the "attrib" command on SYSTEM.DAT with either "-r -h -s" or "+r +h +s," depending on the parameter.
attrib %1r %1h %1s c:\windows\user.dat: Runs the "attrib" command on USER.DAT the same as it does for SYSTEM.DAT.
goto ENDIT: Jumps over the INSTRUCT statement since all went well.
:INSTRUCT: Label that identifies this portion of the batch file.
echo.–: Prints a blank line on the screen. Note that there is no space between "echo" and "."
echo You must specify a - or + parameter, as in "%0 +" or "%0 -": Instructions for using the batch file. The %0 is a variable that is automatically replaced by DOS with the name of the batch file you typed on the command line. If you typed regatt in lower case, the line will read "You must specify a - or + parameter, as in regatt + or regatt -." If you change the name of the batch file to "wom.bat" and type WOM in upper case, it will read "You must specify a - or + parameter, as in WOM + or WOM -" without further editing. Neat, huh?
:ENDIT: Label that identifies this portion of the batch file.
echo.: Prints a blank line on the screen before returning to the prompt.
İkinci adım: SYSTEM.DAT ve USER.DAT yedeğini oluşturun Yeniden oluşturma işlemi, geçerli kayıt defterini etkin biçimde yok eder. Yeniden oluşturma işlemi başarısız olursa (DAT dosyaları kötü bir şekilde bozulduğunda gerçekleşti), kayıt defteri olmayacak. Geri yüklemek için bozuk bir kayıt defterine sahip olmak, hiçbir kayıt defterine sahip olmamaktan iyidir. Yedekleme yapmak için, "unattribbed" SYSTEM.DAT ve KULLANICI. \ windows \ system.% 1 kopya c: \ windows \ user.dat c: \ windows \ user.% 1 giriş ENDIT: INSTRUCT echo. echo "% 0 sav" da olduğu gibi 1 ila 3 karakterlik bir dosya uzantısı girmelisiniz: ENDIT echo.
REGBACK.BAT içindeki satırların çoğu REGATT.BAT'dakilere benzer. Üç benzersiz çizgi:
if "%1"=="" goto INSTRUCT: This jumps to the INSTRUCT section if no parameter is given after the "regback" command. Without a parameter, the value of %1 is null, so the statement translates to if ""=="" goto INSTRUCT and, since double-quotes indeed equal double-quotes, the script jumps to give the user instructions.
copy c:\windows\system.dat c:\windows\system.%1: Copies SYSTEM.DAT to SYSTEM.parameter. Be sure to limit your parameter to three allowable DOS characters.
copy c:\windows\user.dat c:\windows\user.%1: Copies USER.DAT to USER.parameter as above.
Üçüncü adım: Kayıt defterinin yeniden yapılandırılması SİSTEMİNİN YEDEK KOPYALARINI YAPMADAN SİZİN KOMUTLARINI ÇALIŞTIRMAYINIZ. Unutmayın, kayıt aşamasında mevcut kopyayı yeniden oluşturma aşamasında imha edersiniz. Yeniden yapılanma başarısız olursa, sen de öyle yapacaksın. Kendi yedeğini aldığından emin ol. REGREBLD.BAT şöyle görünür: @ echo off echo. echo Kayıt defteri içeriğini dışa aktarma. Lütfen bekleyin ... regedit /l:c:\windows\system.dat / r: c: \ windows \ user.dat /ec:\windows\newreg.reg echo Windows kayıt defterini yeniden oluşturma. Kesmeyin! regedit /l:c:\windows\system.dat / r: c: \ windows \ user.dat /cc:\windows\newreg.reg eko. del c: \ windows \ newreg.reg eko.
REGREBLD.BAT hiçbir parametre almaz. İşte çok önemli çizgilerin yaptığı:
echo Exporting registry contents. Please wait...: The REGEDIT "export" command displays no information while it's executing. This is a courtesy line to let you know that something is happening.
regedit /l:c:\windows\system.dat /r:c:\windows\user.dat /e c:\windows\newreg.reg: Exports the contents of the current registry to a file we'll call "newreg.reg." The "/l:" and "/r:" switches point to the exact paths of SYSTEM.DAT and USER.DAT, respectively. The "/e" switch is for "export" and "c:\windows\newreg.reg" is the name of the target file that is created during the process.
echo Rebuilding the Windows registry. Do not interrupt!: Another courtesy statement. Unlike the "export" command, the REGEDIT "create" command displays a progress counter. However, it doesn't state what it's creating, only that it’s importing.
regedit /l:c:\windows\system.dat /r:c:\windows\user.dat /c c:\windows\newreg.reg: Creates a new registry from the contents of "c:\windows\newreg.reg." The key here is the "/c" switch, for "create." As soon as it is encountered, the current SYSTEM.DAT and USER.DAT are destroyed as new files are created from the data in newreg.reg. If this process is interrupted, the new registry will be incomplete and, therefore, useless.
echo.: The progress counter that is displayed by REGEDIT does not have a carriage return. This statement forces one at the completion of the "create" process.
del c:\windows\newreg.reg: Deletes the now unnecessary newreg.reg data file. You can remove this line if you want to look at the contents of newreg.reg before you delete it manually.
Tam verme / oluşturma yordamı, geçerli kayıt defterinin boyutuna ve durumuna bağlı olarak oldukça zaman alabilir. Masaüstü bilgisayarlarda kayıt defterini yeniden oluşturmak için beş dakikadan bir saate kadar sürebildiğini gördüm. Dizüstü bilgisayarlarda kullanmanızı tavsiye etmiyorum. Yeniden oluşturma başarılı olursa (ve çoğu zaman), bir sonraki adıma ihtiyacınız olmayacaktır.
Dördüncü adım: Başarısız bir yeniden yüklemeyi geri yükleme Dördüncü adım, başarısız bir yeniden oluşturma işleminin SYSTEM.DAT ve USER.DAT dosyalarını çalışmadan ayrılmanız durumunda kayıt defterini önceki durumuna getirmesini içerir. Bu toplu iş dosyasına REGRET.BAT diyoruz. Yedeklerinizi oluştururken kullandığınız uzantıyı hatırlıyor musunuz? Burada ihtiyacınız olacak: @echo kapalı "% 1" == "" eğer c: \ windows \ system mevcut değilse INSTRUCT \ 'a sahip değil.% 1 goto NOFILE yoksa c: \ windows \ user. -r -h -sc: \ windows \ system.dat niteliği -r -h -sc: \ windows \ user.dat del c: \ windows \ system.dat del c: \ windows \ user.dat kopya c: \ windows \ system.% 1 c: \ windows \ system.dat kopya c: \ windows \ user.% 1 c: \ windows \ user.dat ENDIT: NOFILE echo. echo "% 1" yedekleme dosyalarınızdan biri veya daha fazlası bulunamıyor! echo Lütfen dosya uzantınızı doğrulayın ve tekrar deneyin. ENDIT: INSTRUCT echo.
REGRET.BAT komut isteminde “pişmanlıktan çıkma” komutunu girerek çalışır; burada “ext”, yedeklemenizi oluştururken kullandığınız uzantıdır. Dahili dosyalar bulunmazsa, REGRET size söyler. REGRET komutlarının tümü, önceki toplu iş dosyalarında kullandıklarımıza benzer. Başarısız olan SYSTEM.DAT ve USER.DAT dosyalarını sildikten sonra yedekleri yeniden adlandırmak yerine DAT'lere kopyaladığımızı unutmayın. Bir daha ihtiyaç duymayacaklarından kesinlikle emin olana kadar kritik yedekleme dosyalarını silmek konusunda kendimi rahat hissetmiyorum. Rahat olduğunuzda bunları manuel olarak silin.
Öğrendiklerinizi kullanın Şimdi toplu iş dosyalarınız var, devam edin ve onları hasta bir sistemde deneyin. Bilgisayarı gerçek bir DOS "Yalnızca güvenli mod komut istemi" olarak önyükleyin ve dosyaları bir disketten çalıştırın. Disketi önyüklenebilir hale getirirseniz, C: \ WINDOWS; C: \ WINDOWS \ COMMAND için bir yol ifadesi içeren bir AUTOEXEC.BAT olduğundan emin olun. Kayıt defterinin başarılı bir şekilde yeniden yapılandırılması, birçok Windows koruma hatası da dahil olmak üzere "gizemli" Windows sorunlarınızın çoğunu çözecektir.
Kaynak: TechRepublic