shuai20 发表于 2020-6-7 10:54:05

谢谢楼主分享,楼主好人,再次感谢

gs358906 发表于 2020-6-13 14:33:55

谢谢楼主分享

xiumu 发表于 2020-6-16 19:52:00

我太笨了,我想学手动制作

hilsonma 发表于 2020-6-17 05:20:08

xiumu 发表于 2020-6-16 19:52
我太笨了,我想学手动制作

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

soarcyz 发表于 2020-6-17 07:20:59

厉害学习了 谢谢分享

15106680608 发表于 2020-6-17 07:46:32

感谢分享

xiumu 发表于 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文件可以指定我想启动的文件

hilsonma 发表于 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 ................. 不停的冒点,我就放弃了。

xiumu 发表于 2020-6-17 21:18:56

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

启动凤凰系统和uos ...

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

hilsonma 发表于 2020-6-18 07:35:41

xiumu 发表于 2020-6-17 21:18
你能教教我怎么定制efi启动菜单吗,我的想法是这样的,通过efi文件启动grub2的efi文件,这样菜单不是打开 ...

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

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

xiumu 发表于 2020-6-18 14:05:49

hilsonma 发表于 2020-6-18 07:35
U盘启动菜单可以不用制作,直接使用自动菜单。

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

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

xiumu 发表于 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文件启动我想启动的引导程序呢,我看大佬有定制教程,能发一份网盘链接吗

hilsonma 发表于 2020-6-19 02:17:52

xiumu 发表于 2020-6-18 15:09
我把你分享的这个文件uboot.7z,取里面的efi目录复制到u盘,修改配置文件grub.cfg
配置文件内容
set de ...

学习定制:


网盘:hilsonma.ys168.com

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

hilsonma 发表于 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分区。

wintoflash 发表于 2020-6-19 09:14:27

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

启动凤凰系统和uos ...

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

hilsonma 发表于 2020-6-19 10:27:35

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

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

wintoflash 发表于 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,都是费了那么多力气,就是要逐个研究。

wintoflash 发表于 2020-6-19 11:39:48

如果你只是想启动图里面的那两个系统,我可以说一下方法。

PhoenixOS 是基于 android-x86 的,通过 kernel 命令行参数 iso-scan/filename=${iso_path} 传递 ISO 路径
你找到 ISO 里面的 grub/isolinux 菜单,把上面的命令行抄一下,例如 (仅供参考,实际可能不一样,不通用)
androidboot.selinux=permissive androidboot.hardware=android_x86
然后,和 kernel 的路径,ISO路径参数组合一下就可以了
menuentry "android-x86" {
    loopback loop ($dev)$iso_path
    linux (loop)/kernel iso-scan/filename=${iso_path} androidboot.selinux=permissive androidboot.hardware=android_x86
    initrd (loop)/initrd.img
}

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

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

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

hilsonma 发表于 2020-6-19 12:27:31

wintoflash 发表于 2020-6-19 11:14
map 弄出来的虚拟光驱是固件(BIOS/UEFI)层面上的,只对 bootloader 有效,对 OS 无效。进 OS 之后虚拟光 ...

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

hilsonma 发表于 2020-6-19 12:45:50

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

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

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

xiumu 发表于 2020-6-19 13:27:10

xiumu 发表于 2020-6-18 14:05
我u盘没分区,你的教程附件都没下载,我积分太少

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

xiumu 发表于 2020-6-19 13:28:47

hilsonma 发表于 2020-6-19 02:17
学习定制:




我的也是这种情况啊

xiumu 发表于 2020-6-19 20:49:34

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

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

xiumu 发表于 2020-6-19 20:55:28

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

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

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

hilsonma 发表于 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

robert8651 发表于 2020-7-31 14:09:46

学习学习

artour 发表于 2020-8-26 21:25:12

请问制作时,问什么要经过“调整并移动分区”这个步骤,试了两个U盘都是漫长的要命,无奈只有终止。
制作是不是有什么问题?

xban 发表于 2020-8-26 21:48:10

谢谢分享

xhan 发表于 2020-8-26 21:48:29

感谢分享

hilsonma 发表于 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。只要能实现引导就可以了。
页: 1 2 3 4 5 6 7 8 [9] 10 11
查看完整版本: 我的启动U盘(uefi+bios+wepe骨版,独剑三分区脚本简化制作)