无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 8262|回复: 11
打印 上一主题 下一主题

[原创] GRUB2 移植FatFs 支持读/写 fat/exfat

  [复制链接]
跳转到指定楼层
1#
发表于 2020-2-20 17:10:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wintoflash 于 2020-2-25 11:50 编辑

下载:
https://github.com/a1ive/grub/releases/tag/latest
http://github-mirror.bugkiller.org/a1ive/grub/releases

支持 FAT/exFAT 复制/删除/移动/重命名/创建/修改文件 等操作。

警告:此模块处于测试状态,可能会损坏你的磁盘数据。

使用方法:
需要加载 fatfs.mod 模块。
FAT/exFAT 分区需要挂载才能使用。目前支持最多同时挂载9个分区,盘符为 1:, 2:, ..., 9:

挂载
mount PARTITION NUM[1-9]
示例:
        mount (hd0,1) 1
        把 (hd0,1) 挂载到 1:/ 下

查看挂载状态
mount status


卸载
umount NUM[1-9]
示例:
        umount 2
        卸载 2:/

创建文件夹
mkdir PATH
示例:
        mkdir 1:/new_dir
        在 1:/ 下创建名为'new_dir'的文件夹


复制文件
cp FILE1 FILE2
示例:
        cp 2:/test.zip 1:/abcd.zip
        将 2:/下 的 test.zip 复制到 1:/ 下,文件名为 abcd.zip
        cp (hd0,2)/WContig.zip 1:/WContig.zip
        将 (hd0,2)/WContig.zip 复制到 1:/ 下


重命名文件/文件夹
rename PATH1 PATH2
示例:
        rename 1:/WContig.zip 1:/qwert/test.zip
        将 1:/ 下的 WContig.zip 移动到 qwert/ 下,并改名为 test.zip


删除文件/文件夹
rm PATH
注意:不能删除非空文件夹
示例:
        rm 1:/qwert/test.zip


移动文件
mv FILE1 FILE2
注意:不跨盘移动相当于 rename 操作。
示例:
        mv 1:/aaa.txt 2:/bbb.txt

创建文件
touch FILE [YEAR MONTH DAY HOUR MINUTE SECOND]
修改文件时间戳为当前时间,若文件不存在,则创建一个空文件
示例:
        touch 1:/aaa.txt
        touch 1:/aaa.txt 2000 1 1
        将 1:/aaa.txt 的修改时间改为 2000 年 1 月 1 日

修改文件
write_file FILE STRING [OFFSET]
在文件偏移OFFSET处向文件写入字符串。若文件大小不足,会自动扩充文件大小。
示例:
        write_file 1:/qwert/bbb.txt "fuckfuckfuckfuck"

        write_file 1:/qwert/bbb.txt "you" 4


参考:http://elm-chan.org/fsw/ff/00index_e.html

评分

参与人数 3无忧币 +15 收起 理由
wuxin9712 + 5
ksafei + 5 很给力!
freesoft00 + 5

查看全部评分

2#
发表于 2020-2-20 18:24:36 来自手机 | 只看该作者
越来越像个系统了,加油。
回复

使用道具 举报

3#
发表于 2020-2-20 21:31:58 | 只看该作者
本帖最后由 hhh333 于 2020-2-20 21:34 编辑

是啊,前面一直没有文件操作,现在好了。mem map后可以拷贝文件过去吗?

点评

map --mem img?  详情 回复 发表于 2020-2-20 21:44
回复

使用道具 举报

4#
 楼主| 发表于 2020-2-20 21:44:18 | 只看该作者
hhh333 发表于 2020-2-20 21:31
是啊,前面一直没有文件操作,现在好了。mem map后可以拷贝文件过去吗?

map --mem img?

点评

是的,有这种用法吧  详情 回复 发表于 2020-2-21 10:56
回复

使用道具 举报

5#
发表于 2020-2-21 10:56:51 | 只看该作者

是的,有这种用法吧

点评

map --mem --rw xxx.img 确实可写。 但是这样不太合理。 应该先loopback,写入东西,再map loopback -m loop xxx.img map --disk --type=HD (loop)  详情 回复 发表于 2020-2-21 12:39
回复

使用道具 举报

6#
 楼主| 发表于 2020-2-21 12:39:25 | 只看该作者
hhh333 发表于 2020-2-21 10:56
是的,有这种用法吧

map --mem --rw xxx.img 确实可写。
但是这样不太合理。
应该先loopback,写入东西,再map
loopback -m loop xxx.img
map --disk --type=HD (loop)


回复

使用道具 举报

7#
发表于 2020-2-24 19:32:15 | 只看该作者
怎么把GRUB2安装到、/boot/grub/ 文件夹?
我每次都是直接安在c:/grub 文件夹下了。
回复

使用道具 举报

8#
 楼主| 发表于 2020-2-25 11:50:30 | 只看该作者
现在也支持exFAT了
回复

使用道具 举报

9#
发表于 2020-2-27 22:13:15 | 只看该作者
W大辛苦了。。。Grub2在W大の持续努力下日趋完美。。。

回复

使用道具 举报

10#
发表于 2021-8-13 22:11:12 | 只看该作者
支持下
回复

使用道具 举报

11#
发表于 2021-9-13 18:06:19 | 只看该作者
直接用LINUX主线的exfat驱动吧。
这个驱动太旧了。

点评

主要是没有libc,只能移植一些适合嵌入式的垃圾驱动。 目前在移植musl libc。有了libc,啥都简单了。  详情 回复 发表于 2021-9-13 20:00
回复

使用道具 举报

12#
 楼主| 发表于 2021-9-13 20:00:01 | 只看该作者
本帖最后由 wintoflash 于 2021-9-13 20:01 编辑
求道者 发表于 2021-9-13 18:06
直接用LINUX主线的exfat驱动吧。
这个驱动太旧了。

主要是没有libc,只能移植一些适合嵌入式的垃圾驱动。
目前在移植musl libc。
等到弄好libc,就啥都简单了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-23 14:21

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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