设为首页收藏本站

全球主机交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: discuz
查看: 1517|回复: 0
打印 上一主题 下一主题

[攻击防御]系统故障还魂术

[复制链接]

该用户从未签到

跳转到指定楼层
楼主
发表于 2013-4-16 12:07:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
系统故障还魂术---系统恢复控制台用法小引
  当你的系统出现比较严重的故障时,譬如启动文件丢失,引导记录被破坏或硬件有损等你会怎么办?这时安全模式进不去,"最后一次正确配置"也无法访问,重装吗?不要吧!一般说来,系统恢复控制台(如无特别说明,下文简称控制台)可以说是修复系统最后的机会.通过它可以对系统进行很多重要的操作,例如运行修复工具,启动或停止服务,访问磁盘文件,或是进行一些更高级别的操作,如手工替换系统出错的文件。

  如何进入控制台:放入安装光盘,设从光驱启动,经过一段时间的初始化,出现提示操作界面,按R进入控制台。输入操作系统的编号即可进入相应的控制台。这时系统会提示输入密码即Administrator帐户密码。

  如果觉得每次都要用光盘进入控制台不方便,可以自己安装一个硬盘版的控制台,方法如下:用有管理员权限的帐户登陆,放入安装光盘,在开始运行里输入:“x:\i386\winnt32.exe /cmdcons"并回车,X为光驱盘符。根据弹出的提示对话框操作安装即可。下次启动计算机时就会出现选择菜单,让你选择是进入系统还是控制台。

  关于控制台下的命令偶打算挑重点的介绍。需要注意的一点是,这些命令在2000/XP的命令提示符窗口(以下简称CMD)下与控制台下的用法和参数有很大的差别,这里只介绍控制台下的用法,请区别对待。有兴趣的朋友可以在CMD下打上相关命令加空格加/?来查看相关命令的用法和参数,做下比较。我们知道,在CMD下我们可以用cd \来回到根目录,使用cd..来返回上一级目录,但这些在控制台下都是无效的。必须在cd命令后写入准确的路径,如:必须使用cd c:\来进入C盘根目录。另一个典型的例子是copy命令不再支持通配符,也不能使用除文件名之外的其它参数。

  batch命令:在CMD下我们可以方便执行的批处理(.bat或.com),到控制台下却无法直接执行了。如果希望执行此类操作必须借用batch命令。
  格式: batch input-file [output-file]
  input-file:指定包含要执行的命令列表文件,可以是完整的路径和文件名称。
  output-file:将命令的执行结果输出到指定的文件,如果没有指定,默认显示在屏幕上。

  Bootcfg命令,这个命令很重要,我会重点介绍
  (一般命令的使用格式都是命令名加空格加斜杠加具体参数,这里略过)
  Bootcfg重要参数的含义:
  /default 扫描计算机,找出安装在计算机上的操作系统。然后让你选择哪个操作系统做为默认引导的操作系统。这实际上是修改C盘根目录下的boot.ini文件的default语句。
  (boot.ini属性隐藏,可在开始运行里输入c:\boot.ini直接查看。)
  
  /add 使用该参数,首先系统会扫描计算机上的操作系统,然后要求你选择要添加到boot.ini中的操作系统,并要求输入加载系统识别符(也即显示在操作系统选择菜单中的菜单项文字)以及OS加载选项(也即启动参数)
  这等同于修改了boot.ini的[operating systems]段。注意,使用/add参数是将信息追加到现有的boot.ini中,而非覆盖。需要说明的一点是,这种方法只能找出计算机存在的操作系统,但如果是先安装了高版本操作系统,再装低版本操作系统而导致系统无法启动,那么为了让系统能够启动,除了通过bootcfg /add命令修复boot.ini文件外,还应将高版本的启动文件(特别是ntldr文件)替换系统分区下的相应文件。

   /rebuild 使用该参数,系统会扫描计算机,并列出所有安装了的操作系统,然后提示是否将这些操作系统信息添加到boot.ini中。输入Y,N,A分别代表是,否,全部。剩余的操作就像使用/add参数那样为每个操作系统输入加载识别符和OS加载选项。通常,如果已经将boot.ini修改乱了,可以用该命令生成一个干净准确的boot.ini文件。

  /scan 扫描所有磁盘,并将存在的操作系统列出来。这个功能是查看存在的操作系统,但不做任何操作。

   /list 列出boot.ini文件中现有的操作系统列表,无论是有效的还是无效的。

  小结:其实bootcfg命令说白了就是通过命令形式修改boot.ini文件。关于boot.ini文件的修改除了可以在C盘根目录下用记事本打开修改外,还可以在我的电脑>属性>高级下启动和故障恢复>设置>系统启动栏里做相应修改。XP里还可以点编辑来打开boot.ini文件修改。

  chkdsk命令:使用过DOS的人肯定知道chkdsk命令,在DOS时代,chkdsk是最常用的磁盘维护工具。利用chkdsk可以检查磁盘的逻辑错误和物理错误,并进行修复。这里简单介绍下在控制台下的用法。
  格式:chkdsk [drive:]
[/r]
  说明:drive为要检查驱动器的盘符,省略该参数则检查当前驱动器。
  
   /p 即使驱动器不在chkdsk的检查范围内,也执行彻底检查。注意,该参数不对驱动器
      做任何更改。
  
   /r 扫描磁盘,找到坏扇区并进行修复,尽量恢复坏扇区中的信息.使用/r参数时也
      隐含使用了/p参数。

  执行该命令时会用到%systemroot%\system32文件夹下的autochk.exe文件,如不存
  在该文件,则会向安装光盘里找,如找不到安装光盘,则提示输入具体的位置。

  expand命令:可以从压缩包或压缩文件里提取文件.该命令非常有用,利用它可以从windows的安装光盘或其它安装位置提取正确的文件,以覆盖系统中出错的文件.
  
  说明:压缩文件通常指一个文件的压缩形式,它采用原来的文件名,但扩展名的一个字符被替换成下划线_
  
  格式:expand source [/f:filespec][destination][/y]
  expand source [/f:filespec][/d]
  参数含义:
  source 指定要从哪一个压缩包或压缩文件中进行提取.该参数是此压缩路径和文件名.
  /f:filespec 如果从压缩包中提取指定的一个或多个文件,则必须在filespec中指定这些要提取的文件的名称.这里可使用文件通配符.这时有人就不禁要问:你之前不是说不能用通配符吗?呵呵,偶之前是说过,不过偶说的是Copy命令,非所有的命令,请不要误解!
  
  destination 指定将从压缩文件中提取出来的文件以什么文件名保存到哪个目录.如果不指定,默认为当前目录.
  /d 仅列出source中包含的文件名称,但不进行提取.
  /y 如果出现有文件重名,直接覆盖,且不做提示.

  估计大家看命令看得一头雾水,不知所云,举个倒子来帮助一下理解哈.假如偶要从windows安装光盘里(假设为D盘)的Driver.cab压缩包中提取msgame.sys并保存到c:\windows\system\drivers目录下,可以用如下命令实现:
  expand D:\i386\driver.cab /f:msgame.sys c:\windows\system\drivers
  再举一例,如要把安装光盘里的压缩文件(不是压缩包)access.cp_解压到系统文件夹里应该如何做呢?我们知道access.cp_展开来就是access.cpl,它位于\system32文件夹下.所在应该输入如下命令来实现:
  expand D:\i386\access.cp_ c:\windows\system32\access.cpl
  
  系统文件丢失一般会提示文件位置与文件名,我们所要做的就是把文件的扩展名去掉最后一个字符再加上下划线就是它在安装光盘里对应的文件名,然后我们再用expand命令把安装光盘里正确的文件解压出来覆盖损坏了的文件,这样就达到了修复系统的目的.

  如果找不到压缩文件则可能在集成在压缩包里.这时我们可以用参数/d,来查看,比如想查Driver.cab里有哪些文件,应该这样输入:
  expand /d D:\i386\driver.cab

  fixboot命令:向系统分区中写入新的分区引导扇区.
  格式:fixboot [drive]
  其中drive是要写入引导扇区驱动器的盘符.它将代替默认的驱动器(即用户登陆的系统分区).fixboot只在基于X86的计算机上有效,对于安腾系统的计算机无效.

  fixmbr命令:修复启动磁盘的主引导记录.fixmbr命令仅在系统控制台中有效.
  格式:fixmbr [device_name]
  其中device_name是要写入新的主引导记录的设备(驱动器).设备名称采用物理映射名称的方式,可以用map命令获取.如\Device\HardDisk0.如果不指定该参数,则新的主引导记录将被写入当前的引导设备,也即载入主系统的驱动器中.

  map命令:可显示驱动器号与物理设备名称之间的映射关系.可不跟参数,如果加上参数map arc,则表示以ARC路径的方式显示驱动器名称.(boot.ini文件里就是以此方式显示驱动器)
  format命令:可对分区过的磁盘进行格式化,并为其指定可用的文件系统.
  格式:format [drive:] [/q][/fs:file-system]
  drive:指定要格式化的驱动器.(只适用于硬盘,对软盘无效)
  /q:快速格式化.
  /fs:file-system:被格式化的磁盘上使用的文件系统类型.可以是FAT,FAT32,NTFS等,如未指定,即使用现有的文件系统格式.
  比如要格式化E盘并转为NTFS文件系统可用如下命令:
  format e: /fs:ntfs

  diskpart命令:建立删除分区. 格式:diskpart [/add|/delete][drive_name][size]
  参数含义:
  /add 创建新磁盘分区
  size 创建的分区的大小,单位MB,仅与/add同时使用.
  /delete 删除现有分区
  drive_name:这里表示所要删除的分区盘符等.仅与/delete同时使用.

  diskpart命令如果不加任何参数则会出现管理界面,在这个界面下操作更加直观方便.与format命令结合使用即可实现分区格式化操作根本不用借助DOS.

  很多朋友系统有问题,重装,选了全新安装,但原来的系统盘没格,结果造成了两个系统并存的问题,虽然XP里没有直接格式化的选项,但我们可以变相格式化.方法是先删除原系统所在分区,再按原来的大小建立分区,把新系统选择安装在新建立的分区上,安装程序就会自动帮你格式化(呵呵,连format都省了)
  
  在控制台下还有一对命令isable与enable用来禁用和启动系统服务和设备驱动程序.大家有空去研究下哈.在控制台下用help命令查看帮助.另外用listsvc命令可列出计算机上所能使用的服务和驱动程序.该命令无参数.

  Logon命令:如果阁下对每次用完控制台都要重启觉得很烦,那这条命令就很有必要一看.如果装了多个操作系统,则用Logon命令会扫描计算机上安装的操作系统然后提供用户选择登陆,登陆时输入的密码为Administrator用户密码.如果三次登陆失败则会自动重启.利用Logon命令可以直接在控制台下进入系统,而不用重新启动计算机.

  下面列出一些控制台下也可用的DOS命令,供大家参考.
  attrib(修改文件属性),     
  chdir或cd(改变当前目录位置)
  cls(清屏)
  copy(复制),
  deltet或del(删除)
  dir(列出文件列表)
  help(查看命令帮助)
  mkdir(创建目录)
  more(显示文本文件内容)
  rename或ren(重命名)
  rmdir(删除目录),set(设置环境变量)
  type(显示文本文件内容)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|中国U网    

GMT+8, 2024-5-15 15:51 , Processed in 0.071060 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表