Skip to main content

Windows XP 自动注销

刚遇到的问题,也正是使得我下定决心积累经验的事故:

症状:可以进到登录画面,但是输入密码登录任何一个账户后,只见"正在加载用户设置",然后桌面一闪,接着就是"正在注销" ----
又回到登录界面了。。。我晕。 安全模式也不起作用

原因:注册表损坏,键值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下
Userinit = "c:\windows\system32\userinit.exe"

大概是我杀毒时误操作给删了。。唉。

解决过程:当然得改注册表了。
麻烦的是手头没有任何工具光盘,笔记本也不支持软盘。
不过手头有两台好的电脑,一台WindowsXP,另一台Ubuntu,而且有网络,另有移动硬盘,U盘
开始时考虑用移动硬盘启动Linux,不过看似挺麻烦,最终没弄会
后来决定做个U盘启动盘(移动硬盘是俺爹的,不让我随便格式化)
使用软件USBoot 1.66,关于U盘模式还试了一大堆,一开始怎么都不成功,后来发现毛病出在笔记本电脑BIOS中的启动设置。我发现在开电脑前插上U盘后,主板就能认U盘,可以和硬盘"平起平坐"地选择启动顺序,嗯,不错。只怪我一开始没发现,每次都让硬盘排前面。当然最后还是成功了。(失败是晚上的事,成功已经是转天了,结果郁闷了一夜。。)
USBoot提供的是MS-DOS 7.1 环境,
这里没有reg命令,不能直接改注册表,于是。。我想到了当年在黑客杂志中看到的一个办法(一直很佩服这个方法的发明者,亏他想的出来)
登录时实际上也有屏保,监测时间似乎是15分钟左右,文件为c:\windows\system32\logon.scr,用户为SYSTEM,不知道这个屏保是否可以禁掉
进了DOS后(幸好系统盘是FAT32的,如果是NTFS的,不知NTFSforDOS是否好用,再不行就上Linux了!),备份好logon.scr,用c:\windows\system32\cmd.exe替换之,然后重启。
得等上15分钟,于是我用另一台机器玩了会游戏。然后,哈哈,我那可爱的命令提示符出现了。
开始犯傻,看了半天reg.exe的帮助,发现有点麻烦,然后就想到用U盘从好的那台Windows机器上导出个.reg,刚打开注册表编辑器就发现自己还是太傻
---- 终于醒悟了。直接用命令提示符运行regedit,直接改键值(幸亏最终想出来了,要不让人笑话死)。
然后就能登录了,高兴得我大喊大叫直跺地,被俺娘喝止:"还让不让你爸睡觉了!"


考虑其他方案(均未验证)
1.不知故障恢复控制台是否能直接改注册表,即使不能,至少可以从别处烤来注册表内容应应急,它们是c:\windows\config的system、sam、software、security、default五个文件,另外c:\windows\repair中应该也保留着这些文件,我不知道是刚安装好的还是"最后一次正确配置"的,不妨试试
要有Linux安装盘也可以试试,我只用过Ubuntu,Hiweed,都是LiveCD,文字界面的应该也能用控制台,对ntfs支持的不错。其他就同上了
用了临时的注册表文件启动后还得把原来的改好,regedit里文件菜单项下有个"加载配置单元",据说可以,不过我没试过,我只知道选中HKEY_LOCAL_MACHINE或HKEY_USERS这个选项才管用
2.有个红叶XXXX工具光盘据说能直接改注册表,不知道是否可行。


总结:
1.检查键值
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下
Userinit = "c:\windows\system32\userinit.exe"
以及c:\windows\system32\userinit.exe

2.制作U盘启动盘 ----- USBoot

3.注意主板BIOS启动顺序设置,特别是能直接认USB的。

4.logon.scr替换法,当初介绍这个方法的是讲入侵的,忘了SYSTEM是否能建用户,反正本例中能改注册表就够了,要不还得权限提升。。。。

Comments

Popular posts from this blog

[转] UTF-8 and Unicode FAQ for Unix/Linux

这几天,这个东西把我搞得很头疼 而且这篇文章好像太大了,blogger自己的发布系统不能发 只好用mail了 //原文 http://www.cl.cam.ac.uk/~mgk25/unicode.html UTF-8 and Unicode FAQ for Unix/Linux by Markus Kuhn This text is a very comprehensive one-stop information resource on how you can use Unicode/UTF-8 on POSIX systems (Linux, Unix). You will find here both introductory information for every user, as well as detailed references for the experienced developer. Unicode has started to replace ASCII, ISO 8859 and EUC at all levels. It enables users to handle not only practically any script and language used on this planet, it also supports a comprehensive set of mathematical and technical symbols to simplify scientific information exchange. With the UTF-8 encoding, Unicode can be used in a convenient and backwards compatible way in environments that were designed entirely around ASCII, like Unix. UTF-8 is the way in which Unicode is used under Unix, Linux, and similar systems. It is now time to make sure that you are well familiar ...

Determine Perspective Lines With Off-page Vanishing Point

In perspective drawing, a vanishing point represents a group of parallel lines, in other words, a direction. For any point on the paper, if we want a line towards the same direction (in the 3d space), we simply draw a line through it and the vanishing point. But sometimes the vanishing point is too far away, such that it is outside the paper/canvas. In this example, we have a point P and two perspective lines L1 and L2. The vanishing point VP is naturally the intersection of L1 and L2. The task is to draw a line through P and VP, without having VP on the paper. I am aware of a few traditional solutions: 1. Use extra pieces of paper such that we can extend L1 and L2 until we see VP. 2. Draw everything in a smaller scale, such that we can see both P and VP on the paper. Draw the line and scale everything back. 3. Draw a perspective grid using the Brewer Method. #1 and #2 might be quite practical. #3 may not guarantee a solution, unless we can measure distances/p...

Moving Items Along Bezier Curves with CSS Animation (Part 2: Time Warp)

This is a follow-up of my earlier article.  I realized that there is another way of achieving the same effect. This article has lots of nice examples and explanations, the basic idea is to make very simple @keyframe rules, usually just a linear movement, then use timing function to distort the time, such that the motion path becomes the desired curve. I'd like to call it the "time warp" hack. Demo See the Pen Interactive cubic Bezier curve + CSS animation by Lu Wang ( @coolwanglu ) on CodePen . How does it work? Recall that a cubic Bezier curve is defined by this formula : \[B(t) = (1-t)^3P_0+3(1-t)^2tP_1+3(1-t)t^2P_2+t^3P_3,\ 0 \le t \le 1.\] In the 2D case, \(B(t)\) has two coordinates, \(x(t)\) and \(y(t)\). Define \(x_i\) to the be x coordinate of \(P_i\), then we have: \[x(t) = (1-t)^3x_0+3(1-t)^2tx_1+3(1-t)t^2x_2+t^3x_3,\ 0 \le t \le 1.\] So, for our animated element, we want to make sure that the x coordiante (i.e. the "left" CSS property) is \(...