无忧启动论坛

标题: 已经不需要写保留扇区了,可以利用WINNT.SIF写一个临时变量。 [打印本页]

作者: hotdll    时间: 2011-11-23 11:29
标题: 已经不需要写保留扇区了,可以利用WINNT.SIF写一个临时变量。
已经不需要写保留扇区了,可以利用WINNT.SIF写一个临时变量。
----------------------------------------------
ISO安装系统的时候,用户会输入ISO的路径。


我想把用户输入的正确的ISO路径保存下来。

请问:
1、GRUB4DOS有没有重启后不会被系统初始化重置的变量?

2、如果在硬盘上保存该变量,写入到那个扇区比较安全?我觉得硬盘应该有保留的扇区是不被正常用到的。并且该位置不会被分区操作,格式化操作所删除。

百度了下
找到这个信息:
隐藏扇区,就是硬盘前63个扇区,主引导扇区就是硬盘第一个扇区,保留扇区就是DBR后的62个扇区,第一个保留扇区就是硬盘的第64扇区开始往后到125扇区都是保留扇区


写到这里安全不?

[ 本帖最后由 hotdll 于 2011-12-8 13:22 编辑 ]
作者: dragonflylee    时间: 2011-11-23 11:43
如果你把grub安装到mbr时不保留原来的mbr,那么第二扇区就很安全
另外如果记得没错的话grub的第5扇区貌似是引导ext分区用的,不知道能不能利用
一般第一分区的起始扇区就是63号扇区,从这开始就是分区引导记录了吧,你说的保利扇区应该在分区引导记录之后,至于格式化后有没有消失貌似不一定,至少用fbinst raw格式化后都清零了

[ 本帖最后由 dragonflylee 于 2011-11-23 11:50 编辑 ]
作者: hotdll    时间: 2011-11-23 11:47
我尝试写入到第100扇区,好像比较安全?
作者: dragonflylee    时间: 2011-11-23 11:56
保留扇区貌似不同的文件系统不一样,他是属于分区的?虽然我更偏向于利用前63扇区的空间

比如就算是grub保留了原来的mbr,第二扇区的分区表部分应该和第一扇区是一样的(偏移量没记错的话是0x1b8到0x1ff),算不算冗余数据,设想一下可以暂时先覆盖,下次再从第一扇区恢复?

[ 本帖最后由 dragonflylee 于 2011-11-23 11:57 编辑 ]
作者: hotdll    时间: 2011-11-23 12:20
标题: 回复 #4 dragonflylee 的帖子
保留扇区不属于分区的。属于磁盘。
echo %iso% > (hd0)100+1

cat (hd0)100+1

对硬盘执行重新分区操作

cat (hd0)100+1
还存在。

-------------------------------------------------
有个疑问,如何恢复到初始状态?
作者: gtzhj    时间: 2011-11-23 13:18
NTFS就没有保留扇区,含dbr的前16扇区(0~15),就是$boot文件。
作者: hotdll    时间: 2011-11-23 13:31
标题: 回复 #6 gtzhj 的帖子
我测试的结果是保留扇区与分区无关,与NTFS格式更是无关。
作者: Plantsoot    时间: 2011-11-23 14:43
原帖由 hotdll 于 2011-11-23 11:47 发表
我尝试写入到第100扇区,好像比较安全?


别的不熟悉,如果是fbinst盘的话,你写数据到第100扇区,可能破坏的是fb的文件列表,当然,如果刚好文件列表没这么大的话,可能问题也不大。
还有一个问题,如果是写保护的U盘,你写数据到扇区是写不进去的。

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=172572

[ 本帖最后由 Plantsoot 于 2011-11-23 14:44 编辑 ]
作者: cchessbd    时间: 2011-11-23 14:48
这个不安全,有的mbr占用了63个扇区。
还是用文件方式的好。比方说你可以增加一个配置文件,用于保存你修改的数据。

就像我现在mbr安装了grub4dos,要保存默认启动的菜单,就增加了一个default文件。
而不用修改mbr(能延长硬盘使用寿命),又能达到xorldr启动时保存上一次的选择的效果。
作者: Plantsoot    时间: 2011-11-23 14:56
一般情况:
fbinst的扇区使用是这样的:

1 -   63:MBR (2 -63备份?)
64 - 67:boot_code
68 - 964:文件列表
965 - 16128:主数据区
16129 - ***:扩展数据区

这是一般情况(文件列表、主数据区、扩展数据区的大小是可以自定义的)。

[ 本帖最后由 Plantsoot 于 2011-11-23 15:46 编辑 ]
作者: hotdll    时间: 2011-11-23 16:02
标题: 回复 #10 Plantsoot 的帖子
OK,经过大家的一致讨论,暂时使用62扇区。
作者: chenall    时间: 2011-11-23 16:35
有这个必要吗?我觉得还是尽量不要修改的好.

因为硬盘分区各式式样,并且不能保证所有的硬盘的一个磁道都是63扇区的,有可能是其它的,这时随意写入数据等于破坏数据.
作者: hotdll    时间: 2011-11-25 10:22
标题: 回复 #12 chenall 的帖子
慎重考虑之后,决定写menu.lst
作者: zzzzzz    时间: 2011-12-1 17:01
原则上前面63个扇区除了第一个扇区都可以写,不过有些软件会备份MBR到其中某个扇区,有些启动工具的启动代码不止一扇,会连续十几个扇区,有些软件的注册信息也会往这些扇区里面写,基本上谁都可以抢着往里面写,后写的破坏前写的。

反而微软自己从来fdisk、win安装盘初始化只会标准地只占第一扇区。非要写这些地方的话可以判断下,连续的0的地方没问题,除非别人再覆盖你。
作者: shan    时间: 2011-12-8 12:45
看到了一堆高手的回帖!饭大的思路真是丰富啊




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3