U盘成功启动的制作
本帖最后由 sizhou 于 2020-3-31 14:20 编辑这标题可能不是取的很好,U盘的启动对应错综复杂的BIOS很难做到通吃,这里主要是针对Microsoft的系统dos 开始,到xp 2k3 ....win10 PE。
USB协议是1996年定的,U盘的启动应该晚些年出现。
win98启动盘的3个基本文件比较特殊,可以适应硬盘和软盘都启动。
9几年时候的IDE硬盘开始,就没有真实的CHS值,提供虚假的chs 与BIOS通信,BIOS与系统、软件会伪造不同CHS通信(不是X盘固件提供的chs值)。U盘本质是LBA设备,系统划归SCSI设备。
98年后的BIOS大多数都支持扩展int 13 访问,U盘启动bootloader文件需要支持扩展int 13 函数启动基本都能成功。
win98系统是支持fat32格式的LBA访问。DOS的启动有个特殊地方,启动开始地址0C1H1S的DBR,一般S是63。
DOS启动能成功,相信后面的xp 2k3 .... win10pe启动更没问题
下面的方法算是提高成功率吧,
以下操作会破坏U盘数据,请备份好数据。U盘是单分驱,没有量产过的盘,
虚拟机安装Ubuntu,
插入您的USB闪存盘
打开终端窗口,然后输入sudo su ,需要root口令
键入apt-get install syslinux(如果您没有安装syslinux)
键入apt-get install mtools(如果尚未安装mtools)
键入fdisk -l列出可用磁盘(从列表中记下您的U盘是dev/sdx)
键入mkdiskimage -F / dev / sdx 0 Y 63(用实际的闪存驱动器号替换x) 请结合上面显示的盘 确定U盘是sda /sdb/ sdc???
Y是数字,512M-1G的盘32,1-2G盘是64,2-4g的盘是128,4G以上的盘是255
该过程完成(U盘越大,时间越长)后,安全移除U盘
关闭虚拟机,换到window系统,请一定不要格式化U盘,Windows提示U盘错误,需要重复上面操作,不用分区U盘,这盘是63扇区开始没有对齐。
下面用bootice设置主引导记录WINDOWS6.xmbr, 分区引导记录 设置ms-dos,分区管理里激活、 修改分区ID,8G以上的盘设置为0C,别的不管。
点 扇区编辑 选择 MBR 位置是0.可以查看801 1 0开始,后面数字和图不同。
选择fat32, 位置是63扇区, 可以查看
请把位置0015 改为F8, 0040改为80.fat32 后面都有备份,位置0032是6表明63+6到69扇区位置请修改前面的2个数字F8 80。需要修复文件系统错误
把win98启动盘3个文件直接放U盘根位置。用Qemu启动测试器 对U盘可以测试启动,
如果成功说明这U盘固件对启动支持还不错,想换别人的pe, 可以解压别人的ISO文件放到U盘,修改下 分区引导记录为 bootmgrgrub4dossyslinux等。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=418753&extra=前面我发的帖子,最后几个英文网站提供了分析,可能不算什么理论上的。
谢谢分享{:1_183:} 不错,谢谢 学习学习 不错,支持 谢谢分享 受教了…… 领教了 高深,感谢大佬分享经验 受教了 学习了 感谢分享经验
页:
[1]