无忧启动论坛

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

[原创]我的单硬盘多系统的安装、激活及启动问题_多种实现方法_附重建BCD脚本

  [复制链接]
跳转到指定楼层
1#
发表于 2010-7-14 19:17:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我应mmkkqq_123的要求,现将我安装多系统的方法发贴如下,敬请各位老大指正错误,在此表示感谢!

(此贴由本人原创,若转发,请注明出处。)


(若觉好,千万别忘了回贴顶一下)

安装实例可参阅:《我的单硬盘多系统如此安装,对您有启发吗?》
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=164614&extra=page%3D3

启动管理器菜单实例可参阅:《秀一下我的多系统、多启动管理器菜单》
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=173488&extra=page%3D1



我的单硬盘多系统的安装、激活及启动问题

下面以第一个主分区(hd0,0)为安装操作系统的测试分区,工作数据(含下载软件、我的文档等)装在第二主分区(hd0,1),将grub4dos等启动管理器(含winpe)及多系统的克隆备份装在第三个主分区(hd0,3)或第一个逻辑分区(hd0,4),winxp、winvista、win7、win2008、win2003分别安装在第二个逻辑分区(hd0,5)、第三个逻辑分区(hd0,6)、第四个逻辑分区(hd0,7)、第五个逻辑分区(hd0,8)、六个逻辑分区(hd0,9)为例,进行介绍。通过该法,可将克隆版或安装版的winxp/win2003/winvista/win7/win2008系统,安装到硬盘的任一主分区或任一逻辑分区中正常运行。
第一部分 安装
一、将系统安装或克隆到硬盘的第一主分区中
1、若用原版安装盘进行安装
若无光驱,用WINPE启动系统,用其虚拟光驱软件加载iso文件进行安装与此相似。对winvista、win7、win2008的安装,最好用winpe带的nt6.x安装器进行安装。
安装前,切记要先做好以下工作:一是将要安装到的主分区格式化,二是将要安装到的主分区所在硬盘置为第一硬盘(即hd0),并将该分区调为活动分区,且将该分区的盘符调为C:否则,安装后,该系统的分区引导记录在另一硬盘,或在同一硬盘的活动分区,而系统在本硬盘或另一硬盘的非活动分区,将导致安装后的系统所在的盘符不为C:(若安装时系统要安装到的盘符为E:,则安装后系统的盘符也为E:),且克隆系统所在分区时,整个系统克隆不完整。系统全部安装完成后,一般将其克隆到grub4dos所在的分区的某个目录如ghost11下。
注意:不能直接将系统安装到逻辑分区,因这样安装,将使该系统的分区引导记录在主分区的活动分区中,系统在逻辑分区中,且安装时将向活动主分区写入部分系统文件,把系统所在的分区克隆成文件时,不能完整克隆(因未包含分区引导记录及写入活动主分区的部分系统文件),该系统就不能在单独的分区中运行。
**提示:若电脑是以活动主分区用GRUB4DOS、或MSDOS+GRUB4DOS、或SYSLINUX+GRUB4DOS、XORLDR+GRUB4DOS或SYSLINUX方式启动系统后,所要安装到的分区不能将其盘符置为C:,可以安装GRUB4DOS以硬盘主引导记录MBR方式启动,并将要安装到的主分区置为活动主分区后,再启动WINPE系统,该活动主分区的盘符即变为C:。
2、若用系统克隆盘进行克隆
克隆时,可直接克隆至某一主分区中(不能直接克隆至逻辑分区中,因这样不能启动)。
克隆前,若要克隆至的分区盘符为C:,须将其他主分区置为活动分区后,重启WINPE系统,该活动主分区的盘符即变为C:,要克隆至的分区盘符变为非C:,此时即可克隆。
完成克隆启动系统前,切记要先做好两件事:一是用分区软件或bootice软件将硬盘的主引导记录MBR更改为微软式的,一般选windows nt 5.x即MSDOS/WIN9X/winxp/winvista通用的MBR,即让MBR只含直接启动活动分区的引导程序,而不含启动其他程序的引导程序。二是将系统克隆到的主分区调为活动分区。系统全部安装完成后,一般将其克隆到grub4dos所在的分区的某个目录下。
二、将安装好的系统克隆到硬盘的逻辑分区中
1、克隆到同一硬盘。用克隆到grub4dos所在的分区的某个目录下的系统克隆文件,无论是将其克隆到其他主分区中,还是克隆到逻辑分区中,克隆软件都还将自动完成以下两项工作:一是更改boot.ini等系统文件的内容,使其能在新的分区运行;二是克隆系统文件.gho包中含有原分区的分区引导记录,克隆到其他主分区或逻辑分区时,都将在新的分区创建引导分区,并将包中引导程序复制到该引导分区中,但不将该引导分区中的引导程序指向新分区中的系统文件。在一中2步中克隆系统时,也会完成以上两项工作。
2、克隆到第二硬盘。如1中克隆到第二硬盘后,在不交换硬盘接口(即不动硬件)的情况下,不论用第一硬盘还是用第二硬盘启动在第二硬盘的系统,只要用grub4dos的map命令软交换硬盘,即可正常启动该系统。启动该系统的方法详见下面之“用grub4dos启动系统”部分。
三、系统安装、克隆的补充说明
1、系统(特别是对win2003/2008等服务器版系统)克隆到逻辑分区后,须用bootice软件对克隆到的分区,重写该分区的引导扇区为ntldr型或bootmgr型(因winvista及以后的系统均要激活,一般均写为ntldr型)。
2、将克隆版的win2003/2008服务器版安装后,克隆到其他分区并重写该分区的引导扇区后,能启动,但启动到登录界面时,始终无法登录。解决办法是:用原安装版安装好后,再克隆到其他分区,即可正常启动。
3、在笔记本电脑上用克隆版系统克隆安装到第一个主分区,能正常启动,但克隆到其他分区,却不能正常启动。解决办法是:用原安装版安装好后,再克隆到其他分区,即可正常启动。
四、对部分从网上下载的纯净克隆版系统可如下安装
1、将克隆版直接克隆至逻辑分区。克隆完后,不立即启动,先用bootice软件更改硬盘主引导记录,及更改系统克隆到的逻辑分区的启动记录;再编辑grub4dos启动菜单,不直接启动系统,而用grub4dos启动菜单启动该系统。
2、启动系统,继续进行该克隆版系统的恢复工作,待系统第一次重启时,不要立即进入该系统,而是进入winpe或另一系统,将该克隆版系统在激活主分区生成的启动器文件(有多个)全部删除,再用bootice软件更改该系统的逻辑分区的启动记录,再启动进入该系统。若不作此步,系统就不能将其所在的逻辑分区变为C:盘,而是变为D:、E:等其他盘符。对某些系统,应每次重启时,均重复此步,直至完成下一步为上。
3、当该系统能进入桌面时,先不安装任何驱动程序,而是先看系统所在的逻辑分区是否为C:盘,若为C:盘,则不再重复上步。为避免安装完驱动后,因驱动与硬件不兼容引起系统启动蓝屏,要立即重启进入winpe或另一系统,对其进行克隆备份后,再进行下一步。
4、安装驱动时,不要执行为某类系统定制的setup程序,因这可能会引起系统重启后蓝屏。而是进入设备管理器,对所有要安装驱动的硬件,逐一通过其属性更新驱动程序的方式,逐一安装驱动安装。
5、安装完应用软件后再进行一次克隆备份。
6、此法的缺点是:安装步骤较繁杂。优点是:一是不需要单独的主分区进行安装;二是能解决部分系统在主分区安装完后克隆至逻辑分区不能启动的问题。

第二部分 系统激活(winxp/win2003无激活问题)
  一、品牌机的激活
因品牌机的BIOS里有品牌机的信息,因微软为预装了OEM版本的winvista/win2008/win7系统的部分品牌机,设定了免激活功能。因此,winvista/win2008/win7在品牌机上安装好后,一般是自动激活的,且在C:盘根目录将此品牌机的OEM信息写入OEMXX(XX为任意字符)文件中,在操作系统中,此文件有磁盘保护功能,不能更名、复制、删除和更改属性。要想将此winvista/win2008/win7系统克隆到其他分区,只需直接克隆后启动之即可。若不能启动,虽用bootice软件更改克隆至的分区的启动扇区为bootmgr类型(不能更改为NTLDR类型)后能启动,但会变为未激活状态,此时,只能用非品牌机的方法激活。
二、非品牌机(含品牌机安装系统未自动激活的,也可如此)的激活
winvista/win2008/win7的激活机理是:因微软为预装了OEM版本的winvista/win2008/win7系统的部分品牌机,设定了免激活功能。winvista/win2008/win7的免激活工具则采取硬刷(将主板BIOS硬刷为OEM品牌机BIOS,有一定危险性),或软刷(改MBR或PBR+grldr,模拟品牌机BIOS,无危险),达到激活winvista/win2008/win7的目的。
软刷及启动过程是:将grub4dos的启动程序grldr进行修改,在其中包含模拟品牌机BIOS的信息,并对winvista/win2008/win7的引导扇区PBR的引导程序进行修改,将原启动指向bootmgr(winvista/win2008/win7的启动管理器程序,非它们的引导程序,它们的引导程序是windows\system32\winload.exe)改为指向grldr,引导扇区中的其他程序和信息未被修改(仍为与winvista/win2008/win7兼容的分区引导记录,该扇区中未含模拟品牌机BIOS的信息和程序)。启动时,调用winvista/win2008/win7的引导扇区->执行grldr中的模拟品牌机BIOS信息->由grldr调用内置的启动菜单menu.lst启动winvista/win2008/win7。当然,可用winnt/2000/xp/2003系统的NTLDR启动程序用boot.ini直接调用grldr启动winvista/win2008/win7系统,或用syslinux直接调用grldr启动winvista/win2008/win7系统。但不能由MSDOS调用grldr(MSDOS只能调用grub.exe这一DOS程序);也可用winvista/win2008/win7的bcd或通过boot.ini调用grldr.mbr(该文件为grldr写入硬盘主引导记录MBR的映像文件),再自动调用grldr文件。

提示一:若自己手里有winvista/win2008/win7激活后生成的grldr文件,可不使用winvista/win2008/win7的激活工具,而用grub4dos的安装工具grubinst_gui以安装到硬盘分区的方式安装(安装到系统所在分区,但为与winnt/2000/xp/2003系统兼容的分区引导记录,但不影响winvista/win2008/win7的启动,也可bootice软件),可同样达到使系统所在的分区的引导扇区不调用bootmgr而调用grldr的目的。同时,因在安装时在“启动文件”处指定不同的启动文件名,还可达到更改grldr名称的目的。

提示二:winvista/win2008/win7三个系统写入grldr中的模拟品牌机BIOS信息的执行程序是不同的,因此,三个系统的激活工具是不能互用的,即三个系统生成的grldr是不同的(但grldr中内置的启动菜单menu.lst的内容是相同的)。当然,更不能用grub4dos的grldr程序代替之。

提示三:早期的免激活工具,不是修改系统所在分区的引导记录PBR,而是修改硬盘MBR,由MBR调用系统所在分区的grldr程序,来启动系统。
提示四:若将winvista/win2008/win7安装好后,其是用软激活方式激活的系统(即用grldr激活),克隆到其他分区时,一般要用bootice软件重写系统克隆到的分区的分区引导扇区的信息。写时,不要写成bootmgr引导程序,因用其引导后系统不能激活;而要写成ntldr方式,且要将写入引导扇区中的引导程序名更名为grldr(有的激活程序也将其更名,如SKLDR)即可引导系统并能激活。

提示五:grldr程序内置的启动菜单menu.lst的内容如下:
default 0
timeout 0
title Windows Vista
acpi
fallback 1
find --set-root /bootmgr
chainloader /bootmgr
title Windows NT/2000/XP
fallback 2
find --set-root /ntldr
chainloader /ntldr
title Enter Command Line
pause Boot failed! Press any key to enter command line.
commandline
注:以上程序会查找安装到硬盘中的第一个winvista/win2008/win7系统,若硬盘中安装有winvista/win2008/win7中的两个或三个系统,只能启动硬盘中的第一个winvista/win2008/win7系统,而要将find --set-root /bootmgr一句更改为rootnoverify (hd0,x),x为某一winvista/win2008/win7系统所在的硬盘分区编号。再将此程序内置到grldr中即可。

第三部分 启动系统
一、用grub4dos启动管理器启动系统
1、msdos+grub.exe引导方式
硬盘主引导记录MBR:windows nt 5.x;
启动分区(grub4dos等启动管理器所在分区,下同):主分区、非隐藏、激活、为FAT32格式,分区引导记录pbr为msdos;
分区根目录下须有io.sys、msdos.sys、command.com、config.sys、grub.exe(须将menu.lst内置入其中,grub.exe可改名)五个文件。
其中,config.sys内容为一行:
DEVICE=grub.exe
或install=grub.exe
或shell=grub.exe
可用grubmenu import grub.exe menu.lst将菜单内置入grub.exe中。也可用其他工具将菜单内置。
menu.lst菜单内容如下(不隐藏分区):
title Microsoft windows XP
rootnoverify (hd0,5)
chainloader /ntldr
#或用以下两句,同样能启动,且通用性好。但因要查找ntldr文件,要多花一点的时间。
#find --set-root --ignore-floppies --ignore-cd /ntldr
#chainloader /ntldr
title Microsoft windows vista
rootnoverify (hd0,6)
chainloader +1
title Microsoft windows 7
rootnoverify (hd0,7)
chainloader +1
title Microsoft windows server 2008
rootnoverify (hd0,8)
chainloader +1
title Microsoft windows server 2003
rootnoverify (hd0,9)
chainloader /ntldr
说明一:
以上系统,不需执行rootnoverify (hd0,x)(x=5、6、7、8、9),而只执行chainloader (hd0,x)+1(x=5、6、7、8、9),调用系统所在分区(主分区或逻辑分区)的引导记录PBR进行启动。对于winxp/win2003系统,可执行chainloader /ntldr或chainloader +1。对于采取类grldr方式激活的winvista/win2008/win7系统,只能执行chainloader +1,以调用grldr以模拟品牌机BIOS,然后启动系统;若执行chainloader /bootmgr,将直接启动而不能激活。
说明二:
对winvista/win2008/win7,可用以下命令来启动,通用性好,且能启动第一或第二硬盘中的WinVista/win2008/Win7系统,即:
title 启动首先找到的任一硬盘上的WinVista/win2008/Win7
find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader +1
但若只用:
find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /bootmgr
以上两句绕过了运行分区引导记录PBR和执行grldr,未能模拟品牌机BIOS,使启动后的winvista/win2008/win7系统变为非激活状态。
说明三:
在同一电脑的一个或多个硬盘中,装有两个或以上的winvista/win2008/win7系统时,处在同一硬盘靠后分区的系统,或处在在BIOS排列靠后的硬盘上的系统,系统所在分区中的grldr中内置的菜单要作如下更改后再内置到grldr中才可正常启动,否则将只启动首先找到的系统。
即将上面的grldr菜单,将find --set-root /bootmgr这一句,更改为rootnoverify (hd0,x)(系统在不同的硬盘或分区,此处作相应更改)。
说明四:
启动第一或第二硬盘中的WinNT/2000/XP/2003系统的通用启动命令如下:
title 启动首先找到的任一硬盘上的WinNT/2000/XP/2003
find --set-root --ignore-floppies --ignore-cd /ntldr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /ntldr
说明五:
对克隆到其他主分区或逻辑分区或第二硬盘的WinNT/2000/XP,用chainloader /ntldr不能启动时,要先用bootice等软件将其克隆到的分区的引导记录重写为NTLDR型(可能克隆后的分区引导记录不能启动),再用chainloader +1命令启动即可。
2、GRUB4DOS安装在MBR引导方式
硬盘记引导记录MBR:GRUB4DOS
启动分区:主分区或逻辑分区、非隐藏或隐藏、激活或非激活、FAT32或NTFS格式,分区引导记录pbr:任意。
分区根目录下须有grldr(menu.lst内置入,安装时grldr可改名)文件。
menu.lst菜单内容如下(用GRUB4DOS的功能相互隐藏系统分区):
title Microsoft windows XP
unhide (hd0,5)
hide (hd0,6)
hide (hd0,7)
hide (hd0,8)
hide (hd0,9)
chainloader (hd0,5)+1
title Microsoft windows vista
hide (hd0,5)
unhide (hd0,6)
hide (hd0,7)
hide (hd0,8)
hide (hd0,9)
chainloader (hd0,6)+1
title Microsoft windows 7
hide (hd0,5)
hide (hd0,6)
unhide (hd0,7)
hide (hd0,8)
hide (hd0,9)
chainloader (hd0,7)+1
title Microsoft windows server 2008
hide (hd0,5)
hide (hd0,6)
hide (hd0,7)
unhide (hd0,8)
hide (hd0,9)
chainloader (hd0,8)+1
title Microsoft windows server 2003
hide (hd0,5)
hide (hd0,6)
hide (hd0,7)
hide (hd0,8)
unhide (hd0,9)
chainloader (hd0,9)+1
3、GRUB4DOS安装在启动分区引导方式
硬盘记引导记录MBR:windows nt 5.x或windows nt 6.x
启动分区(假设为第3主分区):激活主分区、非隐藏或隐藏、FAT32或NTFS格式,分区引导记录pbr:grldr。
分区根目录下须有grldr(menu.lst内置入,安装时grldr可改名)文件。

若GRUB4DOS安装在逻辑分区,可采用mbldr+grub4dos引导方式,即逻辑分区安装grldr,MBR用mbldr仅配置启动分区(grub4dos所在分区)为单启动菜单(延时1秒、不勾选“引导时隐藏其他主分区”和“引导的主分区标记为活动”),保存mbldr为mbr_mbldr.bin,再用bootice选该文件恢复MBR(勾选“保留磁盘签名和分区表不变”)。其他相同。

menu.lst菜单内容如下(用xorldr_0.36相互隐藏系统分区):
title Microsoft windows XP
chainloader /boot/xor_winxp.bin
title Microsoft windows vista
chainloader /boot/xor_vista.bin
title Microsoft windows 7
chainloader /boot/xor_win7.bin
title Microsoft windows server 2008
chainloader /boot/xor_win2008.bin
title Microsoft windows server 2003
chainloader /boot/xor_win2003.bin
注:xor_winxp.bin等为用xorldr_0.36生成的启动文件(可置于某目录如\boot\下),用之启动系统,且可相互隐藏系统分区为EISA配置的隐藏分区。方法如下:用xorldr_0.36及以后版本(之前的版本不能)做winxp的单一启动菜单(隐藏菜单,超时启动,设为零秒;从操作系统所在的系统分区引导扇区启动;且定义隐藏分区3、6、7、8、9,不能隐藏要启动的系统所在的分区),保存启动配置文件为xor_winxp.bin。用同样方法做出其他系统的启动配置文件。
4、syslinux+grub4dos引导方式
硬盘记引导记录MBR:windows nt 5.x、PLoP Boot Manager或syslinux;
启动分区:激活主分区、非隐藏或隐藏、FAT32格式,分区引导记录pbr:syslinux。
分区根目录下无文件,只需建一目录boot(可用attrib +h +s +r boot /s /d命令隐藏该目录)即可。
方法如下:
①在boot目录下建syslinux目录,将syslinux带的syslinux.exe文件及grub4dos带的ldntldr文件拷入该目录。
②执行syslinux -sfmar -d /boot/syslinux f:  (f:为启动分区的盘符)
将把MBR、PRB均设定为syslinux类型,且在\Boot\syslinux\目录下生成启动文件ldlinux.sys,若不加-m参数,只把PRB均设定为syslinux类型,则MBR可设定为windows nt 5.x或PLoP Boot Manager类型。
其中,-a表示在启动时激活该分区(但并不是在windows的DOS命令窗口执行该命令后,该分区立即变为激活分区);
     -f表示force(强制)写入,这在写入本地磁盘时必须使用,无论是写MBR还是写PBR都需要;
     -m是向U盘或硬盘的主引导扇区写入主引导记录mbr;
     -r是向U盘或硬盘的分区引导扇区写入引导记录pbr;
     -s表示使用类似安全模式的代码,可以获得更佳的兼容性;
     -d /boot/syslinux是把命令生成的启动系统文件ldlinux.sys放到/boot/syslinux目录,系统启动时从该目录寻找引导文件ldlinux.sys,及配置文件syslinux.cfg。注意:只可将ldlinux.sys及syslinux.cfg等文件放到根目录、Boot 文件夹、Boot\syslinux文件夹,除此之外,则不能放于其他任何文件夹。
注:syslinux不能安装在非FAT32分区,也不能安装在逻辑分区。
③在\Boot\syslinux\目录下编辑一个文本文件syslinux.cfg,内容如下:
timeout 0
default grldr
LABEL grldr
MENU LABEL [^1] Boot grub4dos menu
kernel ldntldr
append initrd=/boot/grub4dos/grldrtzy
④在\boot\目录下建一目录grub4dos,将grldr改名为grldrtzy(可随意)并将menu.lst(其内容见上)内置入后放在grub4dos目录下。启动grub4dos菜单所需的其他文档如winpe.iso等也放在grub4dos目录下。
⑤另在根目录下建一ghost11目录,用grub4dos菜单启动winpe(加密码)后,克隆备份以上所有系统到该目录下,也可在该目录下还原以上系统。用grub4dos启动winpe的menu.lst菜单内容如下:
title Win2003PE全内置维护系统(45M)
password --md5 $1$jZO0$hCfNrLXt4zVx56gIJZrRb/
pause --wait=0 Please Wait....
map --mem /boot/grub4dos/03pe_45m.iso (0xFF)
map --hook
chainloader (0xFF)
⑥MBR设定为PLoP Boot Manager(简称plpbt)类型的方法:用bootice软件将硬盘主引导记录MBR设定为该类型,重启动后,在plpbt的设定中,只设启动分区为grub4dos所在的主分区,其他分区项全部删除,且设定等待时间为1秒和不显示菜单即可。遗憾的是:截止plpbt-5.0.10版本,尚不能将等待时间设为零秒,关键是不能用之启动逻辑分区的启动管理器和操作系统。
5、xorldr+grub4dos引导方式
硬盘记引导记录MBR:xorldr;
启动分区:主分区或逻辑分区、激活或非激活、非隐藏或隐藏、FAT32或NTFS格式,分区引导记录pbr:任意。
分区根目录下无文件,只需建一目录如grub(将grub4dos启动菜单的所有支持文件拷入该目录下)。
方法如下:做grub4dos的单一启动菜单,即隐藏菜单,超时启动,设为零秒;从文件启动,选\grub\grldr,选grub4dos所在的分区,选系统类型为grldr;然后写入磁盘即可。
此方式的优点是:可选NTFS类型的逻辑分区为启动分区,用bootice将分区隐藏为?EISA配置的隐藏逻辑分区;该分区根目录下无文件,仅有两个已隐藏的目录grub(存放grub4dos启动菜单的支持文件,含winpe)、ghost11(存放以上所有操作系统的克隆备份)。较为安全,推荐使用。
二、用NTLDR启动管理器启动系统
1、用分区软件、bootice软件或操作系统的“磁盘管理”将启动分区(推荐为NTFS文件类型)激活为活动主分区。若选启动分区为逻辑分区,可参照xorldr+grub4dos引导方式,采用xorldr+ntldr引导方式实现。也可采用mbldr+ntldr引导方式。其余操作完全相同。
2、安装分区启动记录
①用grub4dos的grubinst_gui.exe工具(使用时,需用其目录下的附加文件,因此需在其所在目录下运行),运行时,在其中指定启动文件名为NTLDR,并选分区为该活动分区进行安装。
②或用bootsect /nt52 d:命令,此命令在分区d:上生成与NT/2000/XP/2003系统兼容的启动NTLDR管理器的启动扇区记录。bootsect命令由winvista/win2008/win7安装光盘自带。
③或用bootice软件,在所在分区生成NTLDR引导程序。
3、将windows2003(不用winxp的,因这样兼容性好)的NTLDR启动管理器所必需的4个文件,即ntldr、NTDETECT.COM、bootfont.bin、boot.ini,复制到活动分区的根目录下。
4、若需启动MSDOS,启动分区必须为FAT32格式,且其前必须无FAT16、FAT32分区(若有,启动前须用grub4dos或其他工具将其隐藏),将MSDOS启动文件io.sys、msdos.sys、command.com该分区根目录下(启动MSDOS后,DOS的这3个启动文件必须存放在盘符为c:根目录才正常,而MSDOS启动后,会将第一个未隐藏的FAT32主分区作为c:,若该分区是非激活分区,启动也不正常。即把这3个文件复制到第一个未隐藏的FAT32主分区根目录,且把该分区激活为活动分区,启动才正常)。由此可见,MSDOS启动的条件较苛刻,因此一般不采用此法启动MSDOS。而采用调用msdos.ima包(该包中仅含io.sys、msdos.sys、command.com三个文件)的方式启动MSDOS,启动后,模拟为A:,适应性好。
5、编制启动MSDOS.ima(可在非激活主分区或逻辑主分区启动,可单独内置后参照下法改名为grdos)、启动unlix或其他操作系统、调用IMA或ISO工具包、从光盘或USB盘启动等的GRB4DOS工具包的菜单menu.lst,并将其内置到grldr程序中,拷入启动盘根目录下(注:只能在根目录,不能在某一子目录下)。
6、对于采取类grldr激活的WinVista、win7、win2008系统,将其激活文件grldr程序更名后拷入启动盘根目录下(注:只能在根目录,不能在某一子目录下)。
提示:grldr程序执行时,先执行其内部代码,再调用与grldr同名的文件包含的内置菜单(若找不到grldr的同名文件,将在硬盘根目录查找同名的grldr文件并执行),因此,grldr不要改名(包括生成光盘ISO加载启动文件时,grldr只能更名为grldr.bin或grldr.bif,不能更名为grldrxxx.bin或grldrxxx.bif;但syslinux调用grldr文件时,因只需调用其内置的菜单,因此grldr可以更名)。如上面一样确需更名时,须用WinHex等工具查找grldr的内部代码,将grldr名称替换为与外部文件名相同,才能正常执行。安全的替换方法是:新名也取为5个字符,查找GRLDR全部替换为5个字符新名的大字字符(如GRDOS),即GRLDR大写替换为新名大写(共6处),同时,grldr小写替换为新名小写(共2处)。
注:通过Windows 7和Windows Vista激活后生成的grldr改名的gwin7、grvsa,不只替换8次(因其中存有模拟品牌机BIOS信息),也要分大小写全部替换。
7、对于采取非类grldr激活(即oem激活)的WinVista、win7、win2008系统,须先保存其分区引导记录到文件
假如在winxp中,winxp、winvista、win7、win2008、win2003的分区盘符分别为c:、e:、f:、g:、h:,用dsptw 0 /find:all命令查看0硬盘的分区信息,其分区编号分别为0:4、0:5、0:6、0:7、0:8。
①用DISKRW工具保存以上几个系统的分区引导记录到文件的命令如下(本项操作在winxp下进行):
DISKRW c: 0 1 /s winxp.pbr
DISKRW e: 0 1 /s vista.pbr
DISKRW f: 0 1 /s win7.pbr
DISKRW g: 0 1 /s w2008.pbr
DISKRW h: 0 1 /s w2003.pbr
注意:不能用DISKRW 0 0 1 /s sys.pbr,此命令只能将0硬盘的主引导记录mbr写到sys.pbr文件中。
②或用DSPTW工具保存以上几个系统的分区引导记录到文件的命令如下(本项操作在winxp下进行):
DSPTW c: 0 1 /s winxp.pbr /y
DSPTW e: 0 1 /s vista.pbr /y
DSPTW f: 0 1 /s win7.pbr /y
DSPTW g: 0 1 /s w2008.pbr /y
DSPTW h: 0 1 /s w2003.pbr /y
或  
DSPTW 0:4 0 1 /s winxp.pbr /y
DSPTW 0:5 0 1 /s vista.pbr /y
DSPTW 0:6 0 1 /s win7.pbr /y
DSPTW 0:7 0 1 /s w2008.pbr /y
DSPTW 0:8 0 1 /s w2003.pbr /y
(以上n:m的分区编号方法与grub4dos对硬盘分区编号的方法不同)
注意:不能用DSPTW 0 0 1 /s sys.pbr /y,此命令只能将0硬盘的主引导记录mbr写到sys.pbr文件中。
      也不能用DSPTW 0 /S sys.pbr /DBR /Y,此命令只能将0硬盘的活动主分区引导记录pbr写到sys.pbr文件中。

③用grub4dos的DD命令(本项操作在grub4dos命令行下进行)
先用文本编辑器创建大小为512byte的文件winxp.pbr、vista.pbr、win7.pbr、w2008.pbr、w2003.pbr(因dd命令不能创建文件)
再用如下命令保存分区引导记录到文件:
dd if=(hd0,5)+1 of=()/winxp.pbr
dd if=(hd0,6)+1 of=()/vista.pbr
dd if=(hd0,7)+1 of=()/win7.pbr
dd if=(hd0,8)+1 of=()/w2008.pbr
dd if=(hd0,9)+1 of=()/w2003.pbr
④用bootice工具直接保存以上分区的引导记录分别到文件winxp.pbr、vista.pbr、win7.pbr、w2008.pbr、w2003.pbr,此法更方便。
将用以上方法之一创建的winxp.pbr、vista.pbr、win7.pbr、w2008.pbr、w2003.pbr文件复制启动分区根目录。
8、编辑boot.ini的内容如下:
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(5)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(5)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /detecthal
multi(0)disk(0)rdisk(0)partition(9)\WINDOWS="Windows Server 2003, Standard" /noexecute=optout /fastdetect
c:\grvsa="Windows Vista"
c:\gwin7="Windows 7"
c:\g2008="Windows 2008"
c:\grdos="MSDOS 7.10" (注:不能直接写为c:\io.sys=MSDOS 7.10)
c:\grldr="启动grub4dos工具包"

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(5)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(5)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /detecthal
multi(0)disk(0)rdisk(0)partition(9)\WINDOWS="Windows Server 2003, Standard" /noexecute=optout /fastdetect
c:\vista.pbr="Windows Vista"
c:\win7.pbr="Windows 7"
c:\w2008.pbr="Windows 2008"
c:\grdos="MSDOS 7.10" (注:不能直接写为c:\io.sys=MSDOS 7.10)
c:\grldr="启动grub4dos工具包"

[boot loader]
timeout=10
default=c:\winxp.pbr
[operating systems]
c:\winxp.pbr="Windows XP"
c:\vista.pbr="Windows Vista"
c:\win7.pbr="Windows 7"
c:\w2008.pbr="Windows 2008"
c:\w2003.pbr="Windows 2003"
c:\grdos="MSDOS 7.10" (注:不能直接写为c:\io.sys=MSDOS 7.10)
c:\grldr="启动grub4dos工具包"
提示一:对于安装在硬盘上的NT/2000/XP/2003系统,只需直接用以上的multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /detecthal命令行来启动系统(若删除此行,NTLDR启动管理器将自动出现一行“Microsoft Windows(默认)”来启动NT/2000/XP/2003系统),而不需用c:\winxp.pbr="Windows xp"方式来启动NT/2000/XP/2003系统。
提示二:要注意multi(0)disk(0)rdisk(0)partition(x)\WINDOWS=后winxp与win2003参数的不同。

但boot.ini不支持如下调用:
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(9)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(5)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(9)\WINDOWS="Windows Server 2003, Standard" /noexecute=optout /fastdetect
c:\boot\xor_vista.bin="windows vista"
c:\boot\xor_win7.bin="windows 7"
c:\boot\xor_win2008.bin="windows 2008"
c:\boot\xor_winxp.bin="winxp -2"
c:\boot\xor_win2003.bin="windows 2003-2"
c:\grldr="grub4dos menu"
即boot.ini不能调用xorldr_0.36生成的xor_vista.bin等启动文件。

三、用bootmgr启动管理器启动系统
(一)准备工作
1、将启动分区(推荐为NTFS文件类型)激活为活动主分区。若选启动分区为逻辑分区,可参照xorldr+grub4dos引导方式,采用xorldr+bootmgr引导方式实现。也可采用mbldr+bootmgr引导方式。其余操作完全相同。
2、安装分区启动记录。假设此活动分区现盘符为d:,用bootsect /nt60 d:命令,或用bootice软件,在分区d:上生成与winvista/win2008/win7系统兼容的启动bootmgr管理器的启动扇区记录。注:不能用grubinst_gui工具按类似的方法,即用grubinst_gui工具指定启动文件名bootmgr安装启动扇区记录,这样生成的启动扇区记录与NT/2000/XP/2003系统兼容,而与winvista/win2008/win7系统不兼容,因此,不能启动bootmgr管理器。
3、将win7系统(不用winvista/win2008系统的,这样兼容性好)自带的bootmgr启动管理器,即bootmgr文件、boot目录(只需fonts目录、zh-cn目录,及bcd、boot.sdi、memtest.exe、bootsect.exe、bootfix.bin等文件即可),复制到启动分区根目录下。若要采用下面的boot.ini引导方式,只能复制winvista/win2008/win7系统安装光盘中带的boot目录(带有启动光盘安装时的PE系统的BCD配置数据文件)与bootmgr、boot.ini两个文件,不能复制在硬盘中已安装好的winvista/win2008/win7系统中的boot目录与这两个文件,否则可能无法启动。
4、创建grub4dos工具包及msdos启动包功能模块。用与NTLDR启动管理器启动系统中同样的方法创建这些功能模块,如启动DOS的功能模块grdos,因winvista/win2008/win7的bootmgr不能直接启动grdos,须将grdos及grub4dos的grldr.mbr复制到启动分区根目录,并将其更名为grdos.mbr,但其仍将调用根目录下的grldr,用与NTLDR启动管理器启动系统中同样的方法,将grdos.mbr内部的grldr分大小写替换为grdos后保存。并将启动grub4dos工具包的grldr.mbr拷入启动分区根目录下。
(二)boot.ini引导方式
1、与NTLDR启动管理器启动系统中同样的方法,保存winxp、win2003系统的分区引导记录到文件winxp.pbr、w2003.pbr,但不保存winvista/win2008/win7系统的分区引导记录到文件vista.pbr、win7.pbr、w2008.pbr(原因见以下说明)。
2、在启动盘根目录编制boot.ini文件的内容如下:
对winvista/win2008/win7系统,仍支持boot.ini的引导方式,但忽略对XP、win2003启动的multi(0)disk(0)rdisk(0)partition(5)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /detecthal等句设置(要按下法启动XP、win2003系统)。且boot.ini只能引导XP、win2003等老系统及grub4dos等实模式系统。若要引导winvista/win2008/win7系统,还需通过BCD引导方式进行。
[boot loader]
timeout=10
[operating systems]
c:\winxp.pbr="windows xp"
c:\w2003.pbr="windows 2003"
c:\grdos.mbr="MSDOS 7.10"
c:\grldr="启动grub4dos工具包"
提示一:如在boot.ini中,用c:\win7.pbr="windows 7"等句调用winvista/WIN7/win2008系统,将会重新返回此启动菜单,即无法启动winvista/WIN7/win2008系统。
提示二:先DSPTW 0:X 0 1 /s linux.pbr /y,再在boot.ini中用c:\linux.pbr="linux x.x"句可启动安装版安装在硬盘中的unlix系统,但若是克隆在硬盘中的linux系统,上法不能启动。
提示三:但此法有两点不足:一是启动菜单为英文,二是bcd文件带的启动光盘上的PE以安装系统的默认菜单,将出现在启动菜单项中(但不能使用,但不影响其他菜单项的使用)。由于有此两项不足,一般不采用此法。
(三)BCD引导方式
可采用bcdedit命令,或VistaBootPro、Easybcd等软件,配置bcd(启动配置数据)后,启动winvista/WIN7/win2008系统。由于比较复杂,此处不作介绍。

为方便,我编写了一个在BCD中添加winxp/win2003系统、winvista/win7/win2008系统、
win7/win2008r2的VHD系统、grub4dos/win98等实模式系统启动项的脚本,若有需要,请在此
下载 makemybcd及简介.rar (2.86 KB, 下载次数: 511) 。bcdedit及bcdtool请到网上下载。

四、用syslinux启动管理器启动系统
(一)创建系统启动盘及复制所需文件
可参照syslinux+grub4dos引导方式进行,此处略。

若要把syslinux装在FAT32格式的逻辑分区中,可采用xorldr+syslinux引导方式即可,即把syslinux的ldlinux.bin文件拷入x:\boot\syslinux目录(syslinux的启动目录)下。安装配置xorldr时,选从文件启动,选\boot\syslinux\ldlinux.bin,选syslinux所在的分区,选系统类型为syslinux;写入磁盘即可。也可采用mbldr+syslinux引导方式。

(二)编辑SYSLINUX.CFG配置文件
1、重启电脑
      LABEL reboot
        MENU LABEL Reboot computer
        kernel REBOOT.C32  
2、启动硬盘主引导记录MBR或分区引导记录PBR以启动系统
调用方法:
kernel CHAIN.C32
append hdx n (注意:hdx与n间是空格,不是逗号)
其中:hdx为hd0(第1硬盘,称0硬盘)、hd1(第2硬盘)....
   n为0:硬盘主引导记录MBR(可省略)
     1-n:硬盘主分区为1-4,逻辑分区为5至....,这与grub4dos对硬盘分区的编号不同(主分区为0-3,逻辑分区为4至....)
如启动第2硬盘MBR:
kernel CHAIN.C32
append hd1 (此句也可append hd1 0)

再如启动第1硬盘6分区(逻辑分区)的操作系统:
kernel CHAIN.C32
append hd0 6
提示一:可在syslinux启动时的提示行boot:输入chain.c32 hd0 6启动(hd0,6)中的操作系统,但如下调用:kernel CHAIN.C32 hd0 6,仅在一些老的syslinux版本可执行,在新的版本无法执行,因此建议不要再采用这种方法调用。

提示二:按照本法,即只用syslinx的单项菜单去启动安装在逻辑分区的操作系统,用户感觉不到启动菜单的存在,因不选择菜单就进入了操作系统,因此,特别推荐此法去启动逻辑分区的操作系统。

提示三:本法不能启动无分区引导记录的操作系统,如部分克隆版的linux系统。

提示四:对于安装在第2硬盘上的操作系统,用本法能启动安装在主分区的vista及以后的操作系统。但启动第2硬盘逻辑分区的操作系统(winxp及winvista),及启动安装在第2硬盘主分区的win2003或以前的操作系统,均未成功。
3、调用硬盘主引导记录MBR文件及分区引导记录PBR文件以启动系统
调用硬盘主引导记录MBR文件:kernel hd0_mbr.bin
调用硬盘分区引导记录PBR文件:kernel winxp.bin
注意:此类文件,由DSPTW、bootice、xorldr等工具生成,其扩展名应取为.bin,否则无法运行。

如(xor_winxp.bin等为xorldr_0.36生成的启动文件):
        LABEL winxp
  MENU LABEL [^1] winxp
  kernel /boot/xor_winxp.bin
LABEL winvista
  MENU LABEL [^2] winvista
  kernel /boot/xor_vista.bin
LABEL win7
  MENU LABEL [^3] win7
  kernel /boot/xor_win7.bin
LABEL win2008
  MENU LABEL [^4] win2008
  kernel /boot/xor_win2008.bin
LABEL win2003
  MENU LABEL [^5] win2003
  kernel /boot/xor_win2003.bin
      LABEL grldr
  MENU LABEL [^6] Boot grub4dos menu
  kernel ldntldr
  append initrd=/boot/grub4dos/grldrtzy
      LABEL reboot
         MENU LABEL [^7] Reboot computer
        kernel REBOOT.C32

4、调用执行dos工具包(*.img或*.ima)
对SysLinux 3.82版的memdisk已经能够自动检测CHS参数,调用方法如下:
LABEL maxdos7
     MENU LABEL maxdos 7.0
        kernel MEMDISK (注:该句为下句中调
        append initrd=/boot/grub4dos/maxdos7.img
对SysLinux 3.82以前的版本,memdisk不能自动检测CHS参数,调用方法如下:
LABEL maxdos7
    MENU LABEL maxdos 7.0
       kernel /boot/syslinux/MEMDISK c=80 h=4 s=36 floppy
       append initrd=/boot/grub4dos/maxdos7.img
     
      (*.img或*.ima包的类型及C/H/S值用GDParam软件获取)   
     
  提示:对于几十兆大小的*.img或*.ima包,由于不能象grub4dos的map -mem命令一样,将其调入内存执行,要求其在介质上的存放空间是连续的,但仍然启动巨慢,或根本不能启动该img或ima包。因此,不建议调用大的img或ima包(建议在grub4dos中用map -mem命令调用)。
5、调用grub4dos实现syslinux无法实现的功能
LABEL boot_grub4dos
  MENU LABEL Boot grub4dos menu
  kernel ldntldr
      # ldntldr由ldntldr.bin换名而来,ldntldr.bin为GRUB4DOS自带的loadbin外置工具,对应NTLDR或GRUB4DOS的系统文件ntldr和grldr
  append initrd=/boot/grub4dos/grldrtzy
  # grldrtzy可改名(原名为grldr),且已内置menu.lst

  对于以下两句:
  kernel ldntldr
       append initrd=/boot/grub4dos/grldrtzy
  可直接将grldrtzy更名为grldrtzy.bin,直接:
  kernel /boot/grub4dos/grldrtzy.bin 进行调用。
  但若直接kernel /boot/grub4dos/grldrtzy则不能调用,因syslinux认为grldrtzy与grldrtzy.bin是不一样的
也可: kernel /boot/grub4dos/grub.exe
          append --config-file="(fd0)/menu.lst"  
          若菜单menu.lst已内置到grub.exe中,则只需: kernel /boot/grub4dos/grub.exe即可调用。
6、启动winpe系统
①先将winpe系统的启动文件和目录(含外置程序目录)复制到目标盘根目录下。
②若winpe系统在当前盘(与启动系统的syslinux在同一盘),按下法调用:
  kernel ldntldr
       append initrd=/dir/setupldr (假设其启动文件为setupldr)
也可:
kernel /dir/setupldr.bin(将setupldr更名为setupldr.bin)
③若winpe系统不在当前盘,按下法:
需用mkimage.exe工具(GRUB4DOS自带的loadbin外置工具中含此工具,用于生成单一的启动文件,并指定默认的驱动器和分区)
若启动usb_zip盘中的winpe:
须mkimage -d (fd0) ldntldr.bin setupldr ldxpefd0.bin (ldntldr.bin在GRUB4DOS自带的loadbin外置工具含有)
直接调用kernel ldxpefd0.bin即可启动。注:(fd0)等价0x00
若启动硬盘(hd0,2)(注:因mkimage是grub4dos带的工具,是第3主分区,非syslinux指的第2主分区)中的winpe:
mkimage -d (hd0),2 ldntldr.bin setupldr ldxphd02.bin
再:kernel ldxphd02.bin,即可启动首硬盘第3主分区的WINPE。
注:(hd0)等价0x80(即十进制:128)
注:本法不能启动逻辑分区中的winpe系统。
7、调用ntldr或bootmgr启动管理器
①启动NT/2000/XP/2003系统的NTLDR启动管理器
将NTLDR、NTDETECT.COM、bootfont.bin、boot.ini四个文件复制到启动syslinux的当前盘根目录下,然后如下调用:
  kernel ldntldr
  append initrd=/ntldr

注:用kernel /ntldr.bin(将ntldr更名为ntldr.bin)不能启动。
      
提示:若对boot.ini文件进行配置(如用WINXP所在硬盘的boot.ini覆盖之),将启动boot.ini配置中指定硬盘中的winxp系统。
②启动winvista/2008/win7系统的bootmgr启动管理器
将winvista/2008/win7系统的bootmgr及boot目录复制到启动syslinux的当前盘根目录下,并配置boot.ini文件,然后如下调用:
  kernel ldntldr
  append initrd=/bootmgr
注:用kernel /bootmgr.bin(将bootmgr更名为bootmgr.bin)不能启动。
     
提示:若配置boot目录下的bcd文件(如用Winvista所在硬盘的bcd覆盖之),将启动bcd配置中指定硬盘中的winvista系统。
8、调用光盘easyboot启动菜单
LABEL ezboot
        MENU LABEL loader easybooot cdrom menu
        kernel (cd)/EZBOOT/LOADER.BIN
  (注:LOADER.BIN为easybooot自带的执行文件)
9、在光盘中调用或返回syslinux
在光盘中用isolinux调用ntldr或grldr后,ntldr(通过boot.ini中的\syslinux.bin="boot syslinux"的此句)、grldr(chainloader /boot/syslinux/syslinux.bin)调用或返回到isolinux中。而通过USB、硬盘调用syslinux后,不能通过此法调用或返回到syslinux中。
五、用xorldr软件启动系统
可用之启动安装在主分区或逻辑分区的WINXP/win2003/winvista/win7/win2008/win2008r2系统,和win98/pwin3.2/msdos(含ucdos)系统,及grub4dos、syslinux、plop boot manager等启动管理器的启动,且可实现多系统分区相互隐藏(EISA配置的隐藏分区),推荐使用。此处不作介绍。
六、用mbldr、lvyanan 1jf9k或plop boot manager引导器启动系统
对mbldr、lvyanan 1jf9k,可推荐使用。对plop boot manager引导器,因要其本身启动后,才使用正常,但若其崩溃或直接以winpe、winxp、winvista等系统启动,不识别其分区信息,可能导致硬盘数据丢失。此处均不作介绍。


[ 本帖最后由 qj_tzy 于 2010-8-24 12:00 编辑 ]
2#
发表于 2010-7-15 13:49:03 | 只看该作者
抢个沙发坐。

谢谢你发的帖子。

本人如看天书。慢慢来,边学边做。
书看千遍,其义自见!

[ 本帖最后由 mmkkqq_123 于 2010-7-15 13:56 编辑 ]
回复

使用道具 举报

3#
发表于 2010-7-15 13:58:21 | 只看该作者
1.这么多?
2.妈呀太乱了...有点晕
3.看的差不多了.计划转走.

4.LZ的做法简直是把每个系统都隔离开了,连引导都是各管各的...我觉得完全可以共用一部分引导文件.还有就是不一定非得把各个系统的引导扇区都弄下来,完全可以用GRUB挨个CHAINLOADER

*** 我主要用GRUB所以我只对用GRUB启动的部分发表评论,XORLDR还有SYSLINUX啥的我都不大熟悉
回复

使用道具 举报

4#
 楼主| 发表于 2010-7-15 14:29:05 | 只看该作者

回复 #3 yichya 的帖子

各系统分区引导文件隔离开,主要是为了各系统能达到相互独立的目的(某系统坏后不影响其他系统的使用)。

若使用grub4dos、或syslinux、或bootmgr、或xorldr作为引导器,部分引导文件完全是可以共用的。
回复

使用道具 举报

5#
发表于 2010-7-15 21:38:59 | 只看该作者
这么复杂?不易普及。
回复

使用道具 举报

6#
发表于 2010-7-18 22:24:42 | 只看该作者
学习,为了分区的问题这几天一直在学习,新机器成了摆设很久了,还是分不好区,不知道系统怎么装。:)
回复

使用道具 举报

7#
发表于 2010-7-19 10:49:35 | 只看该作者
内容很丰富,lz花了不少心血,非常感谢分享
回复

使用道具 举报

8#
发表于 2010-7-21 16:07:26 | 只看该作者
你的贴子我看了,并下载下来研究了一下。
好像是,你所使用的GHOXP镜像都是经过安装在C盘后(即经过克隆恢复安装后)又备份的C盘镜像(不是经过封装的)吧?如果是经过封装、并将应用软件安装到其他盘(如D盘)或将我的文档等安装在其他盘,这样的封装镜像能否直接恢复到其他分区呢?(有能这样安装的镜像吗?)
回复

使用道具 举报

9#
 楼主| 发表于 2010-7-22 10:24:22 | 只看该作者

回复 #8 lvzhhai 的帖子

我的winxp、win7系统,就是在网上下载的gho,直接gho到逻辑分区,只不过要多次用bootice修改mbr、PBR的内容,且安装好启动菜单(grub4dos、syslinux、bootmgr之一均可)启动,我在该贴中已谈到这一问题,可能是您没有细看该贴子。

将应用软件安装到其他盘(如D盘)或将我的文档等安装在其他盘,这样的封装镜像,也能直接恢复到其他分区。
回复

使用道具 举报

10#
发表于 2010-7-22 11:52:41 | 只看该作者
这两天成功全新安装了XP/W7,接下来再要安装一个W7 64位,其它系统比较少用就虚拟机处理了,主系统准备用RAMOS。

逻辑盘上的W7仍是激活的,PBR在GHOST后也不需要特别修改。倒是GRUB4DOS在W7中,要重新MBR。后来发现用BOOTMGR来启动GRUB其实也挺好的。

关于磁盘的顺序,这个倒是每个系统都要去慢慢调,比较烦。特别是准备集中使用的D盘。

都安装好之后,hd0,0不知该怎么处理,多可爱的主分区啊。
回复

使用道具 举报

11#
 楼主| 发表于 2010-7-22 13:47:34 | 只看该作者

回复 #10 念青 的帖子

主分区(hd0,0)也可安装一个操作系统,以其他主分区(可以不激活)或任一逻辑分区作启动分区,并在该分区安装grub4dos、syslinux、bootmgr、ntldr、xorldr等启动管理器之一,启动主分区(hd0,0)的操作系统即可。

[ 本帖最后由 qj_tzy 于 2010-7-22 13:49 编辑 ]
回复

使用道具 举报

12#
发表于 2010-7-22 14:45:48 | 只看该作者
真详细,我都看不下来不知道楼主是怎么写的
回复

使用道具 举报

13#
发表于 2010-7-22 16:51:15 | 只看该作者
楼主是爱折腾系统的人,一般人做不来。
回复

使用道具 举报

14#
发表于 2010-8-21 15:52:02 | 只看该作者
楼主,看了你的大作后对以下文字理解不够
“将克隆版直接克隆至逻辑分区。克隆完后,不立即启动,先用bootice软件更改硬盘主引导记录,再改克隆到的逻辑分区的启动记录;再编辑grub4dos启动菜单,不直接启动系统,而用grub4dos启动菜单启动该系统。改好后再启动系统,继续进行该克隆版系统的恢复工作,待系统第一次重启时,不要立即进入该系统,而是进入winpe或另一系统,将该克隆版系统在激活主分区生成的启动器文件(有多个)全部删除,再用bootice软件更改该系统的逻辑分区的启动记录”
现问几个问题
1 克隆完成后,用BOOTICE改硬盘的主引导记录为什么类型的MBR?
2 主引导记录改好后,改逻辑分区的启动记录,又为什么类型的PBR?
3 最后还要用BOOTICE改逻辑分区的启动记录,再改什么类型的PBR?
请楼主指教,谢谢
回复

使用道具 举报

15#
发表于 2010-8-21 16:27:55 | 只看该作者
实在太乱了。没兴趣看了。楼主起码把字体调大呀。这样的排版简直伤眼睛。
回复

使用道具 举报

16#
 楼主| 发表于 2010-8-23 13:53:14 | 只看该作者

回复 #14 intellect 的帖子

1、更改MBR:
若你的启动菜单文件系统放在激活主分区,MBR为windows nt5.x默认引导程序;
若你的启动菜单文件系统放在非激活主分区或逻辑分区,MBR为xorldr。

2、更改系统所在分区的PBR:
若系统为win2000/xp/2003,更改分区PBR为NTLDR;
若系统为winvista/win7/win2008/win2008r2,且若用OEM方式激活,则更改分区PBR为bootmgr;若用grldr类激活(系统分区根目录下有不改名或改名的grldr),更改分区PBR为NTLDR,但需将PBR中的ntldr名称更名为不改名或改名的grldr(即与不改名或改名的grldr同名)。
回复

使用道具 举报

17#
发表于 2010-8-23 16:33:46 | 只看该作者
谢谢楼主,在你的指导下,在单硬盘成功安装2000,XP,2003
WIN7 装好了也可以启动。就是win7的激活问题没解决,可以再指教一下?
我就装了4个系统,太多了就搞不定了,呵呵
回复

使用道具 举报

18#
 楼主| 发表于 2010-8-23 18:10:58 | 只看该作者

回复 #17 intellect 的帖子

下载一个WIN7的激活软件,激活即可。采用文中介绍的两种激活方式之一均可。
回复

使用道具 举报

19#
发表于 2010-8-25 11:42:11 | 只看该作者
文章太长,水平有限,还是拿具体实例来请教LZ:

笔记本分三个区,最前面主分区30G,WIN7;第二个主分区20G,WINXP;第三个主分区是扩展分区,只有一个逻辑盘。

操作问题:
1. 已经在第一个主分区用安装版安装好WIN7并ghost备份到逻辑盘。——这里要用bootice吗?另外由于第二个主分区还没系统,我也没hide它,有问题吗?
2. 准备进PE将第一个主分区隐藏了(保持active),激活第二个主分区——是不是就变成hd(0,0)了?,用GHOST的XP恢复到这个主分区,恢复完是不是用bootice改成NT5.X的MBR,然后等ghost系统启动自行恢复后再重启进PE备份?
3. 两个系统做完后,如何添加grub4dos引导?

试验问题:
A.进PE将安装好的WIN7分区隐藏,但没设第二个主分区active,重启后WIN7启动停止在四色界面
B.再次进入PE,激活第二个主分区,重启后显示NTLDR is missing——这里按说应该是提示没有操作系统啊,是不是跟我在1里没用bootice有关?
C.在分区软件和ghost32里显示的WIN7分区是FAT16 LBA,在WIN7下看是NTFS,这个FAT16代表什么啊
D.我安完win7,启动时直接是windows的启动管理器,两个菜单项,一个是win7,一个是win7 setup 启动[EMS],这个菜单以前好像没出来,是不是跟硬盘安装有关?我进入win7后,在启动和故障恢复中将显示操作系统列表的时间勾选去掉了,可是开机时还是有这个菜单一闪而过,为什么呢?

[ 本帖最后由 mrfox 于 2010-8-25 12:34 编辑 ]
回复

使用道具 举报

20#
 楼主| 发表于 2010-8-25 15:04:45 | 只看该作者

回复 #19 mrfox 的帖子

建议如下:

1、将逻辑盘一分为二,第三个分区(NTFS)为数据盘,装我的文档、下载软件、图片、视频等数据;第四个分区(NTFS或FAT32),作为存放启动菜单和装双系统的克隆备份的分区,如将全部启动菜单文件放在grub目录(隐藏+系统属性)下,双系统克隆备份放存ghost目录(隐藏+系统属性)下,再用bootice将该分区改为EISA隐藏分区,MBR改为xorldr。如此,该分区根目录下无文件,仅有两个目录(即grub、ghost)。且可用该分区启动,启动双系统之一后,该分区均不可见。当然,也可用第三个分区作为启动盘。

2、将MBR置为NT5.X,激活第二主分区(不论第一分区是否隐藏,在grub4dos中设备号均为hd(0,1)),安装好winxp。

3、再用U盘启动进入winpe,将MBR改为xorldr,并编辑启动菜单,则可从硬盘启动选择双系统了。
回复

使用道具 举报

21#
发表于 2010-8-26 12:12:01 | 只看该作者

回复 #20 qj_tzy 的帖子

正在按LZ的建议试验,还没进行到后面,想先把grub试成了再说,分了第四个分区,然后用bootice将硬盘MBR安装上GRUB,在第四个分区建立了grub目录并放入grldr和menu.lst[这两个文件是直接从下载的grub包中解压出来的],启动时提示找不到grldr,只好将grldr拿出来放到根目录下才能启动grub菜单,不过这里的启动提示正好能看出来分区的名称

奇怪的是,我进PE用WINPM看分区情况依次是: 主分区(win7,活动,显现),主分区(winxp,活动,隐藏),扩展分区里面分两个盘符,这样按说一共是五个分区(扩展也算一个);而在Grub的显示里,一共是六个分区
Try (hd0,0): NTFS5: No grldr
Try (hd0,1): Extended:
Try (hd0,2): NTFS5: No grldr
Try (hd0,3): invalid or null
Try (hd0,4): NTFS5: No grldr
Try (hd0,5): Extended:
Try (hd0,5): NTFS5: No grldr
(hd0,0)应该是win7,(hd0,2)应该是winxp,(hd0,4)和5应该是扩展分区的两个逻辑盘。我不明白的是扩展分区为什么是(hd0,1)【不是跟隐藏与否无关吗?】,同时这个(hd0,3)又是什么?
回复

使用道具 举报

22#
发表于 2010-8-26 12:20:52 | 只看该作者
还有个问题,我在本坛下了个深度GRUB4DOS菜单编辑器,用它来改menu.lst,把前面两段改成了这样
title find and load NTLDR of Windows NT/2K/XP
fallback 1
hide(hd0,0)
unhide(hd0,2)
makeactive
find --set-root --ignore-floppies /ntldr
chainloader /ntldr
savedefault --wait=2

title find and load BOOTMGR of Windows VISTA
fallback 2
hide(hd0,2)
unhide(hd0,0)
makeactive
find --set-root --ignore-floppies /bootmgr
chainloader /bootmgr
savedefault --wait=2

但是电脑启动grub的时候,按e看代码时,偏偏hide和unhide两行在这两段里都不显示,这个为什么存不上呢?【这样启动的时候它就直接停在grub>了,而实际上如果手工打这些命令的话就能进系统】

[ 本帖最后由 mrfox 于 2010-8-26 12:26 编辑 ]
回复

使用道具 举报

23#
 楼主| 发表于 2010-8-26 14:09:29 | 只看该作者

回复 #22 mrfox 的帖子

1、grub4dos对硬盘的编号为:
主分区:(hd0,0)、(hd0,1)、(hd0,2)、(hd0,3):
逻辑分区:(hd0,4)、(hd0,5)。。。。。
估计,你曾将(hd0,1)合并入(hd0,0)上,所以你的硬盘在grub4dos的编号变为(hd0,0)-win7、(hd0,2)_winxp、(hd0,4)_data、(hd0,5)_grub。

2、MBR不要采用grub4dos方式,建议用xorldr直接调用(hd0,5)盘\grub\目录下的grldr方式。

3、菜单中makeactive命令无意义,建议取消,因无论winxp或win7的主分区启动时,均不需要激活。且makeactive执行时,应先指明激活哪一分区。
如:
root (hd0,0)
makeactive
还有命令与(hd0,x)间应留空格。

4、启动win7用chainloader /bootmgr命令可能无法激活,应用:chainloader +1命令。
回复

使用道具 举报

24#
发表于 2010-8-30 23:14:25 | 只看该作者
楼主的帖子值得研究,先mark
回复

使用道具 举报

25#
发表于 2010-9-30 16:01:35 | 只看该作者
回贴顶一下,学习下楼主的超人技巧,多谢了。
回复

使用道具 举报

26#
发表于 2011-1-4 13:04:41 | 只看该作者
学习学习,收藏!
回复

使用道具 举报

27#
发表于 2011-7-18 16:53:30 | 只看该作者
汗,看的偶头都晕晕的。
回复

使用道具 举报

28#
发表于 2011-8-9 11:24:35 | 只看该作者
嗯,好呀,就是看不懂,留痕,等懂了再来。
回复

使用道具 举报

29#
发表于 2013-9-5 00:02:24 | 只看该作者
请问Linux的安装、启动需要怎么处理?Linux涉及到删除现有逻辑分区以备安装空间和存在SWAP分区的情况。此时是删除主分区安装?然后找个地方存放SWAP区,并保持之?那LINUX的重生之后,有没有盘符的问题?能否修正?

另外,如果hd1新增一块SSD硬盘,此时需要先屏蔽hd0,全新安装并相应迁移相应系统后,再恢复hd0么?

再有,见你现在都在用VHD了,SSD用源生安装还是VHD启动比较好?

我是比较想在SSD中分别安装W7和Linux。同时继续用hd0的GRUB来启动之。谢谢。
回复

使用道具 举报

30#
发表于 2015-3-17 01:55:30 | 只看该作者
作个记号,以后再慢慢理解
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-12-23 20:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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