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

[分享] boot.sdi 的制作方法

   火.. [复制链接]
发表于 2020-7-2 15:19:28 | 显示全部楼层 |阅读模式
本帖最后由 wintoflash 于 2020-7-2 15:20 编辑

目前网上好像没有 NT6+ boot.sdi 的制作教程,花了半天的时间研究了一下。
1GB 的 boot.sdi 下载: boot.sdi.zip (1.33 MB, 下载次数: 542)

SDI 文件结构:

文件头 (至少 4096 字节)
  1. struct SDI_header
  2. {
  3.   char magic[4]; // '$SDI'
  4.   char version[4]; // '0001'
  5.   uint64_t MDBtype; // 0x00
  6.   uint64_t BootCodeOffset; // 0x00
  7.   uint64_t BootCodeSize; // 0x00
  8.   uint64_t VendorID; // 0x00
  9.   uint64_t DeviceID; // 0x00
  10.   guid_t DeviceModel;  // 0x00
  11.   uint64_t DeviceRole; // 0x00
  12.   uint64_t Reserved1; // 0x00
  13.   guid_t RuntimeGUID; // 0x00
  14.   uint64_t RuntimeOEMrev; // 0x00
  15.   uint64_t Reserved2; // 0x00
  16.   uint64_t PageAlignment; // BLOB alignment value in pages
  17.   uint64_t Reserved3[48]; // 0x00
  18.   uint64_t Checksum;
  19. } __attribute__ ((packed));
复制代码

对于 NT6+ 的 boot.sdi,除了 checksum 和 PageAlignment ,其他的全部填零。
官方的 boot.sdi,PageAlignment 为 2 (8192),校验码为 0x39,
1.png
300KB 的 boot.sdi,PageAlignment 为 1 (4096),校验码为 0x3a,
2.png

BLOB 目录,位于 0x400 处
  1. struct SDI_TOC_record
  2. {
  3.   char BLOBtype[8]; // 3-4 bytes UPPERCASE value, 0-padded
  4.   uint64_t Attr; //0x00
  5.   uint64_t Offset;
  6.   uint64_t Size;
  7.   uint64_t BaseAddress;
  8.   uint64_t Reserved[3];
  9. } __attribute__ ((packed));
复制代码

每条记录的长度均为 0x40,以一个空的记录作为目录的结尾。
BLOBtype 为 blob 的类型,例如 PART,WIM。
Offset 是 blob 在 boot.sdi 中的偏移。
Size 是 blob 的大小除以 256,注意对齐。
对于 PART 类型的 blob,BaseAddress 记录了分区镜像的文件系统 ID,NTFS 为 0x07。
在 boot.sdi 中,一共只有两个 blob 条目。
第一个是 ntfs 镜像,
1.png
第二个是 wim 镜像,
2.png
WIM镜像的 Offset 填 boot.sdi 的总长度,Size 填 0。

接下来是 ntfs 镜像,如果 sdi 文件的长度不满足对齐要求,必须填充一些空数据。
  1. dd if=/dev/zero of=sdi.img bs=1M count=1024
  2. mkfs.ntfs -F sdi.img
复制代码

最后依次合并如下文件,按 sdi.header, sdi.toc, sdi.img, sdi.end 的顺序,生成 boot.sdi
  1. cat sdi.header sdi.toc sdi.img sdi.end > boot.sdi
复制代码

sdi.zip (374 Bytes, 下载次数: 410)

参考:
https://skolk.livejournal.com/1591.html
https://skolk.livejournal.com/1320.html


评分

参与人数 12无忧币 +64 收起 理由
sunsea + 10 很给力!
w8yug + 1 很给力!
wuxin9712 + 5
sanshen3 + 5 很给力!
易广白 + 5 赞一个!
freesoft00 + 5
zhczf + 5 很给力!
xlshn + 5 很给力!
2012andyle113 + 3 很给力!
朱玛12345678 + 10 不错的技术帖
879792799 + 5 很给力!
ksafei + 5 很给力!

查看全部评分

发表于 2020-7-2 15:41:51 | 显示全部楼层
前排支持
回复

使用道具 举报

发表于 2020-7-2 16:31:06 | 显示全部楼层
本帖最后由 2012andyle113 于 2020-7-2 16:35 编辑

技术党,不明觉厉,还以为什么情况,1G的boot.sdi,原来是做了个1G大小的文件


回复

使用道具 举报

发表于 2020-7-2 16:49:24 | 显示全部楼层
SDI 怪格式,
收入侦测文件格式.
回复

使用道具 举报

发表于 2020-7-2 21:05:37 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2020-7-2 21:54:49 | 显示全部楼层
x86启动的WIM文件有大小限制,是不是也是BOOT.SDI判断的?还有X盘最大容量x86也只是1G,和这个有关没?

点评

x86的X盘早都可以设置4GB了。  发表于 2020-7-5 11:53
没看出来 X盘容量和 boot.sdi 的大小有明显关系。  详情 回复 发表于 2020-7-3 10:40
回复

使用道具 举报

发表于 2020-7-3 00:11:05 | 显示全部楼层
感謝大大學習中
回复

使用道具 举报

发表于 2020-7-3 08:17:20 | 显示全部楼层
希望此信息足以编写您自己的sdimgr开源版本
回复

使用道具 举报

 楼主| 发表于 2020-7-3 10:40:58 | 显示全部楼层
红毛樱木 发表于 2020-7-2 21:54
x86启动的WIM文件有大小限制,是不是也是BOOT.SDI判断的?还有X盘最大容量x86也只是1G,和这个有关没?

没看出来 X盘容量和 boot.sdi 的大小有明显关系。
回复

使用道具 举报

发表于 2020-7-3 10:51:40 | 显示全部楼层
做这么大一个是啥用途?

点评

做实验 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=421202&extra=  详情 回复 发表于 2020-7-3 11:12
回复

使用道具 举报

 楼主| 发表于 2020-7-3 11:12:44 | 显示全部楼层
回复

使用道具 举报

发表于 2020-7-3 13:25:59 | 显示全部楼层
感谢分享
回复

使用道具 举报

 楼主| 发表于 2020-7-4 15:35:27 | 显示全部楼层

机器人刷帖?
回复

使用道具 举报

发表于 2020-7-4 18:51:11 | 显示全部楼层
干啥用的,
弄pe启动?
回复

使用道具 举报

发表于 2020-7-5 11:21:36 | 显示全部楼层
test

评分

参与人数 6无忧币 -31 收起 理由
xuziyi -5 山寨
autorun.inf -1 山寨
sskgaiqny -5 山寨
pewors -5 山寨
zhxy9804 -10 山寨
wintoflash -5

查看全部评分

回复

使用道具 举报

发表于 2020-10-12 19:20:33 | 显示全部楼层
很好,所交
回复

使用道具 举报

发表于 2020-10-26 11:16:00 | 显示全部楼层
前排支持
回复

使用道具 举报

发表于 2020-11-9 17:53:39 | 显示全部楼层
大神能不能具体介绍一下这个文件的用法,用到什么地方,有什么特别的地方,注意的地方等,联合Grub4dos一起用怎么使用等等。期待大神的帖子。
回复

使用道具 举报

发表于 2020-11-9 18:23:58 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2020-12-1 12:37:35 | 显示全部楼层
好好学习
回复

使用道具 举报

发表于 2020-12-8 20:05:27 | 显示全部楼层
那我就再回一贴的了滴了滴了滴了。。。
回复

使用道具 举报

发表于 2021-1-23 14:11:04 | 显示全部楼层
正在找呢,前排支持。
回复

使用道具 举报

发表于 2021-1-31 16:14:21 来自手机 | 显示全部楼层
一直对这个不了解,涨姿势了。
回复

使用道具 举报

发表于 2021-2-6 17:36:39 | 显示全部楼层
学习一下,了解
回复

使用道具 举报

发表于 2021-2-12 08:59:15 | 显示全部楼层

感谢分享
回复

使用道具 举报

发表于 2021-2-24 22:27:05 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2021-2-28 22:19:20 | 显示全部楼层

谢谢分享
回复

使用道具 举报

发表于 2021-5-15 11:09:28 | 显示全部楼层
学习了,感谢
回复

使用道具 举报

发表于 2021-5-26 21:55:02 | 显示全部楼层
楼主辛苦
回复

使用道具 举报

发表于 2021-7-7 17:08:45 | 显示全部楼层
很厉害的分析
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-18 08:58

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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