由于突然停电,一台机器出现了故障。自检完成后出现
“\system32\ntoskrnl.exe丢失无法启动”
懒的重新装系统,ghost安装偶不喜欢。难道没其他办法了么?

老是听说Windows故障恢复控制台,也没怎么玩过,今天这不很好的机会么?
设置从CD-ROM启动,用Windows XP安装光盘启动系统,选择故障恢复控制台进入。
因为administrator密码为空,直接回车进入到 C:\WINDOWS>目录下。
可以从安装光盘的i386文件夹或者“C:\WINDOWS\Driver Cache\i386>”下的sp2.cab文件里提取ntoskrnl.exe文件,我选择后者。
因为目录比较深,先复制一个先:
C:\>copy "C:\WINDOWS\Driver Cache\i386\sp2.cab" c:\
已复制         1 个文件。
然后查看一下文件是否存在:
C:\>expand c:\sp2.cab /d /f:ntoskrnl.exe
Microsoft (R) 文件展开实用程序  版本 5.1.2600.0
版权所有 (C) Microsoft Corp 1990-1999。保留所有权利。
c:\sp2.cab: ntoskrnl.exe
有了,呵呵。很好办,直接释放到 windows\system32目录下即可:
C:\>expand c:\sp2.cab /f:ntoskrnl.exe c:\windows\system32
Microsoft (R) 文件展开实用程序  版本 5.1.2600.0
版权所有 (C) Microsoft Corp 1990-1999。保留所有权利。
将 c:\sp2.cab 展开成 c:\windows\system32\ntoskrnl.exe。
最后exit命令退出故障恢复控制台,机器自动reboot。
HOHO~~……看到了熟悉的Windows XP滚动条……
Expand

  从压缩文件中提取文件。通过该命令可从 .cab 文件或压缩文件中提取驱动程序文件。

  含有下列参数的 expand 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 expand 命令。

  expand source [ /F:filespec}] [ destination] [ /d] [ /y]

  参数

  source

  指定要展开的文件。如果源文件只包含一个文件,请使用该选项。source 可由驱动器号和冒号、目录名、文件名或组合所组成。不能使用通配符。

  /f:size

  如果源文件包含多个文件,指定要提取的文件的名称。可以对要提取的文件使用通配符。

  destination

  指定提取文件或每个单独文件的目标目录和(或)文件名。

  /d

  列出 CAB 文件中包含的文件而不展开或提取。

  /y

  在展开或提取文件时不出现覆盖提示。

  范例

  下例将从安装 CD 上的驱动程序 CAB 文件中提取 Msgame.sys 文件并将其复制到 C:\Windows\System\Drivers:

  expand d:\i386\driver.cab\f:msgame.sys c:\windows\system\drivers

  下例将展开压缩文件 Access.cp_:

  expand d:\i386\acces.cp_c:\windows\system32\access.cpl

  下例将列出安装 CD 上的驱动程序 CAB 文件中的所有文件。

  expand /d d:\i386\driver.cab

  要点

驱动程序 CAB 文件包含成千上万的文件,其中包括由 Windows 提供的大部分驱动程序。将所有文件从 CAB 文件展开到硬盘上需要花较长的时间和大量的磁盘空间。建议仅从该文件中提取需要的文件。

注意

如果没有指定目标,文件将被复制到当前目录。
不能将软盘驱动器或 CD-ROM 等可移动媒体指定为目标。