中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 给XP搬家的试验 上一主题 | 下一主题
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『楼 主』:  给XP搬家的试验

前两天看到网友说,想给XP搬家(从一个盘搬到另一盘),但不知怎么弄,我化了两三天专门为解决它试了试。
经过是这样的: 供大家参考借鉴。
(相关盘都是FAT32 或FAT16)
                         一
在DOS下备份原系统注册表(\windows\system32\config)
                        
                         二
回到WINDOWS, 修改注册表的环境变量(系统变量和用户变量[%homedrive%,%homepath%,g:\documents and settings 的g:改为 c: ,g:\program files的 g:改为 c:等等],在HKEY,LOCAL MACHINE 和CURRENT USER),把原系统盘符(g改成你要的(c
                         三
DOS下,用98启动盘的XCOPY (同目录中要有XCOPY32.MOD)从g:拷贝整个系统(windows\ documents and settings\ program files\)到c:,后来发现,有很多隐藏的没拷上,失败,接着换用xxcopy.exe, 标明能拷隐藏文件,但还是有一些没拷上,真是不解!
(用DOS下的这两个程序复制的长文件或文件夹名有很多只复制成带“~1”的短文件名,这可能是后来系统能进WINDOWS但在应该显示登陆用户名时死机的原因,因为系统在登陆时要用到用户信息,也就是长文件名documents and settings中等等的信息),[所以,在此提醒一下,如果在DOS下复制长文件名文件或文件夹,要保持原来的长文件名的话,要运行支持长文件名的程序,好象叫什么lfn(Long File Name)等。。。]
再用GHOST 2002,但说还原时要注册号,再改用GHOST 7.5,这回能拷上了,整盘全一样(要注意:要先克隆到另外一个备用盘(比如,D:)才行,然后再从这个备用盘还原到C:。但还原时要注意:先把原先C盘上的全部引导文件(包括隐藏的)拷到别盘,然后再从D:还原释放到C:,最后再弄回原先C盘上的引导文件)
                         四
修改C盘的BOOT.INI:
把 default= 改成 multi(0)disk(0)rdisk(0)partition(1)\windows
[operating systems]下加上:
multi(0)disk(0)rdisk(0)partition(1)\windows="你要的字" /nodetect
                        五
重启。。。。啊?
屏幕显示:
invalid system disk replace the disk and press any key ...
(我估计,是GHOST 还原重启后,把GHOST 或98的引导信息写到XP引导扇区上了!后想了个从软盘启动的办法才行。。。。
                        六

重启。。。。哈哈! 这回果真从C盘启动,成功显示出了登陆用户名了!
太激动了!。。。。。
但进入系统后,当我要格式化g盘时,系统提示说,有程序正在使用g:,这时才想起,可能在注册表中很多地方程序的路径仍然是 原系统路径g:! 也就是说仅仅改一下系统和用户环境变量是不够的!
                        七
但奇怪的是:当我抱着耍一耍的念头试着再从原来系统g:启动后,奇迹般的别来无恙的
正常进入了他原来的系统!! 百思不得其解(要知道,我是改了他的环境变量的呀!)
                        
                        八
这样也好! 我就顺势删掉了被复制到C盘的不伦不类的系统,改回boot.ini,放弃给XP搬家的念头了!
经验总结:
在注册表中,不是所有标注的程序或文件的路径都依据环境变量而定的!有很多程序(包括WINDOWS自身的)直接写出了具体路径(也就是没有用环境变量!)

2004-8-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 2 楼』:  

我已经有几次为xp搬家的经验了,每次搬家的原因都是因为换硬盘(而且保留原硬盘),但从未因此而重装系统。可以说,要给xp搬家不要尝试在注册表里面改什么安装路径、环境变量等,这是行不通的,而是要设法更改分区的盘符。也就是把移动的目标分区的盘符改为原系统盘的盘符(在你的例子中,本来c:盘是partition(1),假设系统盘g:是partition(5),那么要移动xp,你要把partition(1)改为g:,partition(5)改为c:)然后再用ghost复制。其中难点在于,xp的磁盘管理器不能更改系统盘的盘符,可以用pqmagic更改。

2004-8-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 3 楼』:  

你在用PQMAGIC更改G盘为C盘后,原G盘XP的注册表路径还是G的盘符啊,用PQMAGIC更改G盘为C盘后,注册表里的很多路径,也相应的由G改成了C了吗?否则,在运行程序时,会提示找不到文件的。

2004-8-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 4 楼』:  

我是说,把你原来的g改成c,c改成g,然后把系统文件全部从原来的g分区复制到原来的c分区中,这样之后,注册表没有任何变化,访问的依旧g盘(也就是原来的c分区)。

[此贴子已经被作者于2004-8-22 16:34:12编辑过]




2004-8-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 5 楼』:  

这样更改之后,系统盘盘符还是g,但是g盘从partition(5)移到了partition(1)。

[此贴子已经被作者于2004-8-22 16:32:35编辑过]




2004-8-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 6 楼』:  

啊??你的NTLDR在哪个盘?

2004-8-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 7 楼』:  

ntldr随便在那个分区都行,只要他是主分区就行,记得激活此分区,并对boot.ini进行更改。

2004-8-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 8 楼』:  

既然这样(可用PQMAGIC把G也设为主分区),那还有什么必要把原来的G复制到原来的C?我给XP搬家是一定要把他搬到C,使它的盘符就是C: ,你的做法达不到我的意图呀..

2004-8-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 9 楼』:  

你一定要变盘符那只有重装了。

2004-8-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 10 楼』:  

其实我几乎成功了,就差注册表内容里的G:改成C:,这个可用某个注册表编辑工具或十六进制编辑工具实现的,但可能也有个问题:有的地方可能是单个的G,没有":",这就难办了.不知道有没有专门的工具?

2004-8-23 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
有田五亩
初级用户




积分 113
发帖 6
注册 2004-8-24
状态 离线
『第 11 楼』:  

我是直接把C盘的所有复制到另一个盘(我的是D盘),再用注册表编辑器修改D盘下的\WINDOWS\system32\config中的SYSTEM文件!把盘符换了!这样的话你用D盘的系统开机后 D就成了C了!到现在还没发生什么问题!

2004-8-24 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 12 楼』:  

分区盘符可在注册表中更改,HKLM\system\MountedDevices

2004-8-24 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 13 楼』:  你怎么改盘符的的?



  Quote:
以下是引用有田五亩在2004-8-24 5:28:42的发言:
用注册表编辑器修改D盘下的\WINDOWS\system32\config中的SYSTEM文件!把盘符换了!

1 注册表编辑器能单独打开SYSTEM吗? 要不就是HKEY_LOCAL_MACHINE?
2 怎样换盘符? (要把全部的C:换成D:,还有,有的地方只是单独的C,后面没有":"分号哦! 在改时,会不会把不是盘符的C字符也该掉了?),
3 你怎么改的?

[此贴子已经被作者于2004-8-24 15:14:22编辑过]




2004-8-24 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 14 楼』:  



  Quote:
以下是引用fujianabc在2004-8-24 10:45:24的发言:
分区盘符可在注册表中更改,HKLM\system\MountedDevices

这样改后,在注册表中的一般应用程序的路径的盘符,也能相应的改过来吗?


2004-8-24 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 15 楼』:  

这和pqmagic效果相同,但可以免去一次重启。

2004-8-24 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: