1.工具准备
在进行安装XORLDR之前,我们需要准备好以下工具软件:
● XORLDR多系统管理程序, Pauly大侠作品,目前最新版本是0.3.5
● BOOTICE引导程序安装工具,亦为Pauly作品,最新版本是0.76
● WinHex,强大的16进制文件编辑与磁盘编辑软件。
● grub4dos、
syslinux最新版,以及其它可能用到的工具,如本文中使用的
9IN1_PXE_SRS合盘,我们要多次利用其中的工具。
2.磁盘分区及结构介绍
首先,我们使用Winhex来看一下磁盘上的分区及结构。
打开Winhex,按F9打开磁盘,如图1所示:
(图1)
选择物理磁盘HD0,点击OK后可观察到磁盘(hd0)的分区情况,如图2所示。
(图2)
由图2可以看出我们这块磁盘的一些情况:容量为73.9G,分为四个分区,启始扇区(Start sectors)占用第0~62扇区;第一主分区占用第63~20996954扇区,10G空间;第二主分区占用第20996955~31503464扇区,共5G空间;第三主分区占用第31503465~94446134扇区, 共30G空间;存在一个分区间隙占用第94446135~94446197扇区,共31.5KB空间;第四分区(逻辑分区)占用第94446198~154577429扇区,共28.7G空间;最后是一个分区剩余空间,占用第154577430~154587127扇区,共4.7MB空间。
实际分区根据自己的需要进行,不必局限于单主分区或者四主分区。一个比较理想的情况是三主分区加扩展分区,再设置若干逻辑分区,这样对于现在海量容量的硬盘来讲是比较合适的。
3.XORLDR菜单编辑示例
我们假定您已经做好了分区。以我这台老机器上分区为例:四个分区,第一、二主分区各安装一个winXP,并实现系统之间相互隐藏;第三主分区放置游戏及其它私密数据;第四分区(逻辑分区)放置我的9IN1_PXE_SRS维护工具合盘及系统备份等。根据实际需要,设计菜单项如图3所示。
(图3)
下面依次介绍各菜单项编辑情况。
3.1第一主分区设计成“从文件启动我的XP”
从该分区启动时可以显现所有分区。XORLDR可以从PBR、文件及绝对扇区来启动系统。对于XP系统来讲,从文件启动系统的一个好处是可以把PBR解放出来,用于一些其它的启动目的。当然,这种选择不是绝对的,任何一种方式用好了,都是不错的。
首先,要安装好一个XP系统。启动XP系统后,打开XORLDR程序,选择本机硬盘后点击“安装/配置”,如图4所示。
(图4)
根据图5进行设置:
(图5)
注意选择“从文件启动”的启动方式后,后面要选择好文件类型及存放的分区。这里,文件名“/NTLDR”实际上包含了路径,即为第一主分区根目录下的文件NTLDR;windows系统启动文件一律选择“NTLDR /SETUPLDR.BIN /BOOTMGR”这一文件类型。其它文件类型在后面介绍。
特别说明:文件可以放在分区的根目录下,也可以放在子目录下,还可以放到剩余分区等不可见的地方;目录分隔符/ 等同于 \,即 /NTLDR 和 \NTLDR 是一样的。需要强调的是,文件名中不可出现盘符,如 C:\NTLDR或C:NTLDR都是错误的,将不被XORLDR识别。盘符由“工作磁盘及分区号”替代。
此外,XORLDR 支持FAT16/FAT32/NTFS 三种文件系统,其中FAT分区上仅支持 8.3 格式的短文件名;NTFS 分区上要求 $MFT 必须是连续的,否则可能搜索不到指定的文件,且文件不能是加密或压缩的。
接下来,根据需要设置分区显隐状态,见图6:
(图6)
设置完成后,一定要点击“生成”来使用菜单设置生效,如图5所示。完成后点击“导出配置”做一备份,因为后面在第二主分区安装操作系统可能会写MBR而导致XORLDR引导被清除。
3.2第二主分区设计成“从文件启动常用XP”
通常情况下默认启动到这个系统,并隐藏其中30G的第三主分区(游戏及私密数据)及“我的XP”所在的第一主分区。安装多系统并使系统之间及任意分区相互隐藏,做到完全独立隔离,是XORLDR引导管理器的重大优点。如果您不需要安装多系统,可以跳过此步看第三个步骤。
A.安装GHOST系统。
这个操作不局限于XP系统,其它GHOST系统操作相同,我选择第二系统仍是XP只是因为老机就能跑跑它,上不了win7。在第一主分区下的“我的XP”中进行XORLDR第二项菜单的编辑,见图7:
(图7)
其中文件名及类型、安装的分区号均根据实际情况填写。比如安装的是win7,则文件名为“/BOOTMGR”。根据需要自定义分区显隐状态,如图8所示。
(图8)
编辑完成后,点击“生成”使菜单生效,然后“导出设置”,最后“写入磁盘”。
做完上述工作后,在第一系统(我的XP)中使用ghost32程序将gho文件(GHOST安装系统文件或者备份系统生成的GHO文件,对同一台机器来讲,完全可以用第一系统的备份GHO文件还原到第二系统中)恢复到第二主分区中。重启后选择第二菜单项即可进入第二系统(常用XP)。
这里,我们不用重启,接着做第三步工作。
B.全新安装XP或者其它Windows系统。
进入PE,将第二主分区设置为活动,然后进行全新安装系统(此步骤不详细介绍了,不会的网上查找资料或者咨询)。
完成后重启进入第二分区的“常用XP”(或其它windows系统)。注意,此时不会有XORLDR启动菜单出现,因为全新安装系统时,Windwos很霸道地重写MBR了。打开XORLDR程序,导入原先保存的配置,然后按照A中步骤进行XORLDR第二菜单项的编辑、生成,见图7。之后继续进行其它菜单项的编辑。
3.3从第四分区引导扇区启动GRLDR
首先利用BOOTICE对第四分区(逻辑分区)的PBR写入grub4dos引导,打开BOOTICE.EXE,点击“分区记录引导”(图9),
(图9)
选择“grub4dos”后进行“安装/配置”,如图10所示:
(图10)
当BOOTICE所在目录下存放有新版本的GRLDR.MBR时,会提示是否写入新版本的GRLDR,选择“是”,根据需要决定是否为GRLDR改名,我们这里不改名,直接确定后完成写入,完成后如图11所示。
(图11)
然后在其根目录放置GRLDR内置菜单。同样的,也可以对PBR写入其它引导程序,比如,若分区为FAT文件系统,则可以写入SYSLINUX引导。
最后,使用XORLDR编辑第三个菜单项,如图12所示:
(图12)
3.4 从绝对扇区启动BLLDR文件
物理磁盘每512字节为一扇区,从0扇区开始直到最后一扇区,依次编号。文件存放在磁盘上,必定有其起始与终止扇区(这里我们不讨论非连续存放的情况)。从文件存放的安全角度来看,分区间隙及分区剩余空间是最为安全的,因为无须担心格式化会破坏掉数据。但分区间隙往往太小,31.5KB的空间十分有限,所以,我们这里主要讲解一下如何把文件放置到分区剩余空间。
一块磁盘最多有四个主分区,或者三个主分区加一个扩展分区(含若干逻辑分区),这种情况下是无法再进行进一步分区的,也就不怕分区剩余空间被新建立分区而导致原来的数据丢失。所以,可以有意识的预留出一定空间作为分区剩余空间。从启动要求的数据空间来看,不需要太大,三五MB不嫌少,几十MB不嫌多(多了可以放置IMG文件嘛)。
以我这台老爷机为例。如前所述,本机磁盘的分区剩余空间占用第154577430~154587127扇区,共4.7MB。下面,我们示例如何把一个启动引导文件BLLDR(此文件即前面提到的9IN1_PXE_SRS合盘的引导文件,本质是GRLDR内置菜单)复制到这个空间的第154577430~154577915扇区中。
首先,我们使用Winhex打开BLLDR,按Ctrl+A选择所有数据(图13),
(图13)
再按Ctrl+C将所选的块数据进行复制(图14),
(图14)
最后从窗口选择前面打开的物理磁盘(hd0),点击“unpartitionable space”(分区剩余空间),将鼠标放到该空间起始扇区的第一字节处,如图15所示。
(图15)
显然,剩余空间还没有数据存在,可以放心地存放BLLDR文件。按Ctrl+B将剪切板中的BLLDR块数据从分区剩余空间第一扇区第一字节处(偏移地址:126D542C00)写入,见图16。
(图16)
然后,按“保存”图标,将改动的扇区数据进行保存。从数据显示来看,已经把BLLDR文件完整的复制到了分区剩余空间起始处,如图17所示。
(图17)
期间遇提示选择“OK”及“YES”,最后结果如图18所示:
(图18)
做完了上面的工作,现在我们可以编辑XORLDR的第四个菜单项—―“从绝对扇区启动BLLDR”。从图18中我们可以得出BLLDR文件在分区剩余空间占用的第一扇区号为154577430,大小为243KB,即所占用的扇区(512B)数为243*2=486(个)。该文件为GRLDR改名而来,故其文件类型为“GRLDR.MBR/GRLDR”。据此可编辑菜单项如图19所示:
(图19)
3.5 从文件启动Cdlnux无线社区版
这个没什么好说的了,/BOOT/CDLINUX.BIN为一GRLDR内置菜单,用于装载/Cdlinux/boot/menu.lst这个菜单文件。菜单编辑如图20所示:
(图20)
3.6 从文件启动我的DOS工具箱
现在的XORLDR版本开始支持从文件启动IMA、IMG映像。在文件类型选项中设置了把映像文件虚拟成FD0还是HD0的选项。这样,我们可以把IMG格式的PE或者RAMOS直接做为XORLDR程序的一个启动项来加载,很是方便。既然是从文件启动,则可以选择是从目录启动还是从绝对扇区启动,如是后者,也能如前所述将映像文件复制到分区空间,只要您的分区剩余空间预留得足够大。另外,从绝对扇区启动文件不能超过9999扇区,即不能超过4.88M。
这里,我们选择从目录启动DOS时代菜鸟的“我的DOS工具箱”,如图21:
(图21)
从表面上看,比较小巧的IMA文件虚拟成FD0,相对较大的IMG文件可虚拟成HD0,但实际上比较多的IMG文件是FD软盘格式的。具体使用哪种形式启动需要自行探索。
天涯海角1216建议从绝对扇区启动PLPBT.BIN,我觉得很有实际应用价值。这样做的好处是显而易见的:即当硬盘分区表被破坏时仍然可以通过XORLDR启动PLPBT.BIN,然后使用USB2.0加载移动设备来维护,对于老机器来讲很有意义。这个小程序不大,43KB大小,参考3.4小节中的操作步骤,可以很容易地把这个小程序放到分区剩余空间中。需要注意的是应该计算好程序在分区剩余空间中的初始位置,不要与其它有用的程序相互覆盖了。
3.8 从下一设备启动
这一启动选项属于特殊选项,类似的还有“重新启动计算机”、“关闭计算机”。我认为只有这个选项稍有意义,因为在XORLDR启动界面,按“Ctrl+Alt+Del”即可重启,而进行这个启动界面肯定是想进入某个启动项,关机命令用处不大,更何况不行还可以按关机按钮呢。简单照图23编辑就可以了:
(图23)
关于磁盘访问方式,对于硬盘来讲,可以固定为“强制LBA方式”,对于U盘而言,一种访问方式不能正常启动时换到别一种访问方式再试。
4.XORLDR代码的安装位置
XORLDR能否正常启动,很关键的一点是主代码及辅助代码安装位置要弄清楚了。XORLDR主代码占用1个扇区,辅助代码占用31个扇区,共需要32个扇区的空间。
如果是初学者,建议把主代码位置安装到“MBR(主引导记录)”,同时设置辅助代码位置为“1”。这样,安装XORLDR到MBR之后,实际是占用了第0~31扇区共32个扇区的空间。
有些情况下,我们可能并不能完全占用宝贵的引导空间,或者出于某种安全目的要把辅助代码移出前63扇区,此时什么地方最安全呢?当然是前面讲过的分区间隙及分区剩余空间了!根据图2所示及相关分析,我们知道:对于我现在这台机器来讲,分区剩余空间占用了第154577430~154587127扇区,共4.7MB。可以通过Winhex去查看这4.7MB空间里哪里是可以利用的(其实绝大部分可用,对于本机而言仅仅是初始的243KB空间为BLLDR所占用)。我们选取其中的一段空间(第154585088扇区开始的31个扇区)存放XORLDR的辅助代码。如图24所示:
(图24)
利用XORLDR主代码及辅助代码存放位置的不同,可以方便地实现与GRUB的双启动。安装GRUB至MBR后,其引导程序占用第0扇区及第2~18扇区共18个扇区的空间。我们可以将XORLDR主代码安装到第1扇区,而将辅助代码安装到其它位置,这样即可实现XORLDR与GRUB的双启动。
以上图为例,只要将主代码位置更改为“其它位置”,并填写扇区号“1”;辅助代码仍然填写“154585088”。然后利用BOOTICE对MBR写入GRUB引导,选择“优先引导原来的MBR”,填写快捷键,则在启动时按快捷键为GRUB引导,不按键为XORLDR引导。如图25所示:
(图25)
此外,我们知道PLPBT.BIN可以管理多个硬盘,能够选择从分区PBR启动,这样我们也可以对MBR写入PLPBT引导程序,而对某一分区PBR写入XORLDR代码,就可以在机器从PLPBT管理器启动后,选择写入XORLDR代码的分区启动,同样可以启动到XORLDR的管理菜单。在这种情况下,写入PBR的仍然可以仅仅是1个扇区的主代码,而把辅助代码放到其它安全的位置。
5.XORLDR另类启动菜单
最后,介绍一下比较恶搞的菜单用法。通常,我们设置一个菜单项是用来启动什么东东,那么反过来,我们也可以通过设置一个默认的XORLDR启动菜单项,使之不能正常启动,请看图26所示:
(图26)
按照上图设置菜单,由于“不显示选择菜单”,一切都是摸黑操作,另外即使按到了快捷键也要回车才执行菜单命令,这样1秒的时间基本不够忙活的,不知道快捷键的话开机启动后就只会显示一行“Booting from (hd0)+0x0000029A….”,就再也没动静了,看起来好象出故障了,有点点恶搞。