无忧启动论坛

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

[已解决] 请教C大,关于硬盘分区定位的问题

[复制链接]
跳转到指定楼层
1#
发表于 2011-8-29 08:33:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我在学习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 编辑 ]
11#
发表于 2011-9-8 10:40:16 | 只看该作者
一般的客户会把分区弄得如此复杂吗??
要么全F格式,要么全N格式,一键GHOST对他们来说,是不需要如此复杂的……
按分区号排列,定位到最大分区号分区应该不会有什么问题……
回复

使用道具 举报

10#
 楼主| 发表于 2011-8-30 20:33:35 | 只看该作者
果然如些,我用移动硬盘测试了一下,我的移动硬盘最后分区是linux的分区,使用root endpart定位到了此分区。

所以C大说的对,分区情况复杂,光使用硬盘号,不判断文件系统类型和空闲空间大小,做一键恢复可能有未知的风险。
回复

使用道具 举报

9#
 楼主| 发表于 2011-8-29 16:48:51 | 只看该作者
算了,不搞了,批处理选择分区太麻烦,还有分区文件系统的问题,还是固定分区比较好,不容易出问题。

自己把自已都搞晕了。还是化繁为简吧!!!

[ 本帖最后由 mygamexxx 于 2011-8-29 16:51 编辑 ]
回复

使用道具 举报

8#
发表于 2011-8-29 16:07:31 | 只看该作者

回复 #5 mygamexxx 的帖子

建议还是使用diskid的方式来获取.
方法我上面有介绍了,使用批处理来实现.

diskid得到的ID数值是根据分区在硬盘上的位置排序的.

总之,分区的情况有很多,要自己使用时去判断.
回复

使用道具 举报

7#
 楼主| 发表于 2011-8-29 15:05:28 | 只看该作者
是啊,这倒是一个头疼问题。
回复

使用道具 举报

6#
发表于 2011-8-29 14:57:53 | 只看该作者
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 编辑 ]
回复

使用道具 举报

5#
 楼主| 发表于 2011-8-29 13:38:06 | 只看该作者
已经用root endpart使当前根分区为当前硬盘最后分区。<br />读取0x829c位置的当前根分区号,如何用write在0x829c写入前一分区的分区号,使当前根分区变为前一分区的分区号?
与C大的http://chenall.net/post/grub4dos_tftp/相似。

calc *0x829c=*0x829c-65536 不知是否正确。
还是有问题,有主分区,逻辑分区的不同,真头疼。

[ 本帖最后由 mygamexxx 于 2011-8-29 15:07 编辑 ]
回复

使用道具 举报

4#
发表于 2011-8-29 13:28:34 | 只看该作者

回复 #3 mygamexxx 的帖子

这个方法有很多啊.比如直接使用批处理.

首先把ID X:Y中间的":"替换成空格,可以使用WENV或CAT命令

再把新的"X Y"作为参数传给批处理,

只要把%2-1
set /a y=%2-1
set id=%1:%y%
回复

使用道具 举报

3#
 楼主| 发表于 2011-8-29 13:17:53 | 只看该作者
就是这个ID减1如何表达或计算不知道啊
回复

使用道具 举报

2#
发表于 2011-8-29 10:28:20 | 只看该作者

回复 #1 mygamexxx 的帖子

endpart定位的是当前硬盘的最后分区.

定位到硬盘最后分区前一分区,先用diskid获取最后一个硬盘的ID.

然后把ID减1就行了.
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-28 22:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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