无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011yaya2007777
打印 上一主题 下一主题

支持含有碎片的文件仿真

    [复制链接]
991#
发表于 2015-4-2 14:36:20 | 只看该作者
chenall 发表于 2015-4-2 14:26
"覆盖"为什么要?

"覆盖"了就是使用覆盖的版本了,即然是"覆盖"也没有必要下载旧版源码的.

覆盖法:
以前 是这样的编译的:
由于不知道 git怎么下载我要的指定版本0.46a10250118.
先下载个别的,再下载 指定版本0.46a10250118 的 ZIP包(http://grub4dos.chenall.net/downloads
再覆盖。
详细如下:  

  1. git clone git://github.com/chenall/grub4dos.git grub4dos_src
  2. cd grub4dos_src
  3. git reset --hard 42859b7a
  4. make
  5. #再下载  0.4.6a-2015-01-18的源码ZIP,解开覆盖。然后:
  6. cd stage2
  7. touch *
  8. cd ..
  9. make
复制代码

请问上面编译出来的有问题吗?
我以前这么编译的。 编译的结果会不会是错误的。

点评

这样编译是没有问题的,效果和直接下载01-18版源码是一样的.  详情 回复 发表于 2015-4-2 15:38
回复

使用道具 举报

992#
发表于 2015-4-2 15:38:40 | 只看该作者
mdyblog 发表于 2015-4-2 14:36
覆盖法:
以前 是这样的编译的:
由于不知道 git怎么下载我要的指定版本0.46a10250118.
  1. git clone git://github.com/chenall/grub4dos.git grub4dos_src
  2. cd grub4dos_src
  3. git reset --hard 42859b7a
  4. make
  5. ###前面的这些都没有必要吧,直接下载01-18的源码编译就行了.
  6. #再下载  0.4.6a-2015-01-18的源码ZIP,解开覆盖。然后:
  7. cd stage2
  8. touch *
  9. cd ..
  10. make
复制代码


这样编译是没有问题的,效果和直接下载01-18版源码是一样的.

点评

谢谢!  详情 回复 发表于 2015-4-2 16:21
回复

使用道具 举报

993#
发表于 2015-4-2 16:21:41 | 只看该作者
chenall 发表于 2015-4-2 15:38
这样编译是没有问题的,效果和直接下载01-18版源码是一样的.

谢谢!
回复

使用道具 举报

994#
发表于 2015-4-7 23:14:55 | 只看该作者
请教一下,外部命令该如何编译呢,是否可以用C大的环境?
wenv.c 、   chkpci.c  、  FAT 这些源码又该放在哪个位置
回复

使用道具 举报

995#
发表于 2015-4-8 02:29:11 | 只看该作者
Chenall 的colinux 环境可以编译外部命令。编译方法在源代码的开头注释中有说明。

点评

试了一下,好像没那么简单  详情 回复 发表于 2015-4-8 12:50
回复

使用道具 举报

996#
发表于 2015-4-8 12:50:51 | 只看该作者
不点 发表于 2015-4-8 02:29
Chenall 的colinux 环境可以编译外部命令。编译方法在源代码的开头注释中有说明。

试了一下,好像没那么简单

sshot-1.png (24.33 KB, 下载次数: 0)

sshot-1.png

点评

直接./build就自动全部编译了.  详情 回复 发表于 2015-4-8 13:26
回复

使用道具 举报

997#
发表于 2015-4-8 13:26:36 | 只看该作者
527104427 发表于 2015-4-8 12:50
试了一下,好像没那么简单

直接./build就自动全部编译了.

点评

总是提示 Permission denied 以为是没有权限,于是用imdisk生成一个内存盘来编译,还是一样的出错。 原来是不能用IE下载源码,要 git clone git://github.com/chenall/grubutils.git 下载才行,汗  详情 回复 发表于 2015-4-8 14:03
回复

使用道具 举报

998#
发表于 2015-4-8 14:03:46 | 只看该作者
chenall 发表于 2015-4-8 13:26
直接./build就自动全部编译了.

总是提示
Permission denied
以为是没有权限,于是用imdisk生成一个内存盘来编译,还是一样的出错。

原来是不能用IE下载源码,要 git clone git://github.com/chenall/grubutils.git 下载才行,汗
回复

使用道具 举报

999#
发表于 2015-4-12 17:15:24 | 只看该作者
新版grldr有个问题:

set abcdefghi=1

报错。

原来是限制了变量名不能超过8个,估计很多批处理工具都会出错!

点评

变量名本来就是不能超过8个字符的.. 之前的版本有BUG,导致9个字符也正常,但实际上只使用了8个字符. 国外的网友比较细心发现了这个问题 https://github.com/chenall/grub4dos/issues/55 上一个版本我修改了一  详情 回复 发表于 2015-4-12 17:42
回复

使用道具 举报

1000#
发表于 2015-4-12 17:42:01 | 只看该作者
527104427 发表于 2015-4-12 17:15
新版grldr有个问题:

set abcdefghi=1

变量名本来就是不能超过8个字符的..
之前的版本有BUG,导致9个字符也正常,但实际上只使用了8个字符.

国外的网友比较细心发现了这个问题
https://github.com/chenall/grub4dos/issues/55

上一个版本我修改了一下,超过8个就提示出错.
后面考虑到兼容性问题,今天又编译了一个版本在这里你可以测试一下.
http://chenall.qiniudn.com/grub4dos-0.4.6a-2015-04-12.7z

现在是9个字符就警告并且自动缩短到8个字符和以前的版本一样,超过9个字符直接报错.

点评

原来是这样,还以为是BUG。 试了一下,可以  详情 回复 发表于 2015-4-12 18:49
回复

使用道具 举报

1001#
发表于 2015-4-12 18:49:57 | 只看该作者
本帖最后由 527104427 于 2015-4-12 18:56 编辑
chenall 发表于 2015-4-12 17:42
变量名本来就是不能超过8个字符的..
之前的版本有BUG,导致9个字符也正常,但实际上只使用了8个字符.


原来是这样,还以为是BUG。

试了一下,可以。但是9个字符没有警告,会自动截掉一位。
====================================

原来要debug 2 才会警告
回复

使用道具 举报

1002#
 楼主| 发表于 2015-4-16 12:07:27 | 只看该作者
本帖最后由 2011yaya2007777 于 2015-4-16 12:18 编辑

有原生4k扇区磁盘的网友请测试:
1. 从其他磁盘启动,是否可以正常挂载 NTFS,FAT分区。
2. 在 MBR 安装 grldr.mbr ,复制 grldr 到分区根目录,可否启动,可否正常挂载 NTFS,FAT分区。

怎么论坛不能上传文件了?

http://bbs.znpc.net/forum.php?mo ... amp;extra=#pid88060
回复

使用道具 举报

1003#
 楼主| 发表于 2015-4-28 15:46:17 | 只看该作者
支持写 NTFS 驻留属性数据(小于900字节文件)
回复

使用道具 举报

1004#
 楼主| 发表于 2015-5-14 09:31:12 | 只看该作者
改进 NTFS 文件系统:
        对于驻留属性文件(小文件),可以写,也可用 blocklist 显示信息。
        对于非驻留属性列表,取消长度限制。

点评

怎么使用啊?ntfs写一直梦寐以求啊!  发表于 2015-5-14 10:07
回复

使用道具 举报

1005#
发表于 2015-5-23 06:40:30 | 只看该作者
本帖最后由 mdyblog 于 2015-5-23 06:41 编辑

请问,内置英文菜单的分辨率是强制 640X480X8bit吗?
做成中文内置菜单,怎么写才能保证一致。

  1. title  commandline
  2. commandline
复制代码

点评

中文的话就像不点所说的图形模式不一定有支持 不过如果你的菜单使用的中文不是很多的话可以考虑使用替换字模的方式来显示中文,最多记得是可以显示60个不同的中文汉字  详情 回复 发表于 2015-5-23 11:11
回复

使用道具 举报

1006#
发表于 2015-5-23 11:01:37 | 只看该作者
在文本时代,有规范,有标准。文本模式 3 就是所有的主板都支持的一个模式。它是 80x25 的彩色文本模式。

但是到了 vbe 3.0 ,图形模式已经取消强制性的分辨率了。就是说,没有任何一个分辨率是 bios 必须实现的。因此,你不能指望 640x480 的模式能够在所有的机器上畅通无阻。

不过,也许你周围大多数电脑都支持 640x480 的分辨率。你自己决定吧。你想要什么样的分辨率,graphicsmode 命令的参数可以让你选用。至于说具体的电脑支持不支持你想达到的分辨率,那可不是 graphicsmode 命令所能管得了的。

回复

使用道具 举报

1007#
发表于 2015-5-23 11:11:18 | 只看该作者
mdyblog 发表于 2015-5-23 06:40
请问,内置英文菜单的分辨率是强制 640X480X8bit吗?
做成中文内置菜单,怎么写才能保证一致。


中文的话就像不点所说的图形模式不一定有支持

不过如果你的菜单使用的中文不是很多的话可以考虑使用替换字模的方式来在文本模式下显示中文,最多记得是可以显示60个不同的中文汉字

点评

1: 我的内置菜单大概这样: 就预置了几个汉字字体。 后面的脚本中可以输出汉字;而不用再调font 了。 但是,在qemu测试的时候,屏幕变得老大老大的。很不好看。 没有 "预置了几个汉字字体", 就没事。  详情 回复 发表于 2015-5-23 20:47
回复

使用道具 举报

1008#
发表于 2015-5-23 11:50:19 来自手机 | 只看该作者
很少有人纠结于采用多大的分辨率。菜单设计合理一些,通常可以用于任意的分辨率。每一行按最大 80 个英文字符来处理,遇到高分辨率的情况,无非是右边有很多空白,看起来不够整洁罢了,不影响用户的使用。

至于说竖向的行数,好像不需要关心,因为 grub4dos 的菜单系统会自动适应的。

补充说明一点:640x480 不是 80x25 个英文字符,而是 80x30 个英文字符。也就是说,比普通的文本模式多了 5 行。无论多大的分辨率,只要 bios 支持,那么 grub4dos 的菜单系统都能自适应。

回复

使用道具 举报

1009#
发表于 2015-5-23 20:47:07 | 只看该作者
chenall 发表于 2015-5-23 11:11
中文的话就像不点所说的图形模式不一定有支持

不过如果你的菜单使用的中文不是很多的话可以考虑使用 ...

1:
我的内置菜单大概这样:
  1. title  commandline
  2.     commandline
  3. 4E0D:00007FFC00800080010001000340052009101108210441048100010001000100
  4. 52A0:100010001000107CFE4412441244124412441244124412442244227C4A448400
复制代码


就预置了几个汉字字体。
后面的脚本中可以输出汉字;而不用再调font 了。

但是,在qemu测试的时候,屏幕变得老大老大的。很不好看。
没有 "预置了几个汉字字体", 就没事。


2:你说的“替换字模的方式来在文本模式下显示中文”,请问具体怎么操作。
  1. echo 选择不加速启动按键菜单多第
  2. pause
  3. title  commandline
  4.     commandline
复制代码

这个内置菜单怎实现?

  1. title  选择不加速启动按键菜单多第
  2.     commandline
复制代码

这个内置菜单怎实现?

点评

需要用VTEDIT或其它的程序转换一下菜单的汉字内容,然后还需要一个外部命令VFONT 用法,使用VTEDIT编辑修改菜单之后按保存会生成一个同名的EXE文件 只要在GRUB4DOS下用VFONT调用这个EXE文件配合上面保存生成的菜  详情 回复 发表于 2015-5-24 08:11
回复

使用道具 举报

1010#
发表于 2015-5-23 22:46:41 | 只看该作者
你好像需要看看教程,关于 graphicsmode 命令的解释。

你可以试试

graphicsmode   -1   600:700   100:1000   24:32

这样控制的分辨率可能就接近你的要求了。

点评

改成 graphicsmode -1 600:700 100:1000 8:32 是不是 适应性稍强点, 很老很老的VGA只有8位色。 这么修改会增加风险吗?  详情 回复 发表于 2015-5-24 07:12
回复

使用道具 举报

1011#
发表于 2015-5-24 07:12:29 | 只看该作者
不点 发表于 2015-5-23 22:46
你好像需要看看教程,关于 graphicsmode 命令的解释。

你可以试试

改成
graphicsmode   -1   600:700   100:1000    8:32
是不是 适应性稍强点, 很老很老的VGA只有8位色。
这么修改会增加风险吗?

点评

不可以这么修改。 grub4dos 的 vbe 模式,只支持 24 位和 32 位的色深,不支持 低色深。  详情 回复 发表于 2015-5-24 08:36
回复

使用道具 举报

1012#
发表于 2015-5-24 08:11:36 | 只看该作者
mdyblog 发表于 2015-5-23 20:47
1:
我的内置菜单大概这样:

需要用VTEDIT或其它的程序转换一下菜单的汉字内容,然后还需要一个外部命令VFONT

用法,使用VTEDIT编辑修改菜单之后按保存会生成一个同名的EXE文件

只要在GRUB4DOS下用VFONT调用这个EXE文件配合上面保存生成的菜单文件就可以在文本模式下显示中文了

点评

麻烦给个测试包。 直接就能演示效果。  详情 回复 发表于 2015-5-24 08:31
请问, 外部命令VFONT 哪有啊?  详情 回复 发表于 2015-5-24 08:30
转换一下菜单的汉字内容, --------------- 意思是说,G4D中: VFONT /hzfont.exe echo 你好 pause title 你好 commandline  详情 回复 发表于 2015-5-24 08:19
回复

使用道具 举报

1013#
发表于 2015-5-24 08:19:47 | 只看该作者
chenall 发表于 2015-5-24 08:11
需要用VTEDIT或其它的程序转换一下菜单的汉字内容,然后还需要一个外部命令VFONT

用法,使用VTEDIT编辑 ...

转换一下菜单的汉字内容,
---------------
意思是说,G4D中:
VFONT  /hzfont.exe
echo 你好
pause

title 你好
commandline
回复

使用道具 举报

1014#
发表于 2015-5-24 08:30:06 | 只看该作者
chenall 发表于 2015-5-24 08:11
需要用VTEDIT或其它的程序转换一下菜单的汉字内容,然后还需要一个外部命令VFONT

用法,使用VTEDIT编辑 ...

请问, 外部命令VFONT   哪有啊?

回复

使用道具 举报

1015#
发表于 2015-5-24 08:31:35 | 只看该作者
chenall 发表于 2015-5-24 08:11
需要用VTEDIT或其它的程序转换一下菜单的汉字内容,然后还需要一个外部命令VFONT

用法,使用VTEDIT编辑 ...

麻烦给个测试包。 直接就能演示效果。

点评

试了一下效果不太好,没有过滤制表符,连制表符一起被替换掉了. 记得曾经有过滤制表符的,忘了在哪了....  详情 回复 发表于 2015-5-24 09:27
回复

使用道具 举报

1016#
发表于 2015-5-24 08:36:37 | 只看该作者
mdyblog 发表于 2015-5-24 07:12
改成
graphicsmode   -1   600:700   100:1000    8:32
是不是 适应性稍强点, 很老很老的VGA只有8位色 ...

不可以这么修改。

grub4dos 的 vbe 模式,只支持 24 位和 32 位的色深,不支持 低色深。

点评

那碰着老的VGA(256色) graphicsmode -1 600:700 100:1000 24:32 是什么效果。 是不是就等于没这条命令的效果吗?  详情 回复 发表于 2015-5-24 20:44
回复

使用道具 举报

1017#
发表于 2015-5-24 09:27:21 | 只看该作者
mdyblog 发表于 2015-5-24 08:31
麻烦给个测试包。 直接就能演示效果。

试了一下效果不太好,没有过滤制表符,连制表符一起被替换掉了.

记得曾经有过滤制表符的,忘了在哪了....

demo.rar

145.28 KB, 下载次数: 5

回复

使用道具 举报

1018#
发表于 2015-5-24 20:44:24 | 只看该作者
不点 发表于 2015-5-24 08:36
不可以这么修改。

grub4dos 的 vbe 模式,只支持 24 位和 32 位的色深,不支持 低色深。

那碰着老的VGA(256色)

graphicsmode   -1   600:700   100:1000   24:32
是什么效果。 是不是就等于没这条命令的效果吗?

点评

你得知道,这是 vbe,不是 vga。老的 vga 模式已经不支持了(这些电脑只能使用 0.4.4 的旧版本)。而且,十分老旧的电脑早已经坏掉了,百万分之一的几率,没人报告这种情况,我们就当作不存在好了。  详情 回复 发表于 2015-5-24 21:28
回复

使用道具 举报

1019#
发表于 2015-5-24 21:28:25 | 只看该作者
本帖最后由 不点 于 2015-5-24 21:50 编辑
mdyblog 发表于 2015-5-24 20:44
那碰着老的VGA(256色)

graphicsmode   -1   600:700   100:1000   24:32


你得知道,这是 vbe,不是 vga。老的 vga 模式已经不支持了(这些电脑只能使用 0.4.4 的旧版本)。而且,十分老旧的电脑早已经坏掉了,生存的几率是百万分之一,没人报告这种情况,我们就当作不存在好了。

上述命令执行失败时,不能进入 vbe 模式,会出现一条 error 信息。

如果 bios 不支持横向 600 至 700 个像素,或者竖向不支持 100 至 1000 个像素,则这条命令照样会失败。

点评

哦。  详情 回复 发表于 2015-5-24 21:46
回复

使用道具 举报

1020#
发表于 2015-5-24 21:46:05 | 只看该作者
不点 发表于 2015-5-24 21:28
你得知道,这是 vbe,不是 vga。老的 vga 模式已经不支持了(这些电脑只能使用 0.4.4 的旧版本)。而且, ...

哦。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-16 03:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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