社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 2024阅读
  • 1回复

[共享]WinXP和Win7单硬盘双系统互为隐藏

楼层直达
级别: 光盘学士
发帖
4221
飞翔币
522
威望
3616
飞扬币
608
信誉值
6

任务:假设有这样一台单硬盘电脑,需要安装双系统(WinXP与Win7)。

要求:登陆其中任一系统后,另1个系统所在分区自动转换为隐藏,以避免当前系统中毒而受感染(进入任何1个系统盘符均为C,另1个则自动隐藏,其它逻辑盘盘符保持不变)。

分析:我们必须明白一些启动知识,WinXP与Win7引导启动方式是有区别的,WinXP采用Ntldr+boot.ini,Win7则采用Bootmgr+BCD。另外,引导文件只能安装在活动分区,否则无法引导系统启动。

下面我们再来看看各种登陆情况:

a.假如我们最近一次登陆WinXP,那么它所在分区则为活动主分区,Win7所在分区是隐藏非活动分区,引导系统式为Ntldr+boot.ini。

b.假如我们最近一次登陆Win7,那么它所在分区下的bootmgr文件获得系统引导权之前,必须先取消其所在分区的隐藏属性,而把WinXP所在的分区转为非活动分区且被隐藏。

根据分析NTLDR+boot.ini或Bootmgr+BCD都无法完成任务,因为它们没有隐藏、激活系统分区的能力。怎么办呢?

我们利用强大的系统引导工具——GRUB。它是GRand Unified Bootloader的缩写,是由开源人士编写的一个用于引导linux系统的启动管理器,可以引导的操作系包括linux、FreeBSD、Solaris、NetBSD、BeOSi、OS/2以及所有的Windows

系统。

将系统装进隐藏分区并可以启动的原理:
首先用GRUB来接管MBR分区表,用它来隐藏/显示/激活启动分区,然后将系统引导权交给Ntldr或Bootmgr,再由后者加载操作系统的内核,初始化操作系统。

第一步:合理划分硬盘分区。

由于要安装2个不同的系统,因此我们要将硬盘分成2个主分区+1个扩展分区(注意:1个硬盘最多只能支持4个主分区)。划分方法如下:

主分区①:装WinXP,10~30GB,NTFS/FAT32 (格式推荐NTFS)
主分区②:装Win7,30~40GB,NTFS
剩下的留给扩展分区③。

第二步:安装操作系统

分区划分完成以后,所有的分区均为可见的,此时假设我们第1个主分区的系统为WinXP,然后安装Win7到主分区②,当Win7安装完成后,2个系统均由Bootmgr来引导的(注意:Bootmgr可以向前兼容,而ntldr无法向后兼容,2种引导方式

可以通过bootsect的/NT60和/NT52开关来切换)。理论上先装那个都可以,我以WinXP先装做例,U盘或带winPE的光盘进PE系统(PE系统大家都知道吧就是预装环境),一般都内置分区软件如winPM, 30G给主分区①盘符C且设为活动不隐

藏,40G给主分区②不要盘符且设为隐藏非活动,其余给扩展分区(在此基础上分逻辑分区如D,E等等),重启后用安装版或GhostXP均可,完成winXP安装。


第三步:创建GRUB引导快捷菜单

i:启动进入WinXP,将Grub控制台菜单引导文件“grldr”拷贝到系统根目录。此文件在许多集成系统中都可以找到。

ii:在根目录下新建一个“boot”文件夹,然后进入该文件夹后再建立一个“grub”文件夹,接着打开记事本,然后输入下列内容,另保存为“menu.lst”并存放到刚才新建的“grub”文件夹下。

代码内容如下: “

default 0
timeout 10

#启动主分区①的WinXP
title Microsoft Windows XP
unhide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,0)
makeactive
chainloader +1

#启动主分区②的Win7
title Microsoft Windows 7
unhide (hd0,1)
hide (hd0,0)
rootnoverify (hd0,1)
makeactive
chainloader /bootmgr ” (注意: 文件menu.lst内容在双引号之内但不包括双引号)


为了方便大家我把它们作为附件1和2上传,大家可以下载按照步骤i和ii放就可以了。(注意: 默认等待时间为10秒后进入WinXP系统)

接着再进PE系统,打开分区软件winPM,主分区①取消盘符设为隐藏非活动,主分区②盘符C设为显示和活动,重启后用安装版安装win7(不推荐ghost版,引导好像有问题)(如果没有安装盘,只有ISO镜像盘,那就用PE安装吧,前提PE内

核要win2003及以上,winXPE不行,如果PE安装失败没有关系,用硬盘安装法安装,这样又有2种方法,1是无DVD光驱无安装盘纯硬盘安装,2是有dvd光驱有vista安装版引导安装,注意安装分区选第2个,因为在这个时候不管隐藏不隐藏都

会显示,第1个是装了XP的)。


第四步:用GRUB接管MBR。

在Win7下安装GRUB安装程序(本例选Win7)。(为了方便大家我把这个作为附件3上传)。

打开“grubinst_gui”软件主界面,点选“磁盘”后单击对应的“刷新”按钮,然后在得到的硬盘列表中选择系统所在硬盘(hd0)。接着,单击“分区列表”对应的“刷新”按钮,然后在得到的磁盘分区里表中选择“整个磁盘[MBR]”

。然后,单击“安装”,弹出“The MBR/BS has been successfully installed”则表示安装成功,这样每次重启都是GRUB率先获得系统的控制权。



当然在GRUB命令行下可以和DOS一样,通过键入命令的方式来启动系统。比如现要启动主分区①(此时仍为非活动分区)中的XP,并且将win7所在的主分区隐藏起来 ,逐步输入以下命令:

Unhide (hd0,0)
Hide (hd0,1)
rootnoverify (hd0,0)
Makeactive
Chainloader +1
Boot

小知识:GRUB对硬盘命名规则
GRUB使用的是UNIX对设备的命名方法。比如我们拥有两块硬盘,那么采用这种形式(hdx,y),其中x和y都是从0开始计数的,所以两块硬盘是(hd0,y)和(hd1,y)。对于y的数值,主分区的编号只能有0、1、2和3这四个数字,而硬盘的第 一

个扩展分区的编号则从4开始算起。

每次启动都要键入命令,实在很不方便,因此我们用引导快捷菜单比较好


小提示:在Windows下编辑menu.lst文件可以用“Grub菜单编辑器”来辅助编写和调试。

经过上述的步骤之后,现在我们就可以体验隐藏多系统平台了。

另外万一在GRUB引导快捷菜单下进不了winXP或win7,就进PE系统,现在很多PE系统自带windows引导修复(包括winXP/2003/vista/2008/win7),修复一下就行了。


-------------------------------------------------------------------------
-------------------------------------------------------------------------

附:硬盘安装法

(一)、复制系统文件到硬盘

用虚拟光驱加载 Win7 的 ISO 光盘映像,在硬盘的非系统分区(如 D 盘)创建一个文件夹(如 Win7),然后将 ISO 中的所有文件复制进去。

(二)、在系统分区(C 盘)建立 Windows PE 的启动目录

从刚才创建的目录“Win7”中复制“boot”文件夹以及“bootmgr”文件到 C 盘根目录,同时创建一个“sources”文件夹,然后到 D:\Win7\sources 把“boot.wim”复制一份到 C:\sources下面。至此,Windows PE 的启动目录创建完

毕。

紧接着,打开命令提示符(开始菜单-运行-输入“cmd”,回车)

1.输入“cd\”,回车;――――――――cd杠
2.输入“cd boot”,回车;――――――cd空格boot
3.输入“bootsect.exe /nt60 c:”回车;――——bootsect.exe空格/nt60空格c:

注:bootsect.exe 在 boot 目录下 (这一步相当于在命令提示符状态下运行 “X:\boot\bootsect /nt60 x: ”, 这一步是让X分区成为可引导分区)
接着重启计算机,程序将自动加载并引导计算机进入 PE 环境。

PS:以上所输入的命令均不带引号(下同)。

(三)、在 PE 中引导系统开始安装

当“Windows is loading files...”的进度条完毕后,我们看到一个涉及配置语言、时间、货币等的选择界面,不管他们,点击“下一步”,进入“现在安装”界面,不要点“现在安装”,应该点击界面左下角“修复计算机”,看见“

系统恢复选项”,继续点“下一步”,点击“命令提示符”。

在命令提示符窗口中,我们要做的事便是输入 Win7 安装目录中安装程序主程序“setup.exe”的路径,告诉 PE 系统启动 setup.exe 进行 Win7 的安装,setup.exe 在安装目录的 sources 目录里,这里的位置是 D:\Windows7

\sources\setup.exe

(如果不人为指定,PE 默认会在光盘中搜索 Win7 的安装程序及安装所需的文件,由于现在不是用光盘进行安装,我们的安装文件是在其他分区,如现在的 D 盘,所以我们得告诉 PE,Windows7 安装程序在哪里)

在命令提示符窗口中,命令应该这样依次输入:

1.输入“d:”回车
2.输入“cd win7”,回车 ――――> cd空格Win7 (这里,命令“cd”是“进入指定目录”的意思)
3.输入“cd sources”,回车 ―――-> cd空格sources
4.输入“setup”,回车

(命令因安装文件所在目录不同而有所差异,这里只是举例)

接着,Windows7 安装程序就被调用出来了,现在你可以点击“下一步”进行 Windows7 的后续安装。
由于这是在 PE 环境下进行 Vista / 2008 / Windows 7 安装(实际上跟使用光盘进行安装完全一样),所以在选择安装的目标分区时可以选择是否格式化分区,这是在 Windows 下使用虚拟光驱直接安装 Vista / 2008 / Windows 7 所没

有的功能。

接下来的安装过程大家应该很熟悉了,我这里就不再赘述。
 
级别: 光盘初级
发帖
504
飞翔币
126
威望
208
飞扬币
372
信誉值
0
只看该作者 1 发表于: 2010-01-23
楼主很强,坚决支持,顶一贴。