无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 32001|回复: 57
打印 上一主题 下一主题

WinXP和Win7单硬盘双系统互为隐藏

[复制链接]
跳转到指定楼层
1#
发表于 2010-2-26 14:49:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
WinXP和Win7单硬盘双系统互为隐藏

本文所需文件或软件请看附件,理解了各个步骤后再操作,谢谢。

任务:假设有这样一台单硬盘电脑,需要安装双系统(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 所没

有的功能。

接下来的安装过程大家应该很熟悉了,我这里就不再赘述。

[ 本帖最后由 cnstars 于 2010-3-3 00:03 编辑 ]
2#
发表于 2010-2-27 16:29:06 | 只看该作者
两个都是主分区,激活一个 另一个自然会隐藏起来的~~~不用HIDE和UNHIDE也可以滴
回复

使用道具 举报

3#
发表于 2010-3-22 21:12:29 | 只看该作者
原帖由 qlhfinal 于 2010-2-27 16:29 发表
两个都是主分区,激活一个 另一个自然会隐藏起来的~~~不用HIDE和UNHIDE也可以滴
问题是在需要的时候准确的激活
回复

使用道具 举报

4#
发表于 2010-3-23 10:09:25 | 只看该作者
很不错的说,试验一下~
回复

使用道具 举报

5#
发表于 2010-3-24 07:35:06 | 只看该作者
THINKPAD在第一激活分区有个1G的隐藏分区。
这样的情况要如何安装呢?
回复

使用道具 举报

6#
发表于 2010-3-24 08:35:06 | 只看该作者
本文所需文件或软件请看附件.

附件忘上传了?
回复

使用道具 举报

7#
发表于 2010-3-24 11:08:40 | 只看该作者
分区隐藏后,应该有一定的防毒能力吧,一个系统可以裸奔
回复

使用道具 举报

8#
发表于 2010-3-26 08:48:48 | 只看该作者
楼主好像忘了上传附件了。
回复

使用道具 举报

9#
发表于 2010-3-26 10:24:38 | 只看该作者
LZ的方法太麻烦了,win7要独立安装,不与C盘发生牵扯,需要进行特定的技术处理,我在C盘安装了XP,G盘也是主分区,在上面安装Win7,安装时隐藏C盘系统,用一般的隐藏手段欺骗不了Win7,它仍然会在C盘留下引导文件,我採用将C盘DBR清0的办法,蒙蔽Win7安装程序,安装好Win7后,再恢复C盘DBR,这样安装的Win7就是独立的了,以后即使格掉C盘,也与G盘的Win7系统无关,系统引导使用我自己编的1JF9ky,默认启动C盘系统,按Ctrl+F9热键启动win7,其中一个工作系统启动后,另一个是以EISA隐藏形式隐藏的,按F9热键启动扩展分区的隐藏系统,该系统用于维护工作系统,此系统启动后,所有系统所在分区都是显现的,便于对其实施维护,各系统都是独立存在的,其它系统所在分区即使格式化了,也不会影响所剩系统的启动。
回复

使用道具 举报

10#
发表于 2010-3-26 19:22:21 | 只看该作者

回复 #10 deepboy 的帖子

1、启动XP看不到win7所在磁盘,也看不到扩展分区的隐藏磁盘。
2、启动win7看不到XP所在磁盘,同样也看不到扩展分区的隐藏磁盘。
3、我的引导文件驻留在MBR扇区,因此不怕格式化,而Win7本身是独立的,因此只要由我的引导程序,装入其Win7磁盘的DBR即可引导成功。
4、我的1JF9ky安装时,会自动在最后一个扩展逻辑磁盘上,建立一个隐藏的系统维护分区,该分区支持winpe系统的启动,该系统启动后,所有的分区都会显现出来,以便对其进行维护。
此外,我的1JF9k引导程序可以支持四套系统启动,对此感兴趣的话,可以到下面的帖子里查看。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=141690&extra=page%3D1

[ 本帖最后由 lvyanan 于 2010-3-26 19:24 编辑 ]
回复

使用道具 举报

11#
发表于 2010-3-28 10:08:24 | 只看该作者
嗯,互相隐藏,互不干涉,这个好啊。
回复

使用道具 举报

12#
发表于 2010-3-29 16:46:29 | 只看该作者
这个用mbldr和bootlce及wen7安装器应该能很容易做到的。
我现在安装了两个XP和一个win7在三个不同的主分区。现在他们都互不干涉。且无论启动到那个系统,各盘都能看见和使用。也可互相隐蔽(用mbldr),但我没那么用。
回复

使用道具 举报

13#
发表于 2010-3-30 14:04:53 | 只看该作者

没看到附件啊

没有看到附件啊,怎么下载
回复

使用道具 举报

14#
发表于 2010-3-31 15:05:05 | 只看该作者
原帖由 lvyanan 于 2010-3-26 19:22 发表
1、启动XP看不到win7所在磁盘,也看不到扩展分区的隐藏磁盘。
2、启动win7看不到XP所在磁盘,同样也看不到扩展分区的隐藏磁盘。
3、我的引导文件驻留在MBR扇区,因此不怕格式化,而Win7本身是独立的,因此只要 ...

蛙哥就是强,不得不顶。
回复

使用道具 举报

15#
发表于 2010-3-31 15:59:01 | 只看该作者
蛙哥:你的清空BPR法和用wen7安装器(http://bbs.wuyou.net/forum.php?m ... &extra=page%3D3)安装到其他分区,是不是一个道理?我感觉结果好像是一样的。
回复

使用道具 举报

16#
发表于 2010-3-31 16:47:54 | 只看该作者

回复 #17 lvzhhai 的帖子

不知道其中原理,好像不是清空DBR,可能是直接发指令给安装程序来实现。
回复

使用道具 举报

17#
发表于 2010-4-1 11:46:21 | 只看该作者
哇哥说的方法会更好。。

lz这个方法用了hide每次启动都要去写硬盘。

就比如以前我一直用makeac×××那个命令。后来就不用了。
回复

使用道具 举报

18#
发表于 2010-4-1 11:52:04 | 只看该作者
原帖由 laode1987 于 2010-3-31 12:56 发表
感觉有点麻烦了,我的方法是划分三个主分区,xp 10G,win7 20G.另外一个主分区10G激活,装载grubdos或是syslinux引导,编写启动菜单,装入winpe,并编写winxp ,win7的一键还原IMG,并在此分区保存备份文件,至 ...



上次给一个tw做繁体+简体系统也是跟你一样。。简单删除盘符对普通用户这样就可以了。呵呵。
回复

使用道具 举报

19#
发表于 2010-4-1 21:28:54 | 只看该作者
原帖由 lvyanan 于 2010-3-26 10:24 发表 LZ的方法太麻烦了,win7要独立安装,不与C盘发生牵扯,需要进行特定的技术处理,我在C盘安装了XP,G盘也是主分区,在上面安装Win7,安装时隐藏C盘系统,用一般的隐藏手段欺骗不了Win7,它仍然会在C盘留下引导文 ...
这个办法好像简单点
回复

使用道具 举报

20#
发表于 2010-4-3 10:38:14 | 只看该作者
这篇文章写得很好,明白了引导的原理
回复

使用道具 举报

21#
发表于 2010-4-4 09:29:23 | 只看该作者
这是技术贴啊,我还得研究研究
回复

使用道具 举报

22#
发表于 2010-4-21 15:04:55 | 只看该作者
原帖由 lvyanan 于 2010-3-26 10:24 发表
LZ的方法太麻烦了,win7要独立安装,不与C盘发生牵扯,需要进行特定的技术处理,我在C盘安装了XP,G盘也是主分区,在上面安装Win7,安装时隐藏C盘系统,用一般的隐藏手段欺骗不了Win7,它仍然会在C盘留下引导文 ...

C盘的XP可以通过GRUB的方法引导独立的Win7,XP与Win7的系统下可以在磁盘管理里面把相应系统的盘符删除就可以了。
具体做法:把GRLDR文件放到C盘,然后建立一个BOOT文件夹和menu.lst文件,按楼主的方法在menu.lst文件加入相应的chinaload项目即可。
回复

使用道具 举报

23#
发表于 2010-4-22 07:48:44 | 只看该作者
原帖由 adnimal 于 2010-4-21 15:04 发表
C盘的XP可以通过GRUB的方法引导独立的Win7,XP与Win7的系统下可以在磁盘管理里面把相应系统的盘符删除就可以了。
具体做法:把GRLDR文件放到C盘,然后建立一个BOOT文件夹和menu.lst文件,按楼主的方法在menu.lst文件加入相应的chinaload项目即可。

要做到真正的互隐藏,用在磁盘管理里面把相应系统的盘符删除的办法并不好,它解决不了安装Win7时,对XP系统所在磁盘的写入问题,Win7安装程序会对XP所在盘写入启动支持文件和参数,一旦XP所在盘被破坏,Win7系统也就瘫痪了,我所讲的是要安装两个互不牵扯的系统,无论格掉哪个系统所在磁盘,另一个系统仍然可以独立启动和工作。
回复

使用道具 举报

24#
发表于 2010-4-28 21:29:56 | 只看该作者
呵呵,学习了。非常不错的
回复

使用道具 举报

25#
发表于 2010-5-1 09:30:19 | 只看该作者
贴子很好,有意义!!!
回复

使用道具 举报

26#
发表于 2010-5-1 19:39:17 | 只看该作者

回复 #9 lvyanan 的帖子

很强大的方法,学些了!!
回复

使用道具 举报

27#
发表于 2010-5-25 12:10:28 | 只看该作者
WinXP和Win7单硬盘双系统互为隐藏-----好主意,企业有需求。
L大的技术实现不错,普通的人无法实现安装,我也试过了,即使把C盘(WINXP)的PBR清零(仅清第一个扇区),在最后一个主分行安装WIN7时,WIN7仍然向C盘写入引导文件(如bootmgr, boot目录)等。
       我的办法是变通一下,把上述写在C盘的引导文件移到第二主分区(WIN7所在),再安装1JF9KY,把WIN7切换成主系统,启动WIN7是不成功的,不过没关系,用WIN7安装盘重新修复一下,OK,完整的单硬盘双系统互为隐藏实现了!!
回复

使用道具 举报

28#
发表于 2010-5-30 22:45:15 | 只看该作者
这个没有什么值的研究的
回复

使用道具 举报

29#
发表于 2010-6-6 07:30:43 | 只看该作者
好像 ghost 的 Win7 第一主分区外的分区都不能启动  这个好像与Win7 的 100M隐藏分区有关

我也是用双系统 我用grubG4DOS 做引导. 我第一主分区装 WIN XP  第二分区装 WIN7  都是用ghost 版  这样 WIN7 不能启动;   但是调过来 ghost WIN7 到第一分区  ghost WIN XP 到第二分区就可以用, 大家有没有 可以 ghost 到第二主分区的 WIN7??
回复

使用道具 举报

30#
发表于 2010-6-8 23:09:11 | 只看该作者
其实楼主不必那么麻烦
只要用xorldr,或者bootice对硬盘处理即可
我现在的双系统采用xorldr引导,可以做到双系统之间相互隐藏
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-21 01:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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