无忧启动论坛
标题:
请教C大,关于硬盘分区定位的问题
[打印本页]
作者:
mygamexxx
时间:
2011-8-29 08:33
标题:
请教C大,关于硬盘分区定位的问题
我在学习C大的QGHO制作了一个一键恢复系统,8月28日最后更新
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=194499&extra=page%3D1
,遇到一个问题。
我的想法是:
如果备份恢复程序与要备份恢复的分区不在同一分区,备份文件放置在程序所在分区,这个没有问题;
如果备份恢复程序与要备份恢复的分区在同一分区,并且不是硬盘最后分区,备份文件放置在硬盘最后分区,目前用 root endpart 定位最后分区,不知如果有多个硬盘, root endpart 定位的是哪一个硬盘的最后分区?
如果备份恢复程序与要备份恢复的分区在同一分区,并且是硬盘最后分区,目前想不到好的方案,就退出到G4D,如果想要定位到硬盘最后分区前一分区,如何操作?
如果硬盘只有一个分区,那是没有办法了,太变态。呵呵!!!请C大指教。
[
本帖最后由 mygamexxx 于 2011-8-29 17:09 编辑
]
作者:
chenall
时间:
2011-8-29 10:28
标题:
回复 #1 mygamexxx 的帖子
endpart定位的是当前硬盘的最后分区.
定位到硬盘最后分区前一分区,先用diskid获取最后一个硬盘的ID.
然后把ID减1就行了.
作者:
mygamexxx
时间:
2011-8-29 13:17
就是这个ID减1如何表达或计算不知道啊
作者:
chenall
时间:
2011-8-29 13:28
标题:
回复 #3 mygamexxx 的帖子
这个方法有很多啊.比如直接使用批处理.
首先把ID X:Y中间的":"替换成空格,可以使用WENV或CAT命令
再把新的"X Y"作为参数传给批处理,
只要把%2-1
set /a y=%2-1
set id=%1:%y%
作者:
mygamexxx
时间:
2011-8-29 13:38
已经用root endpart使当前根分区为当前硬盘最后分区。<br />读取0x829c位置的当前根分区号,如何用write在0x829c写入前一分区的分区号,使当前根分区变为前一分区的分区号?
与C大的
http://chenall.net/post/grub4dos_tftp/
相似。
calc *0x829c=*0x829c-65536 不知是否正确。
还是有问题,有主分区,逻辑分区的不同,真头疼。
[
本帖最后由 mygamexxx 于 2011-8-29 15:07 编辑
]
作者:
dihuo0
时间:
2011-8-29 14:57
endpart确切的说,应该是分区号最大的分区,不一定是最后一个分区。
例如,如果一台电脑是这样分区的:C盘(hd0,0),D盘(hd0,4),E盘(hd0,5),F盘(hd0,2),那么endpart将是E盘(hd0,5),而不是F盘(hd0,2)。我曾经遇到过这样的问题。
[
本帖最后由 2011_dihuo0 于 2011-8-29 18:25 编辑
]
作者:
mygamexxx
时间:
2011-8-29 15:05
是啊,这倒是一个头疼问题。
作者:
chenall
时间:
2011-8-29 16:07
标题:
回复 #5 mygamexxx 的帖子
建议还是使用diskid的方式来获取.
方法我上面有介绍了,使用批处理来实现.
diskid得到的ID数值是根据分区在硬盘上的位置排序的.
总之,分区的情况有很多,要自己使用时去判断.
作者:
mygamexxx
时间:
2011-8-29 16:48
算了,不搞了,批处理选择分区太麻烦,还有分区文件系统的问题,还是固定分区比较好,不容易出问题。
自己把自已都搞晕了。还是化繁为简吧!!!
[
本帖最后由 mygamexxx 于 2011-8-29 16:51 编辑
]
作者:
mygamexxx
时间:
2011-8-30 20:33
果然如些,我用移动硬盘测试了一下,我的移动硬盘最后分区是linux的分区,使用root endpart定位到了此分区。
所以C大说的对,分区情况复杂,光使用硬盘号,不判断文件系统类型和空闲空间大小,做一键恢复可能有未知的风险。
作者:
jh1688
时间:
2011-9-8 10:40
一般的客户会把分区弄得如此复杂吗??
要么全F格式,要么全N格式,一键GHOST对他们来说,是不需要如此复杂的……
按分区号排列,定位到最大分区号分区应该不会有什么问题……
欢迎光临 无忧启动论坛 (http://wuyou.net./)
Powered by Discuz! X3.3