无忧启动论坛

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

[求助] 不好意思,再次请教hotdll大大,见9楼问题

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-7 13:44:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FBINST制作的启动U盘,启动后为USB-ZIP,将U盘可见分区(文件系统FAT)通过map (fd0)+1 (hd) && map --hook,再进入DOS(A盘),dir C:\ 可以发现U盘可见分区识别为C盘(未加载USB的DOS驱动),md c:\123可在U盘建立123目录,rd c:\123可删除目录123,但无法COPY文件到C:(复制过程死机,重新启动后可发现复制的文件,但容量为0字节,通过del命令可删除这些0字节文件),手动运行GHOST,选择U盘可见分区(2:1),死机。

[ 本帖最后由 mygamexxx 于 2011-12-17 16:26 编辑 ]
2#
发表于 2011-12-7 14:07:33 | 只看该作者

回复 #1 mygamexxx 的帖子

你这样操作是失误的。

你想做什么?呵呵

[ 本帖最后由 hotdll 于 2011-12-17 22:16 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2011-12-7 14:10:02 | 只看该作者
对这个倒是不太清楚,但所有文件都可以在C:上通过dir看到。我是菜鸟啊,不知道是否与饭大说的有关。
回复

使用道具 举报

4#
发表于 2011-12-7 14:10:50 | 只看该作者
呵呵。文件列表保存在(fd)+1上。你能看到正常。
回复

使用道具 举报

5#
 楼主| 发表于 2011-12-7 14:12:34 | 只看该作者

回复 #4 hotdll 的帖子

如果使用map (fd0) (hd),DOS7.1就无法启动。freedos可以启动,但运行ghost也会死机。

[ 本帖最后由 mygamexxx 于 2011-12-7 14:18 编辑 ]
回复

使用道具 举报

6#
发表于 2011-12-7 14:49:29 | 只看该作者

回复 #5 mygamexxx 的帖子

不要map (fd0) (hd)
你查看f6img的zip段
就是处理你这个问题的。
calc *0x8280&0xff/2 > nul || debug 1 > nul && command | call :zip_fix=
calc *0x82b8 && calc *0x82b9&0xff/2 > nul || debug 1 > nul && command | call :zip_fix=
正式的代码....
exit

::处理U盘被识别为ZIP,为了保持和非ZIP一致,调整U盘为HD0
:zip_fix
setlocal && debug 0
set /a hd0=*0x475&0xff+0x7f
call :move
map (0) (hd0) > nul || goto :end
map --hook
map --floppies=0
endlocal
set bdtmp=%~5
set bdtmp=%bdtmp:~4%
if "%bdtmp%"=="(bd)" || if "%~d4"=="(fd0)" command --set-path=(hd0)%~p4 || if "%~d4"=="(fd0,0)" command --set-path=(hd0,0)%~p4
calc *0x82b8 && calc *0x82b9=*0x82b9&0xffffff00|0x80 > nul
calc *0x82a0 || write 0x82a0 0x80 > nul
set bdtmp= && exit
:move
if %hd0%==127 exit
set /a hd1=%hd0%+1
map (%hd0%) (%hd1%) > nul
set /a hd0=%hd0%-1
goto :move
回复

使用道具 举报

7#
 楼主| 发表于 2011-12-7 16:32:33 | 只看该作者
饭大的代码中 map (0) (hd0) > nul || goto :end
是否与 map (fd0) (hd0) > nul || goto :end 等同
回复

使用道具 举报

8#
发表于 2011-12-7 16:57:58 | 只看该作者

回复 #7 mygamexxx 的帖子

回复 #7 mygamexxx 的帖子
一样的
回复

使用道具 举报

9#
 楼主| 发表于 2011-12-17 16:24:08 | 只看该作者
请教饭大:在GRUB4DOS帮助文档中有这一句:“在map命令行中,(hdm,n)+1式的写法被解释成代表整个(hdm,n)分区,而不仅仅是此分区的第一扇区。”
不点大大的回复中有map --mem (fd0)+1 (rd),表示将(fd0)映射到内存盘的说法。那么map (fd0)+1 (hd)是否也可以将(fd0)映射为(hd),而不是仅仅映射(fd0)一个扇区到(hd)?
回复

使用道具 举报

10#
发表于 2011-12-17 22:15:36 | 只看该作者

回复 #9 mygamexxx 的帖子

(hd)的意思是在最后一个硬盘号+1仿真一个磁盘。可能是(hd1) 也可能是(hd2)

如果fd0和fd1是u盘的话,map --mem (fd0)+1 (hd) && map --rehook 是可以的。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-17 03:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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