无忧启动论坛

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

[分享] 不用工具两步制作免格式化的Linux+winpe多启动U盘

  [复制链接]
跳转到指定楼层
1#
发表于 2020-2-19 19:08:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前言:我之前没用过Linux,是最近给iPhone7的ios13.3.1系统越狱接触到的。搜索到了一篇制作Linux启动U盘,然后在Linux环境下用checkra1n软件越狱的文章,其楼主提供了一个安装好checkra1n的小型Linux的ISO,因为这是不完美越狱以后每次重启iPhone都要U盘启动Linux重越一次,所以要保留这个Linux的启动U盘,而我又想在同一块U盘上做一个winpe后续维护和安装Windows,这就有了收集资料完成的这篇文章。新人一个,权当记录已被以后查看。按照下面红字操作即可,蓝字为我有疑惑的部分,留待以后验证,欢迎论指教

平台:Windows
工具:下载的小型Linux的ISO
          微pe制作的windowsPE的iso
原理:先安装小型Linux后安装WindowsPE,在Linux的引导文件grub.cfg中添加WindowsPE的启动项bootx64.efi的路径
步骤:
1.将两个ISO按先Linux后winpe的顺序先后解压到U盘根目录,并重命名同名文件BOOTx64.EFI为BOOTx642.EFI(这就是WindowsPE的引导文件)
(因先有Linux平台的同名文件夹下的同名文件EFI/boot/BOOTx64.EFI,所以解压微pe时需将windows平台的BOOTx64.EFI重命名。Linux下的这个同名BOOTx64.EFI文件是不是引导Linux必须的?可不可以覆盖?)
(如有多个同名文件,则重命名文件夹,在下一步填写这个文件夹路径)
2.打开boot/grub/grub.cfg(这是Linux的引导文件)
找到下面的代码:


menuentry......
......
......
}

(中间省略部分为原有Linux启动项)
在该项结尾处另起一行添加windowsPE的引导项并保存:


menuentry "Windows PE" --class=windows  --hotkey=1 {
    chainloader /EFI/boot/BOOTx642.EFI
}

(路径填写上一步解压并重命名的WindowsPE引导文件的位置)
完。

PS.解压到U盘根目录一般就不会出现下面的错误提示:
如果引导PE时,提示缺少bcd文件,则需要确保bcd文件存放路径是U盘盘符\EFI\MICROSOFT\BOOT\bcd(这个路径是以微pe为例,不知道其他PE如何,是不是统一规定好的?
(如果还是出错,则需要确保设备文件WEPE64.WIM镜像存放在符合BCD记录的对应位置?以微pe为例,BCD记录路径为\WEPE\WEPE64.WIM,可以通过用bootice软件-bcd编辑-其他BCD文件-打开U盘下的BCD文件-智能编辑模式,来查看记录的路径)(或者也可以编辑BCD重新指定wim镜像的路径?

评分

参与人数 3无忧币 +15 收起 理由
lookerJ + 5 很给力!
某些人 + 5 赞一个!
新空气 + 5 神马都是浮云

查看全部评分

2#
发表于 2020-2-19 20:19:38 | 只看该作者
楼主的小linux是哪来的?可否分享
回复

使用道具 举报

3#
 楼主| 发表于 2020-2-19 20:30:46 | 只看该作者
我在这个帖子下的 https://www.feng.com/post/12896620 这是整合checkra1n用来给iPhone越狱的,没有多少其他软件,不推荐越狱以外用途
回复

使用道具 举报

4#
发表于 2020-2-20 00:37:22 | 只看该作者
本帖最后由 hilsonma 于 2020-2-20 00:38 编辑
Linux下的这个同名BOOTx64.EFI文件是不是引导Linux必须的?可不可以覆盖?

linux下的这个bootx64.efi是引导linux的启动文件,不能用windows下的bootx64.efi覆盖
可以用其他grub2的启动文件覆盖,但要确认使用/boot/grub/grub.cfg配置引导,或者重新配置引导
如果引导PE时,提示缺少bcd文件,则需要确保bcd文件存放路径是U盘盘符\EFI\MICROSOFT\BOOT\bcd(这个路径是以微pe为例,不知道其他PE如何,是不是统一规定好的?)

微软的bootx64.efi (实际就是bootmgfw.efi)默认bcd文件存放路径为跟bootx64.efi 同一个文件夹,或者同一个分区下的 \efi\microsoft\boot\bcd
需要确保设备文件WEPE64.WIM镜像存放在符合BCD记录的对应位置?

那是肯定的
或者也可以编辑BCD重新指定wim镜像的路径?

是的,可以编辑bcd重新指定wim镜像的路径。
总之bcd指定的wim路径与实际wim的路径要一到致,bcd文件要跟efi文件同一个文件夹或在同一个分区的\efi\microsoft\boot


你这个免格式化启动的前提是u盘分区是主板支持的文件系统,目前一般是只支持fat格式的,如果你的u盘是ntfs格式而不是fat32格式,那就只有部分主板支持,目前很多主板还是不支持的。
回复

使用道具 举报

5#
 楼主| 发表于 2020-2-20 01:07:31 | 只看该作者
谢谢楼上的细致解答,终于明白了,比我自己到处查资料、尝试好很多,作为自己一个人偶尔用的U盘也足够了

点评

我刚才试过,你这个linux可以只提取casper 和preseed 这两个文件夹到u盘根目录 然后grub2如下引导: search -n -s -f /casper/vmlinuz linux /casper/vmlinuz file=/cdrom/preseed/custom.seed boot=casper iso-s  详情 回复 发表于 2020-2-20 01:27
回复

使用道具 举报

6#
发表于 2020-2-20 01:27:08 | 只看该作者
本帖最后由 hilsonma 于 2020-2-20 01:38 编辑
yty 发表于 2020-2-20 01:07
谢谢楼上的细致解答,终于明白了,比我自己到处查资料、尝试好很多,作为自己一个人偶尔用的U盘也足够了

我刚才试过,你这个linux可以只提取casper 和preseed 这两个文件夹到u盘根目录
然后grub2如下引导:
search -n -s -f /casper/vmlinuz
linux /casper/vmlinuz file=/cdrom/preseed/custom.seed boot=casper iso-scan/filename=${iso_path} quiet splash --
initrd /casper/initrd.gz

附件是我的启动方案,将附件的efi 和 pe 这两个文件夹提取放到u盘根目录
将你这个linux 也提取 casper 和 preseed 这两个文件夹放到u盘根目录
再将你喜欢的pe wim镜像改名为pe.wim 放到u盘根目录
就可以用这个u盘启动,菜单第一项进windows,第二项进pe,第三项进u盘pe目录自动菜单,选择CheckRa1n.cfg就会进你的linux.
u.7z (953.31 KB, 下载次数: 17)

点评

yty
按照兄台的方式成功进入u盘上的pe和Linux,更加精简。但无法进入硬盘的win10, 选择0.Windows 出现/Windows/boot/efi/bootmgfw.efi 选择后出现3行选项 memdisk loop hd0,gpt1 分别点进去要么是循环,要么  详情 回复 发表于 2020-2-20 14:43
回复

使用道具 举报

7#
发表于 2020-2-20 07:31:57 来自手机 | 只看该作者
lubuntu这么小,有点意思,下来看看。
回复

使用道具 举报

8#
 楼主| 发表于 2020-2-20 14:43:01 | 只看该作者
hilsonma 发表于 2020-2-20 01:27
我刚才试过,你这个linux可以只提取casper 和preseed 这两个文件夹到u盘根目录
然后grub2如下引导:
se ...

按照兄台的方式成功进入u盘上的pe和Linux,更加精简。但无法进入硬盘的win10,

选择0.Windows
出现/Windows/boot/efi/bootmgfw.efi
选择后出现3行选项
memdisk
loop
hd0,gpt1
分别点进去要么是循环,要么是浏览U盘,应该怎么启动Windows?

grub.cfg和BOOTx64.EFI之间是什么关系,只有BOOTx64.EFI没有grub.cfg也能引导吗?

如果我想修改grub菜单,比如删掉第一项的进Windows,是编辑BOOTx64.EFI文件吗,用什么软件方便编辑呢?如果需要更加精深的知识就算了

点评

不对,按你反馈的情况,只出现3行 memdisk loop hd0,gpt1 那就是没有识别到Win10分区 你选择hd0,gpt1这项看内容是不是硬盘的efi分区 是的话应该有efi文件夹 下来有microsoft 再下来boot 再下来bootmgfw.efi  详情 回复 发表于 2020-2-20 20:30
我忘记了一个文件 把附件的bcd放到win10所在分区的 \Windows\Boot\EFI\ 就可以了。 grub.cfg 是grub2的bootx64.efi 的配置文件 只有bootx64.efi没有grub.cfg是因为我把grub.cfg封装到bootx64.efi了,生成了一  详情 回复 发表于 2020-2-20 20:06
回复

使用道具 举报

9#
发表于 2020-2-20 20:06:08 | 只看该作者
本帖最后由 hilsonma 于 2020-2-20 20:16 编辑
yty 发表于 2020-2-20 14:43
按照兄台的方式成功进入u盘上的pe和Linux,更加精简。但无法进入硬盘的win10,

选择0.Windows

我忘记了一个文件
把附件的bcd提取出来放到win10所在分区的 \Windows\Boot\EFI\ 就可以了。
bcd.7z (977 Bytes, 下载次数: 7)

grub.cfg 是grub2的bootx64.efi 的配置文件
只有bootx64.efi没有grub.cfg是因为我把grub.cfg封装到bootx64.efi了,生成了一个单文件的bootx64.efi
参见http://bbs.wuyou.net/forum.php?mod=viewthread&tid=418534

封装成单文件别人无法修改,没有封装的grub.cfg才可以修改。
要修改的请使用下面这个没有封装的(用附件的efi文件夹代替之前的efi文件夹)
efi.7z (822.76 KB, 下载次数: 33)
你之前看到的loop里的内容,就是封装的内容,跟efi.7z里\efi\grub文件夹里的内容是一样的。
用没有封装的版本就看不到memdisk 和 loop ,这两个是grub2 临时生成的内存盘(虚拟盘)。
回复

使用道具 举报

10#
发表于 2020-2-20 20:30:51 | 只看该作者
yty 发表于 2020-2-20 14:43
按照兄台的方式成功进入u盘上的pe和Linux,更加精简。但无法进入硬盘的win10,

选择0.Windows

不对,按你反馈的情况,只出现3行
memdisk
loop
hd0,gpt1
那就是没有识别到Win10分区
你选择hd0,gpt1这项看内容是不是硬盘的efi分区
是的话应该有efi文件夹
下来有microsoft
再下来boot
再下来bootmgfw.efi
选中bootmgfw.efi也能进win10
如果是这种情况的话那我这个启动方案不是很适合你用,请改用其他方案。

点评

yty
我是固态硬盘,不知道有没有关系。尝试几次,感觉可能和win10的快速启动有关。 开启微软休眠、快速启动功能,这时候重启用U盘启动进入grub,选择 0.Windows>>/Windows/boot/efi/bootmgfw.efi>>能识别U盘和硬盘  详情 回复 发表于 2020-2-20 21:54
回复

使用道具 举报

11#
 楼主| 发表于 2020-2-20 21:54:29 | 只看该作者
hilsonma 发表于 2020-2-20 20:30
不对,按你反馈的情况,只出现3行
memdisk
loop

我是固态硬盘,不知道有没有关系。尝试几次,感觉可能和win10的快速启动有关。

开启微软休眠、快速启动功能,这时候重启用U盘启动进入grub,选择

0.Windows>>/Windows/boot/efi/bootmgfw.efi>>能识别U盘和硬盘的盘符列表,
然后得手动一层层进入C:\Windows\Boot\EFI目录选择bootmgfw.efi启动硬盘的win10,
理想情况是不是点击这一项就自动进入系统?

而如果彻底关机,再用U盘启动,就识别不出硬盘。

点评

yty
能修改启动项就已经达到我的目标了,要进win10在grub里重启然后拔掉U盘也一样。  详情 回复 发表于 2020-2-20 21:57
回复

使用道具 举报

12#
 楼主| 发表于 2020-2-20 21:57:15 | 只看该作者
yty 发表于 2020-2-20 21:54
我是固态硬盘,不知道有没有关系。尝试几次,感觉可能和win10的快速启动有关。

开启微软休眠、快速启 ...

能修改启动项就已经达到我的目标了,要进win10在grub里重启然后拔掉U盘也一样。
回复

使用道具 举报

13#
发表于 2020-2-20 22:11:17 | 只看该作者
谢谢楼主分享         
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 07:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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