重装系统笔记

由于Windows7系统被win32.Ramnit.a病毒感染,大量exe dll html被挂马
金山毒霸无法查出病毒,360检测出清除后,病毒依然存在。Windows 自带的防火墙可以检测出病毒。
我于2015.5.16日决定重装系统

我的系统是OpenSUSE、Windows7双系统,引导记录保存在MBR中,由记录跳转至Linux分区(在硬盘最后),访问/grub/menu后建立启动菜单。
重装前,备份硬盘主引导记录

# dd if=/dev/sda of=MBR-backup bs=446 count=1

恢复时,执行

# dd if=MBR-backup of=/dev/sda bs=446 count=1

.
主引导记录和分区表共占用硬盘的前512字节,前446字节是主引导记录

我所用的OpenSUSE 13.1系统,采用grub2引导程序
与grub相比,grub2按照UUID识别硬盘分区,因此重装系统后UUID变化无法识别。

grub2与grub一脉相承,先要了解grub的运行原理,这里是简单的介绍,这里是详细的例子,这里是GNU官方手册

这里是grub2的教程,这里是grub2的官方手册(含命令表)

与grub相比,grub2在文件结构、指令集方面进行了一些改动,增加了非ASCII字符支持、模块动态装载、内存管理等功能,具有了更好的可移植性和模块性。

grub2的分区从1开始编号,磁盘从0开始编号

grub的控制文件位于/boot/grub/grub.lst其内容主要包括如下几个方面:

  • default 0
    默认选项,从0开始编号

  • timeout 30
    超时时间,秒

  • fallback 1
    默认选项不管用则用这个备用选项

  • title
    选项名/描述

grub2的控制文件则采用分散式管理。主要配置位于/boot/grub2/grub.cfg文件内,由update-grub命令自动生成,一般不建议手工修改;/etc/grub.d/ 目录下存放的脚本文件是各个启动步骤的框架信息;/etc/default/grub文件内则包含了可由用户自定义的设置。

grub.d目录内文件名前的数字标识其在启动菜单上的顺序
openSUSE内自带的YaST Boot Loader管理程序以图形化的方式修改/etc/default/grub文件

在grub.d文件夹中典型的脚本
.

#!/bin/sh -e
echo "Adding my custom Linux to GRUB 2"
cat << EOF
menuentry "My custom Linux" {
    set root=(hd0,5)
    linux /boot/vmlinuz
    initrd /boot/initrd.img
}
EOF

从第1块硬盘第5个分区启动linux

#!/bin/sh -e
echo "Adding Windows 8 to GRUB 2 menu"
cat << EOF
menuentry "Windows 8" {
    set root=(hd0,1)
    chainloader (hd0,1)+1
}
EOF 

从第1块硬盘第1个分区启动windows系统家族。指令实质上只是将引导权交予目标分区的第一个扇区

编辑以上脚本后,理论上应执行

grub2-mkconfig -o /boot/grub2/grub.cfg

重新生成最终grub.cfg文件
实际发现openSUSE 13.1 根本没有grub2-mkconfig程序。用Boot Loader管理程序设置后自动就更新了,解决。


用PQ之类的分区工具调整分区大小后,在资源管理器中显示正常,但在Ghost 11.0中只显示了部分分区,剩余部分被认为是空闲空间,极易造成灾难性数据丢失。通过DiskGenus备份分区表-恢复分区表后正常。初步断定是由于分区软件只改写了一个分区表数据,而Ghost读取另一个所致。


关于Windows7中用户数据的存储方法

  • C:\Users文件夹下按照用户名对应文件夹内存储了该用户的个性化设置、软件设置、程序快捷方式数据,极为重要。

  • C:\ProgramData文件夹是Win7中新引入的,用于存放全局的数据文件。为了与老版本的软件相兼容,在C:\Users\All Users建立 Junction 链接指向该文件夹。

  • 在用户文件夹下,有些文件夹在Explorer中显示的名称与Dos终端dir出来的不一致,如“我的文档”——“My Documents”、“桌面”——“Desktop”等。这是Windows为了提高语言友好性,又顾及到关键路径不宜重命名,设立的资源管理器特性。在文件夹内建立desktop.ini文件:

  • -
[.ShellClassInfo]
LocalizedResourceName=易读名字

并将该ini文件设置为只读、系统、隐藏

attrib +r +h +s desktop.ini

将对应文件夹设置为只读

attrib +r Desktop

此时文件夹的显示名称将会改变。

  • 若Users内某个用户文件夹的权限不对,这会导致许多奇葩的故障。比如,双击Chrome浏览器后无反应(但可以用“以管理员身份打开”成功);插入U盘后,点击弹出可移动设备,菜单里本该出现设备名的地方只有一行–。推测,这是用于各种程序运行过程中都需要在当前用户账户内部建立临时文件、储存数据记录,权限不足的话就会导致无法启动或信息丢失。

  • Win7的权限管理仍然很不明白。主要是权限的继承问题、读写优先服从准则问题、复制文件的权限问题。对于一个陌生的文件,系统管理员通过windows系统内的常规手段,总有办法掌握文件的所有权限吗?

  • 对于windows下的符号链接和硬链接,linux下的复制会引发问题,出现不一致性。


win32.Ramnit.a病毒感染HTML文件,从文件末尾添加VBS代码

代码执行后,将文件写入XXX位置
此VBS代码应该是病毒可执行文件在运行时读写自身并将二进制转换为字符串生成

杀毒软件会删除染毒HTML,导致资料损失。故使用Python BashScript写了一段清除病毒的代码。代码用正则表达式查找VBS脚本、文件操作代码,视为染毒段删除。

经实验,Chrome 和IE的较新版本根本不执行HTML中的VBS脚本


很多商业软件,如CorelDraw会自动联网进行序列号验证,识别出非正版序列号进行封锁。为了禁止特定软件联网,可打开 windows防火墙 -> 高级设置 -> 出站规则 -> 新建规则 -> 程序 -> 设置好路径 -> 选择禁止 -> 完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值