![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 07:27 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » 为移动操作系统打造稳健的引导扇区,请参谋 |
| 可打印版本 3,939 / 15 |
| 第16楼 loveheartrain | 发表于 2007-11-12 22:20 |
| 初级用户 发帖 81 积分 174 | |
|
我用的是DSPTW.EXE在WIN XP下直接写入U盘实现的启动GRUB 我用的是DSPTW.EXE在WIN XP下直接写入U盘实现的启动GRUB,
最初版本是0.40,用WINPM 查看分区起始扇区只要不是在0 柱面0磁头1扇区即可,就是说原来又主引导纪录MBR,否则需在用分区工具或U盘自带格式化工具重新分区格式化.我用的分别为43扇区的128MB和63扇区的1GB的安装,都能进入GRUB. 我用的是批处理文件.BAT 内容如下 @echo off color 0A :mmbr title MMBR 重建MBR! set hd= cls echo 请选择要重建的硬盘编号。 echo 0 1 2 3 4 5 echo 输入数字后回车执行! set /p hd="">nul if not %hd%'==0' if not %hd%'==1' if not %hd%'==2' if not %hd%'==3' if not %hd%'==4' if not %hd%'==5' goto mmbr if %hd%'==' goto mmbr :mmbr1 set h= ECHO 你选择的硬盘编号是%hd%!以下是该硬盘的分区情况! dsptw %hd% /l /y ECHO MMBR 开始写入MBR! echo 请选择所要的操作。 echo 恢复输入Y 其它键退出 echo 输入后回车执行! set /p h="">nul if not %h%'==y' if not %h%'==Y' goto exit if %h%'==' goto exit del hmbr.bin del %hd%mbr.bin dsptw %hd% 0 1 /s %hd%mbr.bin /y type %hd%mbr.bin|find /i "m2" >nul if errorlevel 1 goto setup del %hd%mbr.bin goto hmbr :setup echo 正在写入新的MBR以便实现GRUB启动。 echo 安装前将清除0柱面0磁头除1扇区与63扇区的数据。 echo 安装前将备分原MBR到0柱面0磁头2扇区和23扇区。 echo 安装前将备分原MBR到D:\bf\%hd%MBR.BIN。 pause copy %hd%mbr.bin D:\bf\ del %hd%mbr.bin dsptw %hd% 2 21 /e /y dsptw %hd% 0 1 /D %hd% 1 /y dsptw %hd% 0 1 /D %hd% 22 /y dsptw %hd% 0 0 /m /hex:EB0601026D32FFFFE800005BC1EB048C /Y dsptw %hd% 0 16 /m /hex:C801C38EDB1E6A19CBBB0018B800208E /Y dsptw %hd% 0 32 /m /hex:D0BC009031C951BA800052B408F9CD13 /Y dsptw %hd% 0 48 /m /hex:5A581607720580E13F750F8ED83A0675 /Y dsptw %hd% 0 64 /m /hex:04F97417BE6201E9890091B40289C531 /Y dsptw %hd% 0 80 /m /hex:DB4152F9CD135A7202F6DC0E1F9C31F6 /Y dsptw %hd% 0 96 /m /hex:31FFB9DF00FCF3A5166A6CCBBBFC1766 /Y dsptw %hd% 0 112 /m /hex:B8475255AA161F66390775549D723C0E /Y dsptw %hd% 0 128 /m /hex:1FAD88E6AD89C1243F741F29E848F6D8 /Y dsptw %hd% 0 144 /m /hex:BF0300B40268000D0731DB60CD136173 /Y dsptw %hd% 0 160 /m /hex:0A6031C0CD13614F75E9F9E8CA097728 /Y dsptw %hd% 0 176 /m /hex:83C60C81FEFE0172C67715BEB231B408 /Y dsptw %hd% 0 192 /m /hex:9952CD135872099991243F740341EBC0 /Y dsptw %hd% 0 208 /m /hex:BE4C01E86F00EBFE1E0666608CC3FA0F /Y dsptw %hd% 0 224 /m /hex:0116600A0F20C00C010F22C0BE08008E /Y dsptw %hd% 0 240 /m /hex:C66631F66631FF66B900240000FCF366 /Y dsptw %hd% 0 256 /m /hex:A5BE10008EC624FE0F22C08EC3B90002 /Y dsptw %hd% 0 272 /m /hex:31F656BF007C57061F5607FCF3A5BF10 /Y dsptw %hd% 0 288 /m /hex:7EBE000AB91E00FCF3662EA5061FFBCB /Y dsptw %hd% 0 304 /m /hex:FAB800208ED0BCDC8FFB6661071FE96F /Y dsptw %hd% 0 320 /m /hex:FFB40ECD102EAC3C0075F6C30D0A4D69 /Y dsptw %hd% 0 336 /m /hex:7373696E67204D42522D68656C706572 /Y dsptw %hd% 0 352 /m /hex:2E000D0A42756767792042494F532100 /Y dsptw %hd% 0 368 /m /hex:627920617879204C6F76652048656172 /Y dsptw %hd% 0 384 /m /hex:74205261696E20766572323030373132 /Y dsptw %hd% 0 400 /m /hex:32372051513A37313231363731360000 /Y dsptw %hd% 2 10 /R S.bin /Y if errorlevel 1 goto err echo 安装完成! echo 进入GRUB热键为M,提示信息延时2秒。 echo 以下是重建后的MBR内容 pause dsptw %hd% 0 1 /l /p /a goto exit :hmbr set h= cls echo 安装出错!可能已经安装过,手动恢复请运行hmbr.bat echo 请选择所要的操作。 echo 恢复输入Y 其它键退出 echo 输入后回车执行! set /p h="">nul if not %h%'==y' if not %h%'==Y' goto exit if %h%'==' goto exit goto h%h% :hy :mbr2 echo 使用第2扇区恢复! del hmbr.bin dsptw %hd% 1 1 /s hmbr.bin /y type hmbr.bin|find /i "system" >nul if errorlevel 1 goto mbr23 dsptw %hd% 0 1 /r hmbr.bin /y if errorlevel 1 goto mbr23 goto ok :mbr23 echo 使用第2扇区恢复失败! echo 使用第23扇区恢复! del hmbr.bin dsptw %hd% 22 1 /s hmbr.bin /y type hmbr.bin|find /i "system" >nul if errorlevel 1 goto err dsptw %hd% 0 1 /r hmbr.bin /y if errorlevel 1 goto err :ok dsptw %hd% 2 21 /e /y del hmbr.bin echo ok! 恢复完成。 echo 以下是重建后的MBR内容 pause dsptw %hd% 0 1 /l /p /a goto exit :err del hmbr.bin echo mbr err! 没有恢复成功! echo Run MBR.bat。 请运行MBR32.bat来重建MBR。 echo 或者使用dsptw %hd% 0 1 /r mbr.bin /y命令 echo 来恢复MBR。安装前已经备分到D:\bf\%hd%MBR.BIN :exit pause 重建MBR内容即MBR32.BAT @echo off color 0A :mmbr title MMBR 重建MBR! set hd= cls echo 请选择要重建的硬盘编号。 echo 0 1 2 3 4 5 echo 输入数字后回车执行! set /p hd="">nul if not %hd%'==0' if not %hd%'==1' if not %hd%'==2' if not %hd%'==3' if not %hd%'==4' if not %hd%'==5' goto mmbr if %hd%'==' goto mmbr :mmbr1 set h= ECHO 你选择的硬盘编号是%hd%!以下是该硬盘的分区情况! dsptw %hd% /l /y ECHO MMBR 开始恢复MBR! echo 请选择所要的操作。 echo 恢复输入Y 其它键退出 echo 输入后回车执行! set /p h="">nul if not %h%'==y' if not %h%'==Y' goto exit if %h%'==' goto exit dsptw %hd% 0 0 /m /hex:33C08ED0BC007CFB5007501FFC50BE00 /Y if errorlevel 1 goto err dsptw %hd% 0 16 /m /hex:7CBF0006B90002F3A4BF1E0657CB33DB /Y dsptw %hd% 0 32 /m /hex:33D2BEBE07B104F6048074038BD64383 /Y dsptw %hd% 0 48 /m /hex:C610E2F383FB017409BEC400B91700EB /Y dsptw %hd% 0 64 /m /hex:719052B441B280BBAA55CD135A81FB55 /Y dsptw %hd% 0 80 /m /hex:AA7533F6C101742EB80042BEAD07B110 /Y dsptw %hd% 0 96 /m /hex:C6040046E2FABEAD078BFAC60410C644 /Y dsptw %hd% 0 112 /m /hex:0201C74404007C8B5D08895C088B5D0A /Y dsptw %hd% 0 128 /m /hex:895C0AEB0F90B80102BB007C8BF28B4C /Y dsptw %hd% 0 144 /m /hex:028A7401B280CD13BEFE7D813C55AA74 /Y dsptw %hd% 0 160 /m /hex:09BEDB00B91800EB099033C050B8007C /Y dsptw %hd% 0 176 /m /hex:50CB81C60006ACBB0700B40ECD10E2F6 /Y dsptw %hd% 0 192 /m /hex:B10FE2FC496E76616C69642070617274 /Y dsptw %hd% 0 208 /m /hex:6974696F6E207461626C654D69737369 /Y dsptw %hd% 0 224 /m /hex:6E67206F7065726174696E6720737973 /Y dsptw %hd% 0 240 /m /hex:74656D004D617374657220426F6F7420 /Y dsptw %hd% 0 256 /m /hex:5265636F72642057726F746520202120 /Y dsptw %hd% 0 272 /m /hex:627920617879204C6F76652048656172 /Y dsptw %hd% 0 288 /m /hex:74205261696E20766572323030373132 /Y dsptw %hd% 0 304 /m /hex:32372051513A37313231363731360000 /Y dsptw %hd% 0 320 /m /hex:00000000000000000000000000000000 /Y dsptw %hd% 0 336 /m /hex:00000000000000000000000000000000 /Y dsptw %hd% 0 352 /m /hex:00000000000000000000000000000000 /Y dsptw %hd% 0 368 /m /hex:00000000000000000000000000000000 /Y dsptw %hd% 0 384 /m /hex:00000000000000000000000000000000 /Y dsptw %hd% 0 400 /m /hex:00000000000000000000000000000000 /Y dsptw %hd% 0 416 /m /hex:00000000000000000000000000000000 /Y dsptw %hd% 0 432 /m /hex:00000000000000000000000000008001 /Y dsptw %hd% 1 29 /e /y dsptw %hd% 0 1 /D %hd% 1 /y dsptw %hd% 0 1 /D %hd% 22 /y echo 重建MBR完成! echo 以下是重建后的MBR内容 pause dsptw %hd% 0 1 /l /p /a goto exit :err echo 重建MBR失败! goto exit :exit pause [ Last edited by loveheartrain on 2007-11-12 at 10:30 PM ] |
|
| 上一页 1 2 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |