无忧启动论坛

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

[分享] 我的启动U盘(uefi+bios+wepe骨版,独剑三分区脚本简化制作)

    [复制链接]
241#
发表于 2020-6-7 10:54:05 | 只看该作者
回复

使用道具 举报

242#
发表于 2020-6-13 14:33:55 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

243#
发表于 2020-6-16 19:52:00 | 只看该作者
我太笨了,我想学手动制作

点评

手动制作可参考这个贴子 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=419354  详情 回复 发表于 2020-6-17 05:20
回复

使用道具 举报

244#
 楼主| 发表于 2020-6-17 05:20:08 | 只看该作者
xiumu 发表于 2020-6-16 19:52
我太笨了,我想学手动制作

手动制作可参考这个贴子 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=419354
回复

使用道具 举报

245#
发表于 2020-6-17 07:20:59 | 只看该作者
厉害  学习了 谢谢分享
回复

使用道具 举报

246#
发表于 2020-6-17 07:46:32 | 只看该作者
感谢分享
回复

使用道具 举报

247#
发表于 2020-6-17 13:37:02 | 只看该作者
hilsonma 发表于 2020-6-17 05:20
手动制作可参考这个贴子 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=419354

是这样的,我手上有一块u盘,想做一个启动盘,凤凰系统和uos两种系统,我看了很多帖子,知道可以通过grub2和clover引导,我想知道怎么编辑efi文件的启动项,通过efi文件可以指定我想启动的文件

点评

启动文件改用以下附件: grub.cfg参考以下贴子修改: http://bbs.wuyou.net/forum.php?mod=viewthread&tid=419875  详情 回复 发表于 2020-6-17 17:06
回复

使用道具 举报

248#
 楼主| 发表于 2020-6-17 17:06:23 | 只看该作者
本帖最后由 hilsonma 于 2020-6-17 19:06 编辑
xiumu 发表于 2020-6-17 13:37
是这样的,我手上有一块u盘,想做一个启动盘,凤凰系统和uos两种系统,我看了很多帖子,知道可以通过grub ...

采用手动制作,自动菜单,然后将启动凤凰系统和uos的两个配置文件放到diy文件夹中

启动凤凰系统和uos的两个配置文件参考以下贴子修改:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=419875

或者你将这两个系统文叔叔给我,让我学习一下看怎么引导。

我下了两个ISO镜像放到diy文件夹,启动后是这样:




要安装的我没有试,那个不安装运行凤凰系统试了不成功,一直是Detecting Phoenix OS ................. 不停的冒点,我就放弃了。

点评

直接 map ISO 当然不行。 无论是 Windows 安装镜像/有外置的 PE/有外置squashfs的 Linux 都不能直接 map。  详情 回复 发表于 2020-6-19 09:14
回复

使用道具 举报

249#
发表于 2020-6-17 21:18:56 | 只看该作者
hilsonma 发表于 2020-6-17 17:06
采用手动制作,自动菜单,然后将启动凤凰系统和uos的两个配置文件放到diy文件夹中

启动凤凰系统和uos ...

你能教教我怎么定制efi启动菜单吗,我的想法是这样的,通过efi文件启动grub2的efi文件,这样菜单不是打开了吗,然后通关菜单引导镜像安装,我现在不知道怎么制作想要的efi文件,还有手动制作的文件我也不知道怎么获取,我是一个纯小白,大神有没有详细点的教程,我现在积分少,不敢下附件

点评

U盘启动菜单可以不用制作,直接使用自动菜单。 使用bootice的分区管理将你的U盘分区情况截图给我看看,我再说下一步。  详情 回复 发表于 2020-6-18 07:35
回复

使用道具 举报

250#
 楼主| 发表于 2020-6-18 07:35:41 | 只看该作者
xiumu 发表于 2020-6-17 21:18
你能教教我怎么定制efi启动菜单吗,我的想法是这样的,通过efi文件启动grub2的efi文件,这样菜单不是打开 ...

U盘启动菜单可以不用制作,直接使用自动菜单。

使用bootice的分区管理将你的U盘分区情况截图给我看看,我再说下一步。
回复

使用道具 举报

251#
发表于 2020-6-18 14:05:49 | 只看该作者
hilsonma 发表于 2020-6-18 07:35
U盘启动菜单可以不用制作,直接使用自动菜单。

使用bootice的分区管理将你的U盘分区情况截图给我看看 ...

我u盘没分区,你的教程附件都没下载,我积分太少

点评

你不是说要手动制作吗? 手动制作的第一步就是了解U盘的分区结构呀 UEFI规范是以FAT分区作为引导分区的,但有的主板也支持NTFS引导甚至exfat引导 所以先要看你U盘分区,如果有FAT分区那就可以直接作UEFI引导  详情 回复 发表于 2020-6-19 02:31
回复

使用道具 举报

252#
发表于 2020-6-18 15:09:16 | 只看该作者
hilsonma 发表于 2020-6-18 07:35
U盘启动菜单可以不用制作,直接使用自动菜单。

使用bootice的分区管理将你的U盘分区情况截图给我看看 ...

我把你分享的这个文件uboot.7z,取里面的efi目录复制到u盘,修改配置文件grub.cfg
配置文件内容
set default=0
set fallback=2
set timeout=5

menuentry "0.Windows" "/Windows/Boot/EFI/bootmgfw.efi" --hotkey=0 {
        search --no-floppy --set --file $2
        chainloader $2
}
menuentry "1.PhoenixOS" --hotkey=1 {
        search -n -s -f /PhoenixOS/efi/boot/BOOTx64.EFI
        chainloader /PhoenixOS/efi/boot/BOOTx64.EFI
}
menuentry "2.uos" --hotkey=2 {
        search -n -s -f /uso/uos-20-home-desktop-amd64.iso
        map /uso/uos-20-home-desktop-amd64.iso
}
menuentry "3.重启" --hotkey=3 {reboot}
menuentry "4.关机" --hotkey=4 {halt}

这样配置行吗,另外我想学习这种文件的定制BOOTx64.EFI,怎么让efi文件启动我想启动的引导程序呢,我看大佬有定制教程,能发一份网盘链接吗

点评

学习定制: [attachimg]459826[/attachimg][attachimg]459827[/attachimg] 网盘:hilsonma.ys168.com U盘不会没有分区,没有分区怎么用: [attachimg]459828[/attachimg]  详情 回复 发表于 2020-6-19 02:17
回复

使用道具 举报

253#
 楼主| 发表于 2020-6-19 02:17:52 | 只看该作者
xiumu 发表于 2020-6-18 15:09
我把你分享的这个文件uboot.7z,取里面的efi目录复制到u盘,修改配置文件grub.cfg
配置文件内容
set de ...

学习定制:


网盘:hilsonma.ys168.com

U盘不会没有分区,没有分区怎么用:

回复

使用道具 举报

254#
 楼主| 发表于 2020-6-19 02:31:51 | 只看该作者
本帖最后由 hilsonma 于 2020-6-19 02:45 编辑
xiumu 发表于 2020-6-18 14:05
我u盘没分区,你的教程附件都没下载,我积分太少

你不是说要手动制作吗?
手动制作的第一步就是了解U盘的分区结构呀

UEFI规范是以FAT分区作为引导分区的,但有的主板也支持NTFS引导甚至exfat引导
所以先要看你U盘分区,如果有FAT分区那就可以直接作UEFI引导
如果没有FAT分区,就要看你的U盘要引导什么电脑,如果是要引导不支持NTFS/exFAT作UEFI引导的电脑就必须分出一个FAT分区

U盘分区有各种各样的情况,有的无法用一个脚本完成启动制作,所以我现在都是采用手动制作。
这个贴子是早期分享的,比较适用于U盘是一个NTFS分区的情况,其他情况尤其是涉及exfat分区的话这个脚本不适用,因为这个三分区脚本是基于傲梅分区助手命令行版的,这个版本不支持无损调整exfat分区。
回复

使用道具 举报

255#
发表于 2020-6-19 09:14:27 | 只看该作者
hilsonma 发表于 2020-6-17 17:06
采用手动制作,自动菜单,然后将启动凤凰系统和uos的两个配置文件放到diy文件夹中

启动凤凰系统和uos ...

直接 map ISO 当然不行。
无论是 Windows 安装镜像/有外置的 PE/有外置squashfs的 Linux 都不能直接 map。
回复

使用道具 举报

256#
 楼主| 发表于 2020-6-19 10:27:35 | 只看该作者
wintoflash 发表于 2020-6-19 09:14
直接 map ISO 当然不行。
无论是 Windows 安装镜像/有外置的 PE/有外置squashfs的 Linux 都不能直接 map ...

我一直都是装别人的精简版呀优化版呀,都没有装过原版的安装镜像,用的PE也都是内置的,就算有外置也是附加外置是可选件,所以一直不懂这些引导,可不可以给我一些引导例子学习一下。

点评

map 弄出来的虚拟光驱是固件(BIOS/UEFI)层面上的,只对 bootloader 有效,对 OS 无效。进 OS 之后虚拟光驱就不存在了,OS 就读不到光盘上的东西。 所以必须找到一个方法,把 ISO 的路径 "告诉" OS,让 OS 自己挂载  详情 回复 发表于 2020-6-19 11:14
回复

使用道具 举报

257#
发表于 2020-6-19 11:14:46 | 只看该作者
本帖最后由 wintoflash 于 2020-6-19 11:16 编辑
hilsonma 发表于 2020-6-19 10:27
我一直都是装别人的精简版呀优化版呀,都没有装过原版的安装镜像,用的PE也都是内置的,就算有外置也是附 ...

map 弄出来的虚拟光驱是固件(BIOS/UEFI)层面上的,只对 bootloader 有效,对 OS 无效。进 OS 之后虚拟光驱就不存在了,OS 就读不到光盘上的东西。
所以必须找到一个方法,把 ISO 的路径 "告诉" OS,让 OS 自己挂载 ISO。具体怎么 "告诉",每个系统都不一样,其中原理也不同,写出来就是长篇大论,我估计你也不想看。

我开发了那么长时间的 grub2-filemanager,还有 longpanda 开发 ventoy,都是费了那么多力气,就是要逐个研究。
回复

使用道具 举报

258#
发表于 2020-6-19 11:39:48 | 只看该作者
如果你只是想启动图里面的那两个系统,我可以说一下方法。

PhoenixOS 是基于 android-x86 的,通过 kernel 命令行参数 iso-scan/filename=${iso_path} 传递 ISO 路径
你找到 ISO 里面的 grub/isolinux 菜单,把上面的命令行抄一下,例如 (仅供参考,实际可能不一样,不通用)
  1. androidboot.selinux=permissive androidboot.hardware=android_x86
复制代码

然后,和 kernel 的路径,ISO路径参数组合一下就可以了
  1. menuentry "android-x86" {
  2.     loopback loop ($dev)$iso_path
  3.     linux (loop)/kernel iso-scan/filename=${iso_path} androidboot.selinux=permissive androidboot.hardware=android_x86
  4.     initrd (loop)/initrd.img
  5. }
复制代码


UOS 是基于 Debian 的,通过 kernel 命令行参数 findiso=${iso_path} 传递 ISO 路径
方法类似。
  1. menuentry "UOS" {
  2.     loopback loop ($dev)$iso_path
  3.     linux (loop)/live/vmlinuz findiso=${iso_path} locales=zh_CN.UTF-8 boot=live config username=user
  4.     initrd (loop)/live/initrd.img
  5. }
复制代码


注意,linux 命令加载的 kernel 路径,initrd 命令加载的 initrd 路径,还有启动参数命令要自己从 ISO 里面找,然后加上特殊的 ISO 路径参数。
ISO 路径前面是不带盘符的,因为 Linux 不认 GRUB 盘符。

另外一种方法比较通用,但是使用条件比较苛刻。
要求:ISO 必须位于可写 U 盘上,文件必须连续 (无碎片),必须是 MBR 分区表,第四分区 (hdx,4) 不能被占用。
这样就可以改写分区表,伪造Linux能认的假分区来启动绝大多数 ISO。
示例:
  1. menuentry "Boot Linux ISO" {
  2.     stat --set=frag -c -q (hd0,1)/xxx/xxx.iso
  3.     if [ "${frag}" != "1" ];
  4.     then
  5.         echo "ERROR: File is non-contiguous. (${frag} fragments)"
  6.         sleep 3
  7.     else
  8.         partnew --type=0x00 --file=(hd0,1)/xxx/xxx.iso hd0 4
  9.         map (hd0,1)/xxx/xxx.iso
  10.         boot
  11.     fi
  12. }
复制代码
回复

使用道具 举报

259#
 楼主| 发表于 2020-6-19 12:27:31 | 只看该作者
wintoflash 发表于 2020-6-19 11:14
map 弄出来的虚拟光驱是固件(BIOS/UEFI)层面上的,只对 bootloader 有效,对 OS 无效。进 OS 之后虚拟光 ...

谢谢解惑。让我明白多一些。也对 grub2-filemanager 和 ventoy 有了更多了解。
回复

使用道具 举报

260#
 楼主| 发表于 2020-6-19 12:45:50 | 只看该作者
wintoflash 发表于 2020-6-19 11:39
如果你只是想启动图里面的那两个系统,我可以说一下方法。

PhoenixOS 是基于 android-x86 的,通过 kern ...

谢谢。
kernel 命令行我有一些了解,知道要跟着iso里面的参数,每个实例都可能不一样的。只是很少想到外置和iso路径传递,我自己也少用。
你这几个例子对我很有参考意义,谢谢。
回复

使用道具 举报

261#
发表于 2020-6-19 13:27:10 | 只看该作者
xiumu 发表于 2020-6-18 14:05
我u盘没分区,你的教程附件都没下载,我积分太少

我的u盘分区是fat32文件系统,我知道是支持efi启动的

点评

你的U盘分区是fat32,支持efi启动,那么只要在根目录建一个 EFI 目录,在 EFI 目录里建一个 Boot 子目录,在 \EFI\Boot 里放上启动文件 bootx64.efi 就可以实现U盘efi启动了。 bootx64.efi 可以到 hilsonma.ys168  详情 回复 发表于 2020-6-20 07:10
回复

使用道具 举报

262#
发表于 2020-6-19 13:28:47 | 只看该作者

我的也是这种情况啊
回复

使用道具 举报

263#
发表于 2020-6-19 20:49:34 | 只看该作者
wintoflash 发表于 2020-6-19 09:14
直接 map ISO 当然不行。
无论是 Windows 安装镜像/有外置的 PE/有外置squashfs的 Linux 都不能直接 map ...

大佬好,如果我解压后直接加载镜像中的efi文件是否可以简单的达到安装的目的呢,我看来grub命令太多了,好比学编程啊
回复

使用道具 举报

264#
发表于 2020-6-19 20:55:28 | 只看该作者
wintoflash 发表于 2020-6-19 11:39
如果你只是想启动图里面的那两个系统,我可以说一下方法。

PhoenixOS 是基于 android-x86 的,通过 kern ...

大佬,我想学制作万能的启动方法,能不能给我推荐点教程grub和Cloverv都行,我现在知道电脑启动会自动加载efi目录下的efi文件,这个efi文件是grub的就回启动grub,主要是这个两个文件不会配置
回复

使用道具 举报

265#
 楼主| 发表于 2020-6-20 07:10:58 | 只看该作者
本帖最后由 hilsonma 于 2020-6-20 07:41 编辑
xiumu 发表于 2020-6-19 13:27
我的u盘分区是fat32文件系统,我知道是支持efi启动的

你的U盘分区是fat32,支持efi启动,那么只要在根目录建一个 EFI 目录,在 EFI 目录里建一个 Boot 子目录,在 \EFI\Boot 里放上启动文件 bootx64.efi 就可以实现U盘efi启动了。

bootx64.efi 可以到 hilsonma.ys168.com 找 grub2 目录里面的 EFI_u1.7z 下载。下载包里的bootx64.efi 就是将diy目录列成自动菜单的grub2启动文件。

然后将你要启动的镜像文件放到 \diy 里,用这个U盘efi启动就会进入 diy 自动菜单,可以选择引导这些镜像。

如果象我前面说的直接引导iso有问题,就将具体的引导命令(仿照wintoflash提供的示例)放到一个cfg文件,再将这个cfg文件放到 \diy ,这样就可以在diy自动菜单中选择这个cfg文件引导。

例如建一个 PhoenixOS.cfg 文件放到 \diy 中,PhoenixOS.cfg 的内容大概如下(我测试过成功进入PhoenixOS):
iso_path=/diy/PhoenixOSInstaller_v3.6.1.564_x64.iso
search -n -s dev -f $iso_path
loopback loop ($dev)$iso_path
linux (loop)/kernel iso-scan/filename=${iso_path} androidboot.selinux=permissive androidboot.hardware=android_x86
initrd (loop)/initrd.img
回复

使用道具 举报

266#
发表于 2020-7-31 14:09:46 | 只看该作者
学习学习
回复

使用道具 举报

267#
发表于 2020-8-26 21:25:12 | 只看该作者
请问制作时,问什么要经过“调整并移动分区”这个步骤,试了两个U盘都是漫长的要命,无奈只有终止。
制作是不是有什么问题?

点评

调整并移动分区是为了给ud腾出空间。 不调整移动的话,要么不能建立ud,要么会格式化u盘。 如果数据不多,应该不会需要多少时间。如果漫长等待的话可能是出了问题未能进一步执行。 本贴分享的我早前的做法,现  详情 回复 发表于 2020-8-27 08:27
回复

使用道具 举报

268#
发表于 2020-8-26 21:48:10 | 只看该作者
谢谢分享
回复

使用道具 举报

269#
发表于 2020-8-26 21:48:29 | 只看该作者
感谢分享
回复

使用道具 举报

270#
 楼主| 发表于 2020-8-27 08:27:19 | 只看该作者
artour 发表于 2020-8-26 21:25
请问制作时,问什么要经过“调整并移动分区”这个步骤,试了两个U盘都是漫长的要命,无奈只有终止。
制作 ...

调整并移动分区是为了给ud腾出空间。
不调整移动的话,要么不能建立ud,要么会格式化u盘。
如果数据不多,应该不会需要多少时间。如果漫长等待的话可能是出了问题未能进一步执行。

本贴分享的我早前的做法,现在是手工制作,不再使用脚本。可参考http://bbs.wuyou.net/forum.php?mod=viewthread&tid=419354
如果是近几年的电脑的话,可以不需要ud。只要能实现引导就可以了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-20 05:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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