|
我下过makebootfat (http://advancemame.sourceforge.net/beta/makebootfat-1.5-windows-pentium.zip) ,试过一下,我的爱国者1G U盘可以制作USB-ZIP成功,在LINUX下看参数正确.
制作前先了解makebootfat.
首先解压makebootfat-1.5-windows-pentium.zip文件,列表如下
h:\makebootfat-1.5-windows-pentium
│ authors.txt
│ copying.txt
│ history.txt
│ makebootfat.exe
│ mbrfat.bin
│ readme.txt
│
└─doc
authors.html
authors.txt
history.html
history.txt
makebootfat.html
makebootfat.txt
readme.html
readme.txt
我们先看看makebootfat.txt的其中的一段:
The BIOS USB boot support is generally differentiated in three
categories: USB-HDD, USB-FDD and USB-ZIP.
The USB-HDD (Hard Disk Drive) standard is the preferred choice and
it requires the presence of a partition table in the first sector
of the disk. You can create this type of disk using the -m option.
The USB-FDD (Floppy Disk Drive) standard requires the presence of
a filesystem starting from the first sector of the disk without
a partition table.
You can create this type of disk without using the -m option.
The USB-ZIP (ZIP Drive) standard requires the presence of a
device with a very specific geometry. Specifically, it requires
a geometry with 32 sectors and 64 heads. It also requires the presence
of a partition table with only a bootable partition in the
fourth entry. You can create this type of disk using the -m and -Z option.
可以看出,USB-FDD (Floppy Disk Drive) 係无分区表的,不需要加参数-m (mbr); USB-ZIP (ZIP Drive) 係需要
分区表的,而且引导扇区係放在第四扇区(0x400),楼主就係无加参数-m,所以在linux下查看的参数不对.
用USB-FDD格式制作的U盘启动后,U盘係A盘. 用USB-ZIP格式制作的U盘启动后,U盘係C盘.(可能它有分区表,把它当作硬盘,这个我也不太清楚)
具体操作:
1.制作可引导文件.我用dos.img来制作.用winimage工具打开dos.img,选择"映像"->"引导扇区属性",按"保存",放在h:\makebootfat-1.5-windows-pentium目录下,取名dos,就生成咗dos.bin文件.
然后把dos.img里的所有文件解压出来,我放在h:\makebootfat-1.5-windows-pentium\dos目录下.(在h:\makebootfat-1.5-windows-pentium下建个新目录,取名dos)
2.运行cmd,进入h:\makebootfat-1.5-windows-pentium目录下,
如果制作USB-ZIP,输入命令: makebootfat.exe -o usb -2 dos.bin -m mbrfat.bin -F -Z dos
如果制作USB-FDD,输入命令: makebootfat.exe -o usb -2 dos.bin -Z dos
这样就制作成功了.
在linux看过USB-FDD格式的参数不正确,如下:
Disk /dev/sda: 1010 MB, 1010826752 bytes
32 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 1952 * 512 = 999424 bytes
Device Boot Start End Blocks Id System
/dev/sda1 ? 871926 1706719 814758329+ 74 Unknown
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(288, 110, 36) logical=(871925, 16, 49)
Partition 1 has different physical/logical endings:
phys=(366, 104, 37) logical=(1706718, 28, 39)
Partition 1 does not end on cylinder boundary.
/dev/sda2 ? 681447 957562 269488144 65 Novell Netware 386
Partition 2 has different physical/logical beginnings (non-Linux?):
phys=(107, 121, 32) logical=(681446, 26, 15)
Partition 2 has different physical/logical endings:
phys=(10, 121, 13) logical=(957561, 23, 5)
Partition 2 does not end on cylinder boundary.
/dev/sda3 ? 276122 992497 699181456 53 OnTrack DM6 Aux3
Partition 3 has different physical/logical beginnings (non-Linux?):
phys=(345, 32, 19) logical=(276121, 19, 41)
Partition 3 has different physical/logical endings:
phys=(324, 77, 19) logical=(992496, 1, 50)
Partition 3 does not end on cylinder boundary.
/dev/sda4 ? 2002623 2002656 32669+ bb Boot Wizard hidden
Partition 4 has different physical/logical beginnings (non-Linux?):
phys=(65, 1, 0) logical=(2002622, 6, 57)
Partition 4 has different physical/logical endings:
phys=(96, 0, 7) logical=(2002655, 22, 3)
Partition 4 does not end on cylinder boundary.
Partition table entries are not in disk order
在linux看过USB-ZIP格式的参数正确,如下:
Disk /dev/sda: 1010 MB, 1010826752 bytes
64 heads, 32 sectors/track, 963 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdb4 * 1 963 986096 6 FAT16
以上是我的肤浅见解,希望楼主和大家指教.我试过4G的U盘,制作无报错,但启动不了.研究中...... |
评分
-
查看全部评分
|