无忧启动论坛

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

发一段健壮的MBR记录(与fdisk的MBR功能相同,但更健壮!)

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-16 22:21:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
33C08ED0BC007CFB5007501FFC50BE007CBF0006B90002F3A4BF1E0657CB33DB33D2BEBE07B104F6048074038BD64383C610E2F383FB017409BEC400B91700EB719052B441B280BBAA55CD135A81FB55AA7533F6C101742EB80042BEAD07B110C6040046E2FABEAD078BFAC60410C6440201C74404007C8B5D08895C088B5D0A895C0AEB0F90B80102BB007C8BF28B4C028A7401B280CD13BEFE7D813C55AA7409BEDB00B91800EB099033C050B8007C50CB81C60006ACBB0700B40ECD10E2F6B10FE2FC496E76616C696420706172746974696F6E207461626C654D697373696E67206F7065726174696E672073797374656D00000000000000000000000000



注意从000处开始写入0FF处结尾
该段长度比MBR的446字节长度要小,只有256字节,后面的留空或者不做改动即可(注意如果想看着干净,用0填充时,注意不要碰到1BD及以后的数据,那是分区表和分区有效标识,所以建议新手不要动即可)
该MBR在U盘,硬盘上工作良好
其功能是从活动分区的分区引导记录上启动

本人的U盘量产成本地盘
用HP的工具格式化后,用SYSLINUX.exe写入分区引导记录
结果无法引导,说明是MBR的问题
后来用WINHEX将HP写入的MBR删除
用此段MBR替换后,正常了!

而我比较过了,这与FDISK的MBR代码不同,与windows XP安装程序创建的代码也不同
是不小心从网上看到的一个重建MBR的批处理里面的代码
发上来
有需要的自己用winhex写入一下


目前用这种方式貌似还没有遇到启不动的电脑

量产成本地盘,用HP工具格式化,用UE或者DSPTW或者winhex改写MBR 用本文中的替换,用SYSLINUX.EXE写入分区引导记录。。。。。。。
2#
 楼主| 发表于 2008-8-16 22:25:35 | 只看该作者
这里HP的工具,选择创建一个MSDOS启动盘
其实HP的工具只起到一个以HD形式的格式化过程,因为量产成本地磁盘后,如果用flashboot格式化成ZIP格式,问题多多...而格式化成HDD形式,兼容性好~堪与移动硬盘媲美


HP格式化工具,创建了MBR,创建了DOS的分区引导记录
但是我们都不需要,MBR被我提供的覆盖
DOS的分区引导记录被syslinux.exe的一条命令给覆盖了
所以HP的工具只起到一个格成HDD格式的功能了
回复

使用道具 举报

3#
发表于 2008-8-17 08:48:21 | 只看该作者
先收藏.真的这么强么?
回复

使用道具 举报

4#
发表于 2008-8-17 08:52:32 | 只看该作者
不知该MBR出自那个名门
回复

使用道具 举报

5#
发表于 2008-8-17 09:08:09 | 只看该作者
先谢了。待会儿我测试下。
回复

使用道具 举报

6#
发表于 2008-8-17 11:38:24 | 只看该作者
其实用 vista 的bootsect /nt60 的 mbr兼容性就很好
回复

使用道具 举报

7#
 楼主| 发表于 2008-8-17 12:21:25 | 只看该作者
回楼上
bootsect不能改写MBR
只能改写PBR (partition boot record)
和本主题无关
和MBR更是无关
PRB是和分区相关的,所以运行PBR的工具时,一般都需要指定盘符,例如C D E之类的
而运行MBR的工具时,只需要指定硬盘编号,例如grubinstall里面的0x80 0x81之类的


一般来说
系统启动是MBR,根据MBR的功能去决定来启动PBR还是其他文件
例如如果是FDISK的MBR,则其功能是从活动的主分区的PBR(BOOTSECT就是来写PBR的工具)
如果是GRUB4DOS的MBR,根据安装时的参数,可以尝试从所有分区根目录下查找GRLDR之类的来启动
这就是为什么grub4dos的mbr比较强壮
因为它不需要主分区,不需要活动分区,只需要在硬盘的某一分区,包括隐藏分区之类的根目录存放grldr就可以启动,当然也不需要pbr了
而fdisk的mbr要启动系统
需要主分区,而且该主分区需要激活,而且该主分区还具有有效的PBR,例如NT52的,启动NTLDR
nt60的PBR启动BOOTMGR,dos的PBR启动io.sys之类的........
回复

使用道具 举报

8#
发表于 2008-8-17 16:29:56 | 只看该作者
这样子打包,不好编辑吧。(我打包一下看看)

直接制作成一个BIN文件比较好,然后看看倒底强在哪

[ 本帖最后由 阿文 于 2008-8-17 16:33 编辑 ]

ddd.rar

354 Bytes, 下载次数: 348, 下载积分: 无忧币 -2

回复

使用道具 举报

9#
发表于 2008-8-17 16:46:22 | 只看该作者
原帖由 wowfans 于 2008-8-17 12:21 发表
回楼上
bootsect不能改写MBR
只能改写PBR (partition boot record)
和本主题无关
和MBR更是无关
PRB是和分区相关的,所以运行PBR的工具时,一般都需要指定盘符,例如C D E之类的
而运行MBR的工具时,只 ...

bootsect /mbr
回复

使用道具 举报

10#
 楼主| 发表于 2008-8-17 20:27:18 | 只看该作者
不知道楼上的bootsect.exe从什么地方来的
我的至少没这功能
从vista光盘里面提取的
C:\Documents and Settings\Administrator>bootsect /mbr

bootsect {/help|/nt60|/nt52} {SYS|ALL|<DriveLetter>:} [/force]

Boot sector restoration tool

Bootsect.exe updates the master boot code for hard disk partitions in order to
switch between BOOTMGR and NTLDR.  You can use this tool to restore the boot
sector on your computer.

Run "bootsect /help" for detailed usage instructions.




这是HELP

C:\Documents and Settings\Administrator>bootsect /?

bootsect {/help|/nt60|/nt52} {SYS|ALL|<DriveLetter>:} [/force]

Boot sector restoration tool

Bootsect.exe updates the master boot code for hard disk partitions in order to
switch between BOOTMGR and NTLDR.  You can use this tool to restore the boot
sector on your computer.

Run "bootsect /help" for detailed usage instructions.

C:\Documents and Settings\Administrator>bootsect /help

bootsect {/help|/nt60|/nt52} {SYS|ALL|<DriveLetter>:} [/force]

Boot sector restoration tool

Bootsect.exe updates the master boot code for hard disk partitions in order to
switch between BOOTMGR and NTLDR.  You can use this tool to restore the boot
sector on your computer.

/help   Displays these usage instructions.

/nt52   Applies the master boot code that is compatible with NTLDR to SYS,
        ALL, or <DriveLetter>.  The operating system installed on SYS, ALL, or
        <DriveLetter> must be older than Windows Vista.

/nt60   Applies the master boot code that is compatible with BOOTMGR to SYS,
        ALL, or <DriveLetter>.  The operating system installed on SYS, ALL, or
        <DriveLetter> must be Windows Vista or WindowsServer "Longhorn".

SYS     Updates the master boot code on the system partition used to boot
        Windows.

ALL     Updates the master boot code on all partitions.  ALL does not
        necessarily update the boot code for each volume.  Instead, this
        option updates the boot code on volumes that could be used as Windows
        boot volumes, which excludes any dynamic volumes that are not
        connected with an underlying disk partition.  This restriction is
        present because boot code must be located at the beginning of a disk
        partition.

<DriveLetter> Updates the master boot code on the volume associated with this
        drive letter.  Boot code will not be updated if either 1)
        <DriveLetter> is not associated with a volume or 2) <DriveLetter> is
        associated with a volume not connected to an underlying disk
        partition.

/force  Forcibly dismounts the volume(s) during the boot code update.  You
        should use this option with caution.

        If Bootsect.exe cannot gain exclusive volume access then the file
        system may overwrite the boot code before the next reboot.
        Bootsect.exe always attempts to lock and dismount the volume before
        each update.  When /force is specified, a forced dismount is attempted
        if the initial lock attempt fails.  A lock can fail, for example, if
        files on the target volume are currently opened by other programs.

        When successful, a forced dismount allows exclusive volume access and
        a reliable boot code update even though the initial lock failed.  At
        the same time, a forced dismount invalidates all open handles to files
        on the target volume.  This could result in unexpected behavior from
        the programs that opened these files.  Therefore, you should use this
        option with caution.

Example:

To apply the master boot code that is compatible with NTLDR to the volume
labeled E:, use the following command:

bootsect /nt52 E:
回复

使用道具 举报

11#
 楼主| 发表于 2008-8-17 20:31:26 | 只看该作者
C:\Documents and Settings\Administrator>bootsect /mbr
bootsect {/help|/nt60|/nt52} {SYS|ALL|<DriveLetter>:} [/force]
Boot sector restoration tool
启动扇区重置工具
Bootsect.exe updates the master boot code for hard disk partitions in order to
switch between BOOTMGR and NTLDR.  You can use this tool to restore the boot
sector on your computer.
bootsect.exe可以更新分区的启动扇区,在BOOTMGR和NTLDR之间进行切换.你可以使用此工具来恢复你的启动扇区
Run "bootsect /help" for detailed usage instructions.
注意是分区的boot code
不是mbr
而用bootsect /mbr之后用winhex查看,mbr无任何更改
命令执行后的提示也说明了使用此参数错误,用/help进行查询
回复

使用道具 举报

12#
发表于 2008-9-6 20:09:02 | 只看该作者
那MBR谁试过???
回复

使用道具 举报

13#
发表于 2008-9-6 21:45:14 | 只看该作者
LZ是从哪里看到的?
回复

使用道具 举报

14#
发表于 2008-12-13 21:19:31 | 只看该作者
DISKGENIUS.EXE

 就用这个
回复

使用道具 举报

15#
发表于 2008-12-14 15:52:25 | 只看该作者
win7带的bootsect就带/mbr参数了
回复

使用道具 举报

16#
发表于 2008-12-14 21:47:10 | 只看该作者
原帖由 haonan 于 2008-12-14 15:52 发表
win7带的bootsect就带/mbr参数了

和vista的
bootrec /fixmrb 有什么区别?
顺便问一下 32 64位弄出来的ntfs mbr和引导扇有没有区别
回复

使用道具 举报

17#
发表于 2008-12-14 21:52:57 | 只看该作者
原帖由 chengsan 于 2008-12-14 21:47 发表

和vista的
bootrec /fixmrb 有什么区别?
顺便问一下 32 64位弄出来的ntfs mbr和引导扇有没有区别

我还没用过这个参数,都是用他修改分区引导扇区而已
回复

使用道具 举报

18#
发表于 2008-12-14 21:59:27 | 只看该作者
我是动态磁盘,各方面软件支持不是很好
自己也不熟悉,不敢乱盖
回复

使用道具 举报

19#
发表于 2009-3-10 17:00:33 | 只看该作者
原帖由 歌理 于 2008-12-13 21:19 发表
DISKGENIUS.EXE

 就用这个

那好像diskgenius用的是freedos的。难道是这个的引导代码?
回复

使用道具 举报

20#
发表于 2009-3-10 21:09:45 | 只看该作者
只需要指定硬盘编号吗?
回复

使用道具 举报

21#
发表于 2009-3-17 13:30:36 | 只看该作者
偏移1B8—1BB系统签名也不要动。。。。
回复

使用道具 举报

22#
发表于 2009-4-1 13:49:53 | 只看该作者
直接写入硬盘可用吗?有点不敢哦
回复

使用道具 举报

23#
发表于 2009-4-1 15:19:19 | 只看该作者
原帖由 天涯海角1216 于 2009-4-1 13:49 发表
直接写入硬盘可用吗?有点不敢哦

直接用diskgenius的win32版本重写mbr就可以。
他用的那段mbr也很健壮(freedos的)。我就hdd U盘就这个。

[ 本帖最后由 yjd 于 2009-4-1 15:28 编辑 ]
回复

使用道具 举报

24#
发表于 2009-5-15 16:59:03 | 只看该作者
原帖由 wowfans 于 2008-8-16 22:21 发表
目前用这种方式貌似还没有遇到启不动的电脑

量产成本地盘,用HP工具格式化,用UE或者DSPTW或者winhex改写MBR 用本文中的替换,用SYSLINUX.EXE写入分区引导记录。 ...

你的U盘多大?什么格式(fat?fat32?或其它)?
我的制作后倒是能启动,但在windows下识别容量为0

[ 本帖最后由 zxw 于 2009-5-15 17:00 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-29 20:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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