首页
游戏
影视
直播
广播
听书
音乐
图片
更多
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的云盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的音乐
我的影视
我的邮件
Search
1
科普:Memory Compiler生成的Register file和SRAM有何区别?
90 阅读
2
在IC617中进行xa+vcs数模混仿
88 阅读
3
virtuoso和empyrean alps模拟仿真和混仿教程
87 阅读
4
vcs debug rtl或者netlist 中的loop
53 阅读
5
文档内容搜索哪家强? 15款文件搜索软件横向评测
42 阅读
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
登录
Search
标签搜索
python
Docker
vcs
PyQT
STM32
cadence
linux
systemverilog
EDA
Alist
vscode
uos
package
MCU
C
QT
CXL
sed
sv
webdav
bennyhe
累计撰写
344
篇文章
累计收到
31
条评论
首页
栏目
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
页面
游戏
影视
直播
广播
听书
音乐
图片
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的云盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的音乐
我的影视
我的邮件
搜索到
344
篇与
的结果
2025-07-14
系统自带的最不起眼但又最强的杀毒工具 此博文包含图片 (2008-06-09 09:32:11)
Windows系统集成了无数的工具,它们各司其职,满足用户不同的应用需求。其实这些工具“多才多艺”,如果你有足够的想象力并且善于挖掘,你会发现它们除了本行之外还可以帮我们杀毒。不信?你看吧! 一、任务管理器给病毒背后一刀 Windows任务管理器是大家对进程进行管理的主要工具,在它的“进程”选项卡中能查看当前系统进程信息。在默认设置下,一般只能看到映像名称、用户名、CPU占用、内存使用等几项,而更多如I/O读写、虚拟内存大小等信息却被隐藏了起来。可别小看了这些被隐藏的信息,当系统出现莫名其妙的故障时,没准就能从它们中间找出突破口。 1.查杀会自动消失的双进程木马 前段时间朋友的电脑中了某木马,通过任务管理器查出该木马进程为“system.exe”,终止它后再刷新,它又会复活。进入安全模式把c:\windows\system32\system.exe删除,重启后它又会重新加载,怎么也无法彻底清除它。从此现象来看,朋友中的应该是双进程木马。这种木马有监护进程,会定时进行扫描,一旦发现被监护的进程遭到查杀就会复活它。而且现在很多双进程木马互为监视,互相复活。因此查杀的关键是找到这“互相依靠”的两个木马文件。借助任务管理器的PID标识可以找到木马进程。 调出Windows任务管理器,首先在“查看→选择列”中勾选“PID(进程标识符)”,这样返回任务管理器窗口后可以看到每一个进程的PID标识。这样当我们终止一个进程,它再生后通过PID标识就可以找到再生它的父进程。启动命令提示符窗口,执行“taskkill /im system.exe /f”命令。刷新一下电脑后重新输入上述命令如图1,可以看到这次终止的system.exe进程的PID为1536,它属于PID为676的某个进程。也就是说PID为1536的system.exe进程是由PID为676的进程创建的。返回任务管理器,通过查询进程PID得知它就是“internet.exe”进程进程。(如图)http://www.news365.com.cn/wxpd/sm/fwpt/200804/W020080410345690783785.jpg 找到了元凶就好办了,现在重新启动系统进入安全模式,使用搜索功能找到木马文件c:\windows\internet.exe ,然后将它们删除即可。前面无法删除system.exe,主要是由于没有找到internet.exe(且没有删除其启动键值),导致重新进入系统后internet.exe复活木马。 2.揪出狂写硬盘的P2P程序 单位一电脑一开机上网就发现硬盘灯一直闪个不停,硬盘狂旋转。显然是本机有什么程序正在进行数据的读取,但是反复杀毒也没发现病毒、木马等恶意程序。 打开该电脑并上网,按Ctrl+Alt+Del键启动了任务管理器,切换到“进程”选项卡,点击菜单命令“查看→选择列”,同时勾选上“I/O写入”和“I/O写入字节”两项。确定后返回任务管理器,发现一个陌生的进程hidel.exe,虽然它占用的CPU和内存并不是特别大,但是I/O的写入量却大得惊人,看来就是它在捣鬼了,赶紧右击它并选择“结束进程”终止,果然硬盘读写恢复正常了。 二、系统备份工具杀毒于无形 笔者曾遭遇一个无法删除的病毒“C:\Program Files\Common Files\PCSuite\rasdf.exe”,同时也无法复制这个文件,如何清除它。笔者通过系统备份工具清除了该病毒,操作过程如下: 第一步:单击“开始→所有程序→附件→系统工具→备份”,打开备份或还原向导窗口,备份项目选择“让我选择要备份的内容”,定位到“C:\Program Files\Common Files\PCSuite”。 第二步:继续执行备份向导操作,将备份文件保存为“g:\virus.bkf”,备份选项勾选“使用卷阴影复制”,剩余操作按默认设置完成备份。 第三步:双击“g:\virus.bak”,打开备份或还原向导,把备份还原到“g:\virus”。接着打开“g:\virus”,使用记事本打开病毒文件“rasdf.exe”,然后随便删除其中几行代码并保存,这样病毒就被我们使用记事本破坏了(它再也无法运行)。 第四步:操作同上,重新制作“k:\virus”的备份为“k:\virus1.bkf”。然后启动还原向导,还原位置选择“C:\Program Files\Common Files\PCSuite\”,还原选项选择“替换现有文件”。这样,虽然当前病毒正在运行,但备份组件仍然可以使用坏的病毒文件替换当前病毒。还原完成后,系统提示重新启动,重启后病毒就不会启动了(因为它已被记事本破坏)。 三、记事本借刀杀人 1.双进程木马的查杀 现在,越来越多的木马采用双进程守护技术保护自己,就是两个拥有同样功能的代码程序,不断地检测对方是否已经被别人终止,如果发现对方已经被终止了,那么又开始创建对方,这给我们的查杀带来很大的困难。不过,此类木马也有“软肋”,它只通过进程列表进程名称来判断被守护进程是否存在。这样,我们只要用记事本程序来替代木马进程,就可以达到“欺骗”守护进程的目的。 下面以某变种木马的查杀为例。中招该木马后,木马的“internet.exe”和“systemtray.exe”两个进程会互相监视。当然,我们中招的时候大多不知道木马具体的监护进程。不过,通过进程名称可以知道,“systemtray.exe”是异常的进程,因为系统正常进程中没有该进程。下面使用替换方法来查杀该木马。 第一步:单击“开始→运行”,输入“Msinfo32”打开系统信息窗口,展开“系统摘要→软件环境→正在运行任务”,这里可以看到“systemtray.exe”路径在“C:\Windows\System32”下。 第二步:打开“C:\Windows\System32”,复制记事本程序“notepad.exe”到“D:\” ,同时重命名为“systemtray.exe”。 第三步:打开记事本程序,输入下列代码,保存为“shadu.bat”,放置在桌面(括号为注释,无须输入): @echo off Taskkill /f /im systemtray.exe (使用taskkill命令强行终止“systemtray.exe”进程) Delete C:\Windows\System32\systemtray.exe (删除病毒文件) Copy d:\systemtray.exe C:\Windows\System32(替换病毒文件) 第四步:现在只要在桌面运行“shadu.bat”,系统会将“systemtray.exe”进程终止并删除,同时把改名的记事本程序复制到系统目录。这样,守护进程会“误以为”被守护进程还存在,它会立刻启动一个记事本程序。 第五步:接下来我们只要找出监视进程并删除即可,在命令提示符输入: “taskkill /f /im systemtray.exe ”,将守护进程再生的“systemtray.exe”终止,可以看到“systemtray.exe”进程是由“PID 3288的进程”创建的,打开任务管理器可以看到“PID 3288的进程”为“internet.exe”,这就是再生进程的“元凶”。 第六步:按照第一步方式,打开系统信息窗口可以看到“internet.exe”也位于系统目录,终止“internet.exe”进程并进入系统目录把上述两个文件删除即可。 2.使病毒失效并删除 大家知道,文件都是由编码组成的,记事本程序理论上可以打开任意文件(只不过有些会显示为乱码)。我们可以将病毒打开方式关联到记事本,使之启动后变成由记事本打开,失去作恶的功能。比如,一些顽固病毒常常会在注册表的“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”等启动位置生成难以删除的键值,达到恶意启动的目的。下面使用记事本来“废”掉病毒的生命力。 第一步:启动命令提示符,输入“ftype exefile=notepad.exe %1”,把所有EXE程序打开方式关联到记事本程序,重启系统后我们会发现桌面自动启动好几个程序,这里包括系统正常的程序如输入法、音量调整程序等,当然也包括恶意启动的流氓程序,不过现在都被记事本打开了。 第二步:根据记事本窗口标题找到病毒程序,比如上例的systemtray.exe程序,找到这个记事本窗口后,单击“文件→另存为”,我们就可以看到病毒具体路径在“C:\Windows\System32”下。现在关掉记事本窗口,按上述路径提示进入系统目录删除病毒即可。 第三步:删除病毒后就可以删除病毒启动键值了,接着重启电脑,按住F8,然后在安全模式菜单选择“带命令提示的安全模式”,进入系统后会自动打开命令提示符。输入“ftype exefile="%1"%*”恢复exe文件打开方式即可。 四、注册表映像劫持让病毒没脾气 现在病毒都会采用IFO的技术,通俗的讲法是映像劫持,利用的是注册表中的如下键值 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options位置来改变程序调用的,而病毒却利用此处将正常的杀毒软件给偷换成病毒程序。恰恰相反,让我们自己可以利用此处欺瞒病毒木马,让它实效。可谓,瞒天过海,还治其人。 下面我们以屏蔽某未知病毒KAVSVC.EXE为例,操作方法如下: 第一步:先建立以下一文本文件,输入以下内容,另存为1.reg Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\KAVSVC.EXE] "Debugger"="d:\1.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\KAVSVC.EXE] "Debugger"="d:\1.exe" (注:第一行代码下有空行。) 第二步:双击导入该reg文件后,确定。 第三步:点“开始→运行”后,输入KAVSVC.EXE。 提示:1.exe可以是任意无用的文件,是我们随意创建一个文本文件后将后缀名.txt改为.exe的, 总结:当我们饱受病毒木马的折磨,在杀毒软件无能为力或者感觉“杀鸡焉用宰牛刀”时,不妨运用系统工具进行病毒木马的查杀,说不定会起到意想不到的效果。
2025年07月14日
16 阅读
0 评论
0 点赞
2025-07-14
NTFS和FAT文件系统中的尺寸限制 (2008-06-09 09:31:31)
NTFS和FAT文件系统中的尺寸限制每个文件系统都支持一个最大的卷尺寸,文件尺寸,已经每卷可容纳的文件最大数量。因为FAT16和FAT32分别支持4GB和32GB的卷,要创建大于32GB的卷,就必须使用NTFS格式。如果在多系统共存的计算机中使用FAT16或FAT32格式,就必须对其尺寸限制有所了解:一、小于16MB的FAT卷会被格式化为FAT12格式二、使用MS-DOS,Win95,Win98,WinMe,以及其它很多操作系统的计算机,其FAT16卷如果超过2GB就不可访问了。这个2GB的限制是由于这些操作系统不支持超过32KB的簇。三、理论上说,FAT32卷可以达到约8TB;而实际上,WinXPProfessional可以格式化的最大FAT32卷也就是32GB而已。所以,必须使用NTFS格式来格式化超过32GB的卷。但,WinXPPro可以读写用其它操作系统格式化的更大的FAT32卷。四、如果要建立包含多个物理磁盘的卷,例如跨区卷和带区卷,那么卷的大小就取决于每块磁盘上所使用了的空间。在多物理磁盘上创建大于32GB的卷,仍然要使用NTFS格式。有关FAT16和FAT32的更多信息,参见“FAT文件系统”。NTFS卷上的最大尺寸理论上,NTFS的最大卷包含264减1个簇。实际上,WinXPPro中,NTFS卷的最大限制是232减1个簇。举例来说,如果是64KB的簇,那NTFS卷的最大尺寸就是256TB减64KB这么大。如果使用默认的4KB簇,NTFS卷的最大尺寸就是16TB减4KB这么大了。由于主引导记录(MBR)中分区表的限制,硬盘仅仅支持最大2TB的分区。要超过这个限制,必须建立NTFS的动态卷。WindowsXPProfessional使用了一种有别于分区表的特殊的数据库来管理动态卷,这就是动态卷可以超过在分区表中2TB限制的原因。动态NTFS卷可以达到NTFS支持的卷尺寸的最大限制。使用GUID分区表的安腾计算机也可以支持超过2TB的NTFS卷。注如果在一个NTFS文件夹中包含了大量的(300,000或更多)的文件,请禁止生成短文件名,特别是当长文件名的前6个字符相近的时候。详见后续译文“NTFS性能优化”。NTFS性能优化NTFS的性能受很多因素影响,比如簇的大小,磁盘碎片的多少,以及象反病毒软件等应用程序的使用情况等等。此外,NTFS的一些特性,如压缩和索引服务同样可能影响其性能。可以通过下面的一些方法来优化NTFS的性能。簇的大小在格式化一个NTFS卷之前,你首先要对自己要保存在该卷上的文件的类型做一个评估,以便决定是否使用默认的簇大小。即,重要的是先回答:这些(要保存)的文件是否大小基本一致?是否大部分文件的尺寸要小于默认簇的大小?这些文件的尺寸是不变的还是常变的?如果大部分文件都小于默认簇的大小(比如4KB)并且都保持文件尺寸不变,使用默认簇大小将减小磁盘空间的浪费。因为,此时簇的尺寸变小将增加碎片产生的可能,尤其当这些(4KB左右)的文件占用了超过一个簇的空间的时候。所以这时候可以在格式化卷的时候对簇的大小做相应的设定。如果要存储的文件会比较大,或者尺寸可能会增大,就该用16或32KB的簇来替代4KB的簇。注意:压缩功能只在4KB或更小的簇为基本存储单位的卷上才可以实现。在Windows2000或更早版本的windows产品中从FAT到NTFS转换的时候也可能影响簇的大小。因为,被转换的卷,簇的大小是512byte,主文件表(MFT)也很可能在转换过程中产生碎片。作为优化性能的考虑,应该备份该卷的所有数据,重新格式化该卷,并在格式化的过程中指定簇的尺寸,然后再恢复数据。如果想进一步了解对簇的尺寸选择的相关知识,请参考本章前面讲过的“簇尺寸”内容。短文件名每当建立一个长文件名的文件时,NTFS就会自动产生一个类似8-3短文件名的备份条目。8-3短文件名即用8个字符表示文件名,3个字符表示文件的扩展名,文件名和扩展名之间用一个句点隔开。如果在一个文件夹中包含了非常多(例如300,000个或更多)的文件,而且所有文件都采用了长文件名规则命名并且初始的字符都相同,那么建立这些文件所需的时间就要增多。这是由于NTFS是根据长文件名的前6个字符来建立短文件名索引的。在多于300,000个文件的一个文件夹中,由NTFS用8-3规则建立文件名相似的长文件所对应的短文件名备份时会产生冲突。这种在建立新的短文件名时和已经存在的短文件名之间的冲突,会使NTFS在建立新文件的时候,所耗费的时间是没有这种冲突时的6到8倍。要减少这种在建立新文件时所耗费的时间,可以在命令提示符下使用fsutilbehaviorset这个命令来禁用8-3规则以优化文件系统性能。详见本章最后部分:“在NTFS上建立MS-DOS-可读取的文件名”。如果既要让NTFS使用8-3命名规则建立文件名备份,又要提高其系统性能,可以通过建立命名规划,使长文件名在文件名的开始而不是在结尾来体现文件名的不同。详见“WindowsXPProfessional中的文件名”一节。文件夹结构NTFS支持在每个卷上有大量文件和文件夹的多个卷的存在,由使用者来组织文件夹结构以达到最优化的工作表现。在决定一个文件夹的结构时,下面几点是要考虑到的:如果要频繁和快速地建立、删除、打开和关闭其中的文件,就要尽量避免把大量文件放入一个文件夹内。最好的解决方案就是把它们分门别类地放到几个子文件夹中去,这样才能条理清晰地分配自己的工作量。要是文件之间没有彼此的关联,无法放到几个逻辑上有关联的文件夹中去,那就应该禁用8-3文件名的生成。而如果的确需要8-3文件名(译者注:例如在dos下兼容的需要),提前制订自己的命名计划,使长文件名的前6个字符不尽相同。关键点文件夹越大,运行chkdsk.exe命令所需的时间越长。详见“磁盘与文件系统常见问题集”。磁盘碎片存在大量碎片的卷,其性能要比经常做碎片整理的卷差。可以通过磁盘碎片整理控制台或者命令提示符下的defrag命令在每周空闲的时候进行磁盘碎片的整理。详见本章前面的小节“对NTFS卷进行磁盘整理”。反病毒程序反病毒程序在系统之上扫描病毒,就像撑起了一个保护伞,这也影响到文件系统的性能。这种影响对不同的杀毒软件来说也不一样。在评价杀毒软件的时候,要看哪一个软件在进行基线测试的时候对系统环境影响最小。众多反病毒软件都提供了随用户意愿来自定义软件运行参数的调节选项以降低对操作系统性能的影响。压缩功能压缩功能同样增加了系统的额外开销。即使在同一计算机内拷贝文件的时候,压缩文件系统也要经历一个解压缩、拷贝、重压缩为新文件这样一个过程。详见本章前面的小节“文件压缩”。索引服务对Win2000/XP用户来说,如果经常在NTFS卷上查找文件,可以通过开启索引服务来大大减少查找的时间。就是对资料的内容(而不仅仅是标题,译者注)进行查找的时候,索引服务同样起作用。开启索引服务后,NTFS会使用系统的一部分资源来建立和维护索引,跟踪文件更改并对这种更改进行记录。而这些操作仅仅带来很小的性能牺牲。实际上,对于经常进行搜索的卷来说,启用索引服务所带来的查找速度的提升幅度,要远远高于由此带来的文件系统性能下降的幅度。详见本章前面小节“索引服务”。最近访问时间NTFS卷上的每个文件和文件夹都有一个属性,就是“最近访问时间”(LAT),这个属性表明了该文件或文件夹的最后访问时间。比如当某用户打开文件夹列表,在文件夹中添加文件,读取一个文件,或者对某文件进行更改的时候,都会改变这个属性。LAT是存储在内存中并最终在磁盘的两个地方完成写入:一、MFT记录中文件属性的部分二、该文件的目录项中。目录项存储在包含该文件的文件夹中,包含多个物理连接的文件(译者理解:文件在空间上的物理存储是不一定连续的,可能有多个物理片段,每个片段称为一个“连接”)也就有多个目录项。磁盘上已经存在的LAT并不总是最新的,这是由于NTFS每隔一个小时才将在内存中打开的文件的该属性保存一次。在用户或应用程序对文件进行只读操作的时候,NTFS也会延后“最后访问时间”属性的写入,比如在列文件夹目录或者读取(但不是更改)文件夹中的一个文件的时候。如果对于“读”操作,LAT属性也要保持最新的话,所有的“读”操作就变成了“写”操作,这对NTFS的性能是影响很大的。注基于文件属性的LAT,即使它的所有在当前存储于磁盘上的值完全不正确,也无关紧要。NTFS会随时将磁盘上的可疑属性值用内存中存储的精确值来替换。NTFS最终会在下列位置,将内存中的LAT存储到磁盘上。在文件的属性中如果当前内存中的LAT和上次保存在硬盘上的LAT有一个小时的时差,或者内存中对该文件的所有进程都结束的时候,NTFS就会对该文件的LAT属性进行更新。例如,如果当前一个文件的LAT是1:00P.M.,而你在1:30P.M.又读取了该文件,NTFS不会更新该LAT。而如果你又在2:00P.M.的时候再次读取该文件,NTFS会把该文件的LAT属性更新到2:00P.M.,因为此时该文件的LAT存储属性为1:00P.M.而内存中的属性为2:00P.M.。在文件的目录项中在下列事件发生时,NTFS更新目录项:当NTFS更新文件的LAT的时候,检测到该文件的LAT比在目录项中存储的LAT差别在一个小时以上的时候。这种更新最为典型地发生在当某个应用程序关闭在文件夹中用于访问该文件的句柄的时候。如果该程序延长该文件句柄的打开时间,就会在更新目录项的时候出现迟滞。当NTFS更新其它的文件属性比如“最近更改时间”(LMT),而LAT的更新未决的时候。在这种情况下,NTFS会在不影响系统性能的前提下,随其它属性的更新而更新LAT。注NTFS不会在内存中对某文件调用的所有进程都结束的时候更新该文件的目录项。如果有某个NTFS卷,包含了大量的文件夹和文件,那么当某个应用程序对每个文件依次进行简短的访问的时候,由建立LAT更新所占用的I/O带宽会在全部的I/O带宽中占据非常明显的比重。为了加快访问文件夹或文件的速度,可以使用fsutilbehaviorsetdisablelastaccess这个命令来禁止更新LAT。在应用了该命令并重启计算机后,LAT就不会再被更新了。此时建立一个新的文件,它的LAT就会永远保持在它最初建立的时间上。要了解fsutilbehaviorsetdisablelastaccess命令的更多信息,请查看WinXP的帮助
2025年07月14日
6 阅读
0 评论
0 点赞
2025-07-14
the problem of Grub (2008-06-09 09:25:42
一、Grub Error 出现症状:Code:root (hd0,0) filesystem type unknown partition type 0x7 Error 17 : Cannot mount selected partition[Ctrl+A Select All]解决方法: 中文意思为无法挂载分区, 也就是Grub可以确认所使用的分区存在但是该分区上使用的文件系统无法被Grub识别.确认一下再grub.conf中的root(x,y)设置是否正确.如果在选择启动Windows时出现上述错误, 请检查一下grub.conf关于Win的配置中是否有 root (hdX,Y) (或 rootnoverify (hdX,Y)) 和 chainloader (hdX,Y)+1.二、Grub error:Cannot mount selected partition启动错误的解决下午在window下用pqmagic把移动硬盘重新分区后,重启选择进入ubuntu的时候出现启动错误:Grub Error17:Cannot mount selected partition......上网查询发现,对双系统,在window下pq调整分区大小很容易产生分区表重改等莫名其妙的问题。上述错误就是分区表被改写,原有的linux boot分区号发生变化,因此grub引导错误。解决办法有很多:1.最快最简单的在启动菜单选择unbuntu后,不要回车进入,按e进入编辑grub模式。修改root(hd0,y)的y值(hd0表第一块硬盘,y表硬盘分区号)。如:将原有的root(hd0,7)改为(hd0,8)。然后安b重启,如果能进入系统则表示正确,如果同样报错,那么重复上述步骤修改(hd0,y)为别的值,试几次就能成功了。成功登录linux后还要修改menu.lst达到一劳永逸的效果。打开终端:sudo vi /boot/grub/menu.lst如将root(hd0,7)修改为正确的值(hd0,y),同时将kernel行的root=/dev/sda8也修改为正确数值y+1(sda8对应hd0,7)。例子如下:title Ubuntu, kernel 2.6.17-10-genericroot (hd0,8)kernel /boot/vmlinuz-2.6.17-10-generic root=/dev/sda9 ro quiet splash locale=zh_CNinitrd /boot/initrd.img-2.6.17-10-genericquietsavedefaultboot2.如果手头有livecd(ubuntu的destop cd),可以通过livecd启动linux,然后修改grub配置和menu.lst。$sudo grub 进入grub find /boot/grub/stage1 提示正确的boot位置,如(hd0,8)root (hdX,Y)setup (hdX)quit注意:其中的X、Y是执行find /boot/grub/stage1命令后系统提示的。或者执行$sudo fdisk -l根据各个分区显示信息判断正确的boot分区号。然后修改menu.lst,首先得将boot分区mount上。如:$sudo mount /dev/sda9 /media$cd /media$sudo vi boot/grub/menu.lst 修改之。重启ok。3.假如boot下面的东西都损坏了,那还得麻烦点:$sudo grep -v rootfs /proc/mounts >sudo tee /etc/mtab 生成/etc/mtab$grub-install --no-floppy /dev/hda 安装grub到mbr 然后建立menu.lst三、删除grub引导Dos下输入:fdisk/mbr四、恢复grub引导重装windows后,grub没有了这是很多人都会碰到的问题这里试图用各种不同的方法解决有redhat的安装或恢复光盘 用光盘启动,输入linux rescue,回车 光盘将自动引导、搜索并挂载ext3分区 挂载好,进入shell后,执行chroot /mnt/sysimage cd /sbin ./grub-install /dev/hda 注意(/dev/hda是你要安装grub的硬盘,请自己修改)重启 五、使用grub启动系统如果你能启动到dos,并且安装有windows系统,那么可以启动到dos,format /mbr然后进windows下载grub for dos,如果可以的话,最好下载explorer2fs,这样执行恢复操作比较方便可以到这里下载grub for doshttp://newdos.yginfo.net/grubdos.htm启动机器进windows,运行explorer2fs,把你linux所在分区里的/boot/grub/menu.lst拷贝出来,并且覆盖掉grub for dos中的那个重启机子,进入dos,执行grub 应该可以看见菜单了,选择进入 cd /sbin ./grub-install /dev/hda 注意(/dev/hda是你要安装grub的硬盘,请自己修改) 还是使用grub引导系统 如果你只有一个linux,但是你碰巧能够启动grub的话,那么也可以解决问题启动进grub的命令行,会看到grub> 输入root (hd0,3)注意(hd0,3)表示第一个硬盘的第4个分区(很多东西都是从0开始的),可以对照个人情况做相应的修改输入 kernel (hd0,3)/boot/vmlinuz-2.6.9-ext3-686 注意,如果你不清楚你的内核镜像叫什么名字,也没有关系,当你输入kernel (hd0,3)/boot/后,按几下tab就可以看见了,如果你需要一个initrd来引导系统的话(大部分都要这东西),那么你需要在这一行后加上如 root=/dev/hda4这一参数,hda表示你的第一个硬盘,4表示是你的第四个分区,这里是从1开始计算的 如kernel (hd0,3)/boot/vmlinuz-2.6.9-ext3-686 root=/dev/hda4 输入initrd (hd0,3)/boot/initrd.img-2.6.9-ext3-686 注意按自己的实际情况修改,如果你不清楚的话,可以按tab 最后输入boot引导系统 接下来的事情参照上边部分 防患于未然,为以后做准备 做个可以引导进linux的救援盘如果你有软驱的话,那么,一个简单的方法就是将grub装在软盘上。只要这样 ./grub-install /dev/fd0但是,软盘是很不可靠的,你需要多备份几张,而且过段时间要重写一下。好在这个并不浪费空间。为了可靠起见,可以下载并刻录一张livecd,这样以后就可以方便的进行修复工作了
2025年07月14日
1 阅读
0 评论
0 点赞
2025-07-14
MD5校验值program(4) (2008-06-09 09:24:01)
void CSecurity::MD5_memset( POINTER output, int value, size_t len ) { size_t i; for (i = 0; i < len; i++) ((char *)output) = (char)value; } void CSecurity::MD5( const char string ,char lpMD5StringBuffer ) { MD5_CTX context; unsigned char digest[16]; static char output[33]={""}; size_t len = strlen (string); int i; MD5Init( &context); MD5Update( &context, (unsigned char*)string, len ); MD5Final( digest, &context ); for (i = 0; i < 16; i++) { sprintf(&(lpMD5StringBuffer[2*i]),"%02x",(unsigned char)digest); sprintf(&(lpMD5StringBuffer[2*i+1]),"%02x",(unsigned char)(digest<<4)); } for(i=0;i<32;i++) { output=lpMD5StringBuffer; } } void CSecurity::StringAddOne( char * orstring ) { size_t len; size_t i,n; len = strlen(orstring); n = len - 1; for(i = n; i >= 0; i--) { if(orstring=='9') { orstring = 'A'; break; } else if(orstring=='Z') { orstring='a'; break; } else if(orstring=='z') { orstring='0'; continue; } else orstring += 1; break; } } =============================stdafx.h=====================================// stdafx.h : 标准系统包含文件的包含文件,// 或是常用但不常更改的项目特定的包含文件//pragma once//导出define SECURITY_EXPORTSdefine WIN32_LEAN_AND_MEAN // 从 Windows 头中排除极少使用的资料// Windows 头文件:include// TODO: 在此处引用程序要求的附加头文件============================stdafx.cpp========================================// stdafx.cpp : 只包括标准包含文件的源文件// Security.pch 将成为预编译头// stdafx.obj 将包含预编译类型信息include "stdafx.h"// TODO: 在 STDAFX.H 中//引用任何所需的附加头文件,而不是在此文件中引用=====================================================================以上程序使用命令:@cl /GD /LD Security.cpp stdafx.cpp 编译即可分享:
2025年07月14日
5 阅读
0 评论
0 点赞
2025-07-14
MD5校验值program(3) (2008-06-09 09:21:19)
GG (a, b, c, d, x[ 1], S21, 0xf61e2562); GG (d, a, b, c, x[ 6], S22, 0xc040b340); GG (c, d, a, b, x[11], S23, 0x265e5a51); GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); GG (a, b, c, d, x[ 5], S21, 0xd62f105d); GG (d, a, b, c, x[10], S22, 0x2441453); GG (c, d, a, b, x[15], S23, 0xd8a1e681); GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); GG (d, a, b, c, x[14], S22, 0xc33707d6); GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); GG (b, c, d, a, x[ 8], S24, 0x455a14ed); GG (a, b, c, d, x[13], S21, 0xa9e3e905); GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); GG (c, d, a, b, x[ 7], S23, 0x676f02d9); GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); HH (a, b, c, d, x[ 5], S31, 0xfffa3942); HH (d, a, b, c, x[ 8], S32, 0x8771f681); HH (c, d, a, b, x[11], S33, 0x6d9d6122); HH (b, c, d, a, x[14], S34, 0xfde5380c); HH (a, b, c, d, x[ 1], S31, 0xa4beea44); HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); HH (b, c, d, a, x[10], S34, 0xbebfbc70); HH (a, b, c, d, x[13], S31, 0x289b7ec6); HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); HH (b, c, d, a, x[ 6], S34, 0x4881d05); HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); HH (d, a, b, c, x[12], S32, 0xe6db99e5); HH (c, d, a, b, x[15], S33, 0x1fa27cf8); HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); II (a, b, c, d, x[ 0], S41, 0xf4292244); II (d, a, b, c, x[ 7], S42, 0x432aff97); II (c, d, a, b, x[14], S43, 0xab9423a7); II (b, c, d, a, x[ 5], S44, 0xfc93a039); II (a, b, c, d, x[12], S41, 0x655b59c3); II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); II (c, d, a, b, x[10], S43, 0xffeff47d); II (b, c, d, a, x[ 1], S44, 0x85845dd1); II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); II (d, a, b, c, x[15], S42, 0xfe2ce6e0); II (c, d, a, b, x[ 6], S43, 0xa3014314); II (b, c, d, a, x[13], S44, 0x4e0811a1); II (a, b, c, d, x[ 4], S41, 0xf7537e82); II (d, a, b, c, x[11], S42, 0xbd3af235); II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); II (b, c, d, a, x[ 9], S44, 0xeb86d391); state[0] += a; state[1] += b; state[2] += c; state[3] += d; MD5_memset ((POINTER)x, 0, sizeof (x)); } void CSecurity::Encode(unsigned char *output, UINT4 *input, size_t len ) { size_t i, j; for (i = 0, j = 0; j < len; i++, j += 4) { output[j] = (unsigned char)(input & 0xff); output[j+1] = (unsigned char)((input >> 8) & 0xff); output[j+2] = (unsigned char)((input >> 16) & 0xff); output[j+3] = (unsigned char)((input >> 24) & 0xff); } } void CSecurity::Decode(UINT4 *output, unsigned char *input, size_t len ) { size_t i, j; for (i = 0, j = 0; j < len; i++, j += 4) output = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) | (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24); } 分享:
2025年07月14日
6 阅读
0 评论
0 点赞
1
...
39
40
41
...
69