无忧启动论坛

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

[分享] 我这样制作启动U盘

    [复制链接]
61#
发表于 2020-3-18 21:01:54 | 只看该作者
回复

使用道具 举报

62#
发表于 2020-3-18 23:21:43 | 只看该作者
学习了,以前一直很混乱,现在思路清晰了
回复

使用道具 举报

63#
发表于 2020-3-20 16:57:27 | 只看该作者
h大 打扰您一下  按照这个方法我是应该把efi文件夹和pe.wim放到隐藏区 还是把efi里的boot文件夹和pewim放隐藏区 我都试了 都不成功 能帮忙分析一下吗 不胜感激
回复

使用道具 举报

64#
发表于 2020-3-20 18:37:36 | 只看该作者
qiyuexx 发表于 2020-3-20 16:57
h大 打扰您一下  按照这个方法我是应该把efi文件夹和pe.wim放到隐藏区 还是把efi里的boot文件夹和pewim放隐 ...

已经搞定了

点评

搞定就好。我今天下午没有上来看所以没有及时回复。 efi文件夹放在efi分区也就是fat分区,不管是不是隐藏的。 pe.wim放efi区或数据区都可以,如果是隐藏的efi区会更好些。 当然,如果是容量小的U盘,efi区同数据  详情 回复 发表于 2020-3-20 20:29
回复

使用道具 举报

65#
 楼主| 发表于 2020-3-20 20:29:31 | 只看该作者

搞定就好。我今天下午没有上来看所以没有及时回复。
efi文件夹放在efi分区也就是fat分区,不管是不是隐藏的。
pe.wim放efi区或数据区都可以,如果是隐藏的efi区会更好些。
当然,如果是容量小的U盘,efi区同数据区可以是同一个分区,也就是只有一个fat32分区。
这些都是看你原来的分区结构而定,也可以灵活部署。
回复

使用道具 举报

66#
发表于 2020-3-21 07:48:54 | 只看该作者
谢谢楼主分享!
回复

使用道具 举报

67#
发表于 2020-3-23 13:30:14 | 只看该作者
hilsonma 发表于 2020-3-20 20:29
搞定就好。我今天下午没有上来看所以没有及时回复。
efi文件夹放在efi分区也就是fat分区,不管是不是隐 ...

感谢h大回复
回复

使用道具 举报

68#
发表于 2020-3-25 11:41:19 | 只看该作者
谢谢分享
回复

使用道具 举报

69#
发表于 2020-3-25 14:06:38 | 只看该作者
H大 打扰您一下 有时间能不能出一个win10pe+Clonezilla合盘的教程 找了好多地方 都超级复杂 打扰了

点评

就用1楼和2楼的启动方案,你只需将win10pe的镜像和clonezilla的镜像放到u盘(或者任意一个分区)的根目录下的pe目录中,然后使用启动方案中的第三项菜单Menu /pe 找到你要启动的镜像按回车就可以启动了。 pe镜像可  详情 回复 发表于 2020-3-25 20:37
回复

使用道具 举报

70#
 楼主| 发表于 2020-3-25 20:37:47 | 只看该作者
本帖最后由 hilsonma 于 2020-3-25 21:43 编辑
qiyuexx 发表于 2020-3-25 14:06
H大 打扰您一下 有时间能不能出一个win10pe+Clonezilla合盘的教程 找了好多地方 都超级复杂 打扰了

就用1楼和2楼的启动方案,你只需将win10pe的镜像和clonezilla的镜像放到u盘(或者任意一个分区)的根目录下的pe目录中,然后使用启动方案中的第三项菜单Menu /pe 找到你要启动的镜像按回车就可以启动了。

pe镜像可以是iso也可以是wim。
clonezilla镜像是iso
如果不想要iso的光盘启动菜单,可以提取iso中的live文件夹放到u盘(或者任意一个分区)的根目录下,并在pe目录下放两个启动配置文件,uefi的可以叫做clonezilla.cfg,bios的可以叫做clonezilla.lst,要启动clonezilla时只要使用菜单Menu /pe找到相应的启动配置文件按回车就可以了。

使用启动配置文件比直接使用iso文件要复杂一点,好处是不需要选择一次iso菜单,直接进入clonezilla。(如果不提取live直接使用iso,进去iso后首先会出现一个光盘菜单的。)

附clonezilla.cfg的内容:
  1. search --set -f /live/vmlinuz
  2. linux /live/vmlinuz boot=live union=overlay username=user config components quiet noswap edd=on nomodeset enforcing=0 noeject locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  3. initrd /live/initrd.img
复制代码

clonezilla.lst的内容:
  1. find --set-root --devices=h /live/vmlinuz
  2. kernel /live/vmlinuz boot=live union=overlay username=user config components quiet noswap edd=on nomodeset enforcing=0 noeject locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  3. module /live/initrd.img
复制代码


补充一下:如果不使用clonezilla的iso镜像而提取live文件夹,在启动clonezilla的时候是要用图形终端的,1楼的引导文件是文字终端,请用附件图形引导文件代替。
esp_gfx.7z (1.96 MB, 下载次数: 37)
回复

使用道具 举报

71#
发表于 2020-3-27 09:31:25 | 只看该作者
hilsonma 发表于 2020-3-25 20:37
就用1楼和2楼的启动方案,你只需将win10pe的镜像和clonezilla的镜像放到u盘(或者任意一个分区)的根目录下 ...

十分感谢H大大 我按照您说的去研究一下
回复

使用道具 举报

72#
发表于 2020-4-8 22:56:48 | 只看该作者
hilsonma 发表于 2020-3-16 17:49
谢谢。我搜到一些答案,但说的解决办法是换内存和更新bios。
奇怪的是我用20200229的grub2没有问题,用 ...

这个问题是UEFI中内存碎片过多,很多时候是UEFI的BIOS或者bootloader申请释放内存的正常操作导致的。其实并不算是问题。就是Windows太矫情,碎片数超过512就会报错,Linux上面都不会管这些。本来这些内存大部分进入OS之后就是会被重新管理分配的。

这个问题也是能破的,就是比较麻烦。只简单说下,就是在启动windows之前,查看UEFI的memmap,把中间有空洞的空闲内存给申请走。这样就让整个系统中的碎片数降下来,就能过。





点评

我不懂这些操作。有没有进一步的提示或者直接出手。  详情 回复 发表于 2020-4-8 23:09
回复

使用道具 举报

73#
发表于 2020-4-8 23:03:05 | 只看该作者
需要点时间
回复

使用道具 举报

74#
 楼主| 发表于 2020-4-8 23:09:44 | 只看该作者
longpanda 发表于 2020-4-8 22:56
这个问题是UEFI中内存碎片过多,很多时候是UEFI的BIOS或者bootloader申请释放内存的正常操作导致的。其实 ...
就是在启动windows之前,查看UEFI的memmap,把中间有空洞的空闲内存给申请走。这样就让整个系统中的碎片数降下来,就能过。


我不懂这些操作。有没有进一步的提示或者直接出手。

点评

我最近搞Ventoy实在没时间搞,或者可以请 @wintoflash 大出手 不过这个和特定主板BIOS也有关系,而且是Windows这个矫情货,搞起来也没多大意思。  详情 回复 发表于 2020-4-8 23:16
回复

使用道具 举报

75#
发表于 2020-4-8 23:16:13 | 只看该作者
hilsonma 发表于 2020-4-8 23:09
我不懂这些操作。有没有进一步的提示或者直接出手。

我最近搞Ventoy实在没时间搞,或者可以请  @wintoflash  大出手    不过这个和特定主板BIOS也有关系,而且是Windows这个矫情货,搞起来也没多大意思。

点评

他也没那个时间,而你后面这话才更关键。 我就是一小白,你再进一步提示我该看哪些资料该学什么知识有可能解决,或者说一声现阶段我没你们那个水平就解决不了那我也好死心。  详情 回复 发表于 2020-4-8 23:21
回复

使用道具 举报

76#
 楼主| 发表于 2020-4-8 23:21:01 | 只看该作者
本帖最后由 hilsonma 于 2020-4-8 23:27 编辑
longpanda 发表于 2020-4-8 23:16
我最近搞Ventoy实在没时间搞,或者可以请  @wintoflash  大出手    不过这个和特定主板BIOS也有 ...

他也没那个时间,而你后面这话才更关键。

我就是一小白,你再进一步提示我该看哪些资料该学什么知识有可能解决,或者说一声现阶段我没你们那个水平就解决不了那我也好死心。


你就告诉我,需要什么知识才会“查看UEFI的memmap”,要学会什么技能才能“把中间有空洞的空闲内存给申请走”,学个十天八天或者个把月能不能达成。

点评

如果楼主有UEFI的基础,会写一个简单的helloworld的EDK的Application Module的话,应该是可以解决的。如果之前没有UEFI的基础,可能就有一些门槛了。而且这个问题和特定BIOS也有一定关系,那样我就建议你不要去搞了  详情 回复 发表于 2020-4-8 23:24
回复

使用道具 举报

77#
发表于 2020-4-8 23:24:59 | 只看该作者
hilsonma 发表于 2020-4-8 23:21
他也没那个时间,而你后面这话才更关键。

我就是一小白,你再进一步提示我该看哪些资料该学什么知识有 ...

如果楼主有UEFI的基础,会写一个简单的helloworld的EDK的Application Module的话,应该是可以解决的。如果之前没有UEFI的基础,可能就有一些门槛了。而且这个问题和特定BIOS也有一定关系,那样我就建议你不要去搞了。

点评

【hilsonma】谦虚的态度令人敬佩!  详情 回复 发表于 2020-4-13 22:27
这样说我明白了,你所说的我真的一窍不通,只能放弃了。感谢你的解答。  详情 回复 发表于 2020-4-8 23:28
回复

使用道具 举报

78#
 楼主| 发表于 2020-4-8 23:28:54 | 只看该作者
longpanda 发表于 2020-4-8 23:24
如果楼主有UEFI的基础,会写一个简单的helloworld的EDK的Application Module的话,应该是可以解决的。如 ...

这样说我明白了,你所说的我真的一窍不通,只能放弃了。感谢你的解答。

点评

1) 换 Win8/8.1 的 bootmgfw.efi 试试。 2) 进 grub 控制台 执行以下命令,截图。(需要 lsefimmap 模块) set pager=1 lsefimmap  详情 回复 发表于 2020-4-9 08:34
回复

使用道具 举报

79#
发表于 2020-4-9 08:34:33 | 只看该作者
本帖最后由 wintoflash 于 2020-4-9 08:36 编辑
hilsonma 发表于 2020-4-8 23:28
这样说我明白了,你所说的我真的一窍不通,只能放弃了。感谢你的解答。

1) 换 Win8/8.1 的 bootmgfw.efi 试试。
2) 进 grub 控制台 执行以下命令,截图(输出有好几页)。(需要 lsefimmap 模块)
        set pager=1
        lsefimmap

点评

图是截出来了,但是不会看。 刚新下载的grub2,就是启动失败的,截图18张,共573行(纯地址段,不含表头) [attachimg]415887[/attachimg] 之前的老版本,就是能正常启动的,截图13张,共309行(纯地址段,不含表  详情 回复 发表于 2020-4-10 07:52
回复

使用道具 举报

80#
发表于 2020-4-9 13:53:37 来自手机 | 只看该作者
呃现在就一个启动iso的pe写入u盘,其他的pe 扔iso目录下就可以了
回复

使用道具 举报

81#
 楼主| 发表于 2020-4-10 07:52:39 | 只看该作者
本帖最后由 hilsonma 于 2020-4-10 08:29 编辑
wintoflash 发表于 2020-4-9 08:34
1) 换 Win8/8.1 的 bootmgfw.efi 试试。
2) 进 grub 控制台 执行以下命令,截图(输出有好几页)。(需要 l ...

图是截出来了,但是不会看。

看得出从b020000那一段开始不一样。最后5行是一样的。
启动失败的,573-5=568,是超过了512,但不懂哪些是空闲的,怎样申请走
启动成功的,309-5=304,是分段少了很多。


刚新下载的grub2,就是启动失败的,截图18张,共573行(纯地址段,不含表头,最后5行是总结)


。。。
。。。


之前的老版本,就是能正常启动的,截图13张,共309行(纯地址段,不含表头,最后5行是总结)


。。。
。。。

点评

试试这个模块。 然后再执行其他的 比如启动 Windows。 [attachimg]416038[/attachimg]  详情 回复 发表于 2020-4-11 16:06
回复

使用道具 举报

82#
发表于 2020-4-11 16:06:08 | 只看该作者
本帖最后由 wintoflash 于 2020-4-11 16:09 编辑
hilsonma 发表于 2020-4-10 07:52
图是截出来了,但是不会看。

看得出从b020000那一段开始不一样。最后5行是一样的。
你这个固件有毒啊,搞出这么多 16KB 4KB 的碎片。
fixmmap.7z (944 Bytes, 下载次数: 5)
试试这个模块。
  1. insmod /fixmmap
  2. fixmmap
复制代码

然后再执行其他的 比如启动 Windows。

此模块会占用所有小于 100MB 的可用内存片段。


点评

有fixmmap刷屏,但问题依旧。使用lsefimmap查看还是有18页,照样很多4k,8k16k的。  详情 回复 发表于 2020-4-11 16:29
回复

使用道具 举报

83#
 楼主| 发表于 2020-4-11 16:29:27 | 只看该作者
wintoflash 发表于 2020-4-11 16:06
你这个固件有毒啊,搞出这么多 16KB 4KB 的碎片。

试试这个模块。

有fixmmap刷屏,但问题依旧。使用lsefimmap查看还是有18页,照样很多4k,8k16k的。
回复

使用道具 举报

84#
发表于 2020-4-11 16:36:39 | 只看该作者
执行完 fixmmap 之后截图。

点评

grub.cfg里执行过fxmmap后在命令行再执行的截图: [attachimg]416047[/attachimg] [attachimg]416048[/attachimg] [attachimg]416049[/attachimg] ... ... grub.cfg里没有执行过fxmmap,在命令行执行的截  详情 回复 发表于 2020-4-11 16:59
回复

使用道具 举报

85#
 楼主| 发表于 2020-4-11 16:59:27 | 只看该作者
wintoflash 发表于 2020-4-11 16:36
执行完 fixmmap 之后截图。

grub.cfg里执行过fxmmap后在命令行再执行的截图:




...
...

grub.cfg里没有执行过fxmmap,在命令行执行的截图:



...
...




...
...
回复

使用道具 举报

86#
发表于 2020-4-11 17:07:17 | 只看该作者
那就奇怪了。看起来小的片段都已经被填上了。
显示 "conv-mem" 的是可用内存。填充之后就变成了 "ldr-data"。
那我也没办法了。

点评

使用AllocatePage,以EFI_ALLOCATE_ADDRESS 指定地址,使用 EFI_BOOT_SERVICE_DATA 类型进行申请,就可以填平中间的缝隙。我早先之前是这样临时解决这个问题的。代码找不着了,我记得是这样。  详情 回复 发表于 2020-4-12 13:30
虽然没办法,还是感谢帮忙,你已经努力了,谢谢。  详情 回复 发表于 2020-4-11 18:39
虽然没办法,还是感谢帮忙,你已经努力了,谢谢。  详情 回复 发表于 2020-4-11 18:39
回复

使用道具 举报

87#
 楼主| 发表于 2020-4-11 18:39:14 | 只看该作者
wintoflash 发表于 2020-4-11 17:07
那就奇怪了。看起来小的片段都已经被填上了。
显示 "conv-mem" 的是可用内存。填充之后就变成了 "ldr-data ...

虽然没办法,还是感谢帮忙,你已经努力了,谢谢。
回复

使用道具 举报

88#
发表于 2020-4-12 13:30:28 | 只看该作者
wintoflash 发表于 2020-4-11 17:07
那就奇怪了。看起来小的片段都已经被填上了。
显示 "conv-mem" 的是可用内存。填充之后就变成了 "ldr-data ...

使用AllocatePage,以EFI_ALLOCATE_ADDRESS 指定地址,使用 EFI_BOOT_SERVICE_DATA 类型进行申请,就可以填平中间的缝隙。我早先之前是这样临时解决这个问题的。代码找不着了,我记得是这样。

点评

EfiLoaderData 不行吗,非得是 EfiBootServicesData? @hilsonma 试试?  详情 回复 发表于 2020-4-12 14:18
回复

使用道具 举报

89#
发表于 2020-4-12 14:18:19 | 只看该作者
longpanda 发表于 2020-4-12 13:30
使用AllocatePage,以EFI_ALLOCATE_ADDRESS 指定地址,使用 EFI_BOOT_SERVICE_DATA 类型进行申请,就可以 ...

EfiLoaderData 不行吗,非得是 EfiBootServicesData?
@hilsonma 试试? fixmmap.tar.gz (1 KB, 下载次数: 3)


点评

成功启动,非常感谢!!! 终于可以用上最新版的grub2了!!! fixmmap前lsefimmap有18页,这次fixmmap后lsefimmap只有9页,成功启动。  详情 回复 发表于 2020-4-12 18:28
loader data 和 bsdata系统不会给你合并在一起。 从前面的截图看好像也是如此  详情 回复 发表于 2020-4-12 15:30
回复

使用道具 举报

90#
发表于 2020-4-12 15:30:06 | 只看该作者
wintoflash 发表于 2020-4-12 14:18
EfiLoaderData 不行吗,非得是 EfiBootServicesData?
@hilsonma 试试?

loader data 和 bsdata系统不会给你合并在一起。
从前面的截图看好像也是如此
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 23:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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