title ############################################
clear
title # GRUB-DOS&WinPE U盘演示 —— By 2007.11 #
clear
title ############################################
clear
依我来看,32 和 63 表示“每磁道的扇区数”。一般用 S 来表示“每磁道的扇区数”。这是个很敏感的参数。如果这个参数与主板 BIOS 认定的这个磁盘的参数不同,那么你就无法启动 DOS。
因此,可以推测,你的主板把你的 U 盘认成了 S=32。你用 S=63 的 FAT 文件系统,是无法启动 DOS 的。
但是,如果你有兴趣,并且愿意为 GRUB4DOS 的新功能做测试,你正好可以试试 S=63 的 U 盘是否可以启动 GRLDR。方法是这样的:
在别的机器上把你的 U 盘格式化为硬盘,里面只有一个 FAT16/32 的文件系统,并且让“每道扇区数”保持为 63,也就是说,故意做成与你的主板严重不符。然后用 bootlace 把 GRLDR 的引导扇区写入这个 U 盘。这样一来,这个 U 盘就变成“硬盘、软盘”双重格式了,就是说,它即可以作软盘,也可以做硬盘。当然最后不要忘了把 grldr 放在 U 盘的根目录。
[ Last edited by wangjf on 2007-11-10 at 08:05 PM ]作者: barton 时间: 2007-11-11 08:34 可以看看gnu grub相关的资料,补充学习作者: Sense 时间: 2007-11-12 09:36 以前比较过USB-ZIP和USB-HDD格式的区别。USB-ZIP为每磁道32扇区(可能是iomega ZIP drive定义成这样吧),启动数据存放于32扇区;USB-HDD为每磁道63扇区(与硬盘一样),启动数据在63扇区。
老主板(两年前的,或者845以前的芯片组)对ZIP格式支持比较好,新主板对HDD格式支持比较好。而且很多新主板都没有USB-ZIP启动选项了,只支持USB-HDD。
另外,U盘容量超过256MB后如果格成USB-ZIP,在很多主板上会出问题,如无法启动、可以启动但无法读取256MB之后的数据等。这可能跟iomega的第一代ZIP驱动器最大容量250MB有关,BIOS代码延用了以前的数据。
所以为了最大兼容于现在的大容量U盘和新主板,建议格式化为USB-HDD格式。作者: fujianabc 时间: 2007-11-12 18:47 usb-zip标准比较混乱,zip软驱没流行开来,这个比较混乱的标准却留给了现在的u盘。
usb-hdd,usb-cd,usb-fdd都比usb-zip兼容性要好作者: fujianabc 时间: 2007-11-12 18:53
Quote:
Originally posted by Sense at 2007-11-12 09:36 AM:
以前比较过USB-ZIP和USB-HDD格式的区别。USB-ZIP为每磁道32扇区(可能是iomega ZIP drive定义成这样吧),启动数据存放于32扇区;USB-HDD为每磁道63扇区(与硬盘一 ...
[ Last edited by fujianabc on 2007-11-12 at 06:54 PM ]作者: loveheartrain 时间: 2007-11-12 22:20 标题: 我用的是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
: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
: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