|
用户名:jane3s 笔名:jane3s 地区: 上海 行业:其他 |
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
★★★★★★★★★★★★ Jane的工作记录 ★ 技术追求 ★探索研究的外界窗口 ★★★★★★★★★★
安装ArcGis9.3后,Win7系统所受到的影响
Win7和Xp双系统安装的一点心得
Win7和Xp双系统使用了一段时间,发现磁盘空间不够,需要重新整理。上次做了一个Win7的Ghost,这次要讨论下Win7和Xp两个系统安装的一些问题。
下面是不同安装方法,所达到的不同效果。当然,两个系统分别安装在不同的分区上。
第一种方法,先安装Xp,再安装Win7。两个系统安装完成后,系统启动后,有系统选择界面,可以正常登陆两个系统。
第二种方法,先安装Win7,再安装Xp。两个系统安装完成后,系统启动后,没有系统选择界面,只可以正常登陆Xp系统。接下来,重新启动,使用Win7 光盘启动,选择系统修复连接,自动修复启动选项(根据安装情况,有的需要修复两次)。重新启动后,可以直接登陆Win7,依然没有系统选择界面。在 Win7系统中,安装EasyBCD工具,并添加Xp系统,保存后,重新启动,发现系统选择界面出现,并且两个系统可以正常安装。
原因分析,微软从Vista开始,系统引导方法发生了改变,Xp以前使用的是NTLDR引导,可以直接文本编辑修改引导信息;而vista之后,使用的是 Winload程序引导,需要通过BCDedit命令来编辑引导信息。两种引导信息都是存在活动的主引导分区中,并不兼容。
如果磁盘分区存在多个主分区,且Xp和Win7均安装在不同的两个主分区上,此时的安装和上述两种方法的结果就截然不同了。无论怎样安装的顺序,此时,只 能正确登录最后一次安装的系统,且没有选在系统界面。如果最后一次安装的是Xp,使用Win7系统盘,修复引导程序虽然成功,可是仍然没有系统选择界面, 也只能登录Xp系统。此时,如果一定要登录到Win7系统,可以在Xp系统中,进入磁盘管理工具,设置Win7所在驱动为活动状态。启动后,系统提示 NTLDR信息找不到之类的信息,不要理会这些,直接使用Win7系统盘修复,第一次修复的是系统引导程序文件,第二次才是Win7系统的启动信息。经过 两次的修复,可以登录到Win7中了。在Win7中,再次使用EasyBCD工具添加Xp的引导系统信息,发现无法自动添加。人工添加的方法,我暂时还没 有研究明白。
Win7 Ghost
由于项目需要,一直使用XP和Win7双系统,使用两个比较小的硬盘,Win7系统单独使用一个盘,Xp和工作文档使用另一个硬盘。渐渐地,磁盘空间不 够,需要重新申请新的电脑,开发使用的环境配置又比较繁琐,于是乎,想到ghost。决定将两个系统ghost到新的电脑中。
将原来的两个磁盘的数据,合并ghost到一个新的硬盘中:首先,按照自己的需要,给两个系统分配适当的空间,接下就是ghost软件的工作了。 ghost完成后,使用Win7的安装盘,进行启动修复,生成新的BCD引导信息,一切大功告成。等到在新的电脑上运行两个系统时,问题出现了。Xp一切 正常,可是Win7就有问题了,现象是:系统启动时,键盘和鼠标状态正常,等到系统欢迎界面输入密码时,发现键盘无效,和没有驱动的状况相同,系统也无法 自动检测到键盘驱动;鼠标一切正常。
这个问题可把我个难坏了,上网寻早解决办法,最终无果。只见一些提出问题的大侠,不见实质解决效果。问题诸如:“系统异常退出后,键盘无法输 入。”,“ghost系统后,win7无法输入登录密码”等等。现象和我遇到的相同,我就花费一点点时间,解决问题,和大家分享。
问题根源是,ghost使用的源盘的系统运行的硬件环境和生成目标盘的环境不同所致。本人的Win7源盘系统运行于sata的4号端口,而生成目标Win7系统盘则运行于sata的0号端口。
解决办法,首先,将Win7源盘接入sata的0号端口,正常进入系统(当然原来的Xp所在盘不接入,只有Win7一个盘接入),正常关闭系统;其次,将 Xp所在盘接入sata的0号端口,Win7所在盘接入sata的4号端口,Xp登录系统,使用ghost工具,将Win7以分区的方式ghost到新的 磁盘中。最后,使用新的磁盘,确认Win7和Xp系统,一切正常。
总结,电脑的硬件环境,影响Win7的系统,而Xp几乎没有影响。
验证针对在 Visual C#.net 中的 xml 架构的 XML 片段
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:bookstore-schema" elementFormDefault="qualified" targetNamespace="urn:bookstore-schema">
<xsd:element name="bookstore" type="bookstoreType" />
<xsd:element name="comment" type="xsd:string" />
<xsd:element name="author" type="authorName"/>
<xsd:complexType name="authorName">
<xsd:sequence>
<xsd:element name="first-name" type="xsd:string" />
<xsd:element name="last-name" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="bookstoreType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="book" type="bookType" />
<xsd:element ref="comment" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="bookType">
<xsd:sequence>
<xsd:element name="title" type="xsd:string" />
<xsd:element ref="author" />
<xsd:element name="price" type="xsd:decimal" />
</xsd:sequence>
<xsd:attribute name="genre" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
using System;
using System.Xml;
using System.Xml.Schema;
namespace ConsoleApplication3
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
System.Boolean m_success;
[STAThread]
static void Main(string[] args)
{
//
// TODO: Add code to start application here.
//
XmlValidatingReader reader = null;
XmlSchemaCollection myschema = new XmlSchemaCollection();
ValidationEventHandler eventHandler = new ValidationEventHandler(Class1.ShowCompileErrors );
try
{
//Create the XML fragment to be parsed.
String xmlFrag = "<author xmlns='urn:bookstore-schema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>" +
"<first-name>Herman</first-name>" +
"<last-name>Melville</last-name>" +
"</author>";
//Create the XmlParserContext.
XmlParserContext context = new XmlParserContext(null, null, "", XmlSpace.None);
//Implement the reader.
reader = new XmlValidatingReader(xmlFrag, XmlNodeType.Element, context);
//Add the schema.
myschema.Add("urn:bookstore-schema", "c:\\Books.xsd");
//Set the schema type and add the schema to the reader.
reader.ValidationType = ValidationType.Schema;
reader.Schemas.Add(myschema);
while (reader.Read())
{
}
Console.WriteLine("Completed validating xmlfragment");
}
catch (XmlException XmlExp)
{
Console.WriteLine(XmlExp.Message);
}
catch(XmlSchemaException XmlSchExp)
{
Console.WriteLine(XmlSchExp.Message);
}
catch(Exception GenExp)
{
Console.WriteLine(GenExp.Message);
}
finally
{
Console.Read();
}
}
public static void ShowCompileErrors(object sender, ValidationEventArgs args)
{
Console.WriteLine("Validation Error: {0}", args.Message);
}
}
}
自定义ConfigSections节