妈呀,一个反馈问题的帖子怎么一个个都是感谢分享的,都是机器人么? |
赞赞 |
简单来说就是一个btrfs的subvolume就是一个系统,这样一个非常方便snapshot,利用btrfs的特性,秒备份和还原,而且整个硬盘的空间各个subvolume共享,整个硬盘就2个分区就够了,一个是ESP分区,一个是btrfs分区。winpe直接仍到btrfs分区也可以直接启动。我目前是用g4e启动quibble和refind,用quibble启动btrfs的win10,用refind启动btrfs子卷里面的各种linux发行版。我现在考虑能不能把refind拿掉,直接用g4e,直接启动linux,这样会少一步。 |
本帖最后由 tsitian 于 2023-5-12 19:00 编辑 wintoflash 发表于 2023-5-12 10:44 我没有把vmlinuz和initrd安装在esp分区,而是放在btrfs分区下面的子卷里面了,目录结构是btrfs分区,子卷archlinux是arch系统,vmlinz和initrd在/archlinux/boot下面。同样debian系统在@debian子卷下面。启动的话用refind来直接引导。比如,
|
tsitian 发表于 2023-5-12 03:35 你 UEFI 启动 Linux,那 vmlinuz 和 initrd 都在 ESP 分区 FAT 文件系统里面。跟 btrfs 没关系。 |
wintoflash 发表于 2023-3-14 20:44 g4e能不能考虑加入对btrfs的支持,我的Linux系统都是安装在btrfs的subvolume上面的,应该如何使用g4e来启动,希望能够考虑考虑。btrfs的确非常好用的说,我还把win10装进了btrfs的子卷,用quibble也可以启动,目前运行都比较正常。 |
本帖最后由 wintoflash 于 2023-3-14 20:52 编辑 2011whp 发表于 2023-3-14 20:09 支持的,别瞎猜了。 从来就没有所谓"二合一"混合的vmlinuz。你下载的是32位的系统,它就是纯32位的,你下载的是64位的系统,它就是64位的。 只是头部有少量切换CPU工作模式的代码。 ===== wimboot/ntloader 这些它不是个完整的操作系统。 它当然也能切换CPU工作模式,但是切了之后 UEFI 启动服务之类的就炸了,就不能启 Windows 了,屁用没有,所以只能"二合一"。 |
2011whp 发表于 2023-3-14 20:09 legacy BIOS方式没有测试,我现在生产环境全是UEFI的。 |
本帖最后由 sunsea 于 2023-3-13 19:04 编辑 wintoflash 发表于 2023-3-13 18:58 感谢解释!不过我自己有ntfs和ext的驱动所以也没问题了hhhh |
sunsea 发表于 2023-3-13 15:33 目前 Linux 镜像就是标准的 PE 格式 EFI Application,使用 kernel 和 chainloader 启动方法是一样的。
只是加载 initrd 的方式不一样。 chainloader 是让 kernel 自己通过 UEFI Simple FileSystem Protocol 找到 initrd。所以只能找到 FAT 分区里面的 initrd。 initrd 命令是安装 LoadFile2 Protocol,通过这个协议把 initrd 提供给 kernel。好处就是只要 GRUB 能读到 initrd 就行。 那个 StartOS 可能是内核比较老,不支持通过 LoadFile2 读 initrd,结果找不到 initrd 爆 kernel panic 了。 |
wintoflash 发表于 2023-3-8 20:40 还有挺好奇chainloader途径加载linux内核走的是什么传参方式,我这试论坛里有人发的StartOS死机了(不过影响不大,主力不用这个,而且有点老了),但是chainloader就一直可以…… |
sunsea 发表于 2023-3-13 08:17 启动pe难道不传minint参数么 当然是要传递的。但是在不指定的情况下可以根据扩展名自动判断:
|
本帖最后由 sunsea 于 2023-3-13 08:33 编辑 wintoflash 发表于 2023-3-11 20:21 !BAT行为正常了,感谢!所以尼玛怎么换了个GCC版本死在!BAT上了真的奇怪……以及我一直好奇,启动pe难道不传minint参数么…… |
sunsea 发表于 2023-3-11 20:19 发布了 https://github.com/chenall/grub4dos/releases/tag/for_UEFI GitHub 上的是用 GCC4.8 编译的,应该没这些奇怪问题。 |
wintoflash 发表于 2023-3-11 11:59 VHD没环境,带PE没有问题,应该没啥大问题。所以现在让人头疼的就一个事,尼玛怎么一句!BAT搞死机了…… |
sunsea 发表于 2023-3-8 18:08 ntloader 也更新了一下 https://github.com/grub4dos/ntloader/releases/tag/latest 没啥问题我就推送了
|
sunsea 发表于 2023-3-8 18:08 那就好。
这就有点奇葩了。得找熟悉GCC的埃及老哥研究一下。
原来搞的都忘光了,那得重新从wimboot改了。 |
wintoflash 发表于 2023-3-8 17:53 手动命令行进linux成功了。干掉外置菜单的!BAT那一行也能顺利进入菜单。不过你的ntloader不打算更新一下吗? |
wintoflash 发表于 2023-3-8 17:53 显然是没有的(悲) |
本帖最后由 wintoflash 于 2023-3-8 17:56 编辑 sunsea 发表于 2023-3-8 17:49 你有gcc4.8环境吗?有的话可以打上压缩包里面的补丁自己编译试试(删掉configure里面那行我乱改的东西) 或者别用批处理,就用最简单的几个命令试试能不能启Linux。没问题的话我推github上去。 |
本帖最后由 sunsea 于 2023-3-8 17:51 编辑 wintoflash 发表于 2023-3-7 22:17 真机测试结果是直接死在configfile上。屏幕提示只有Will load external menu...没有Has entered the external menu... 内置菜单:
外置菜单:
|
本帖最后由 wintoflash 于 2023-3-7 22:19 编辑 试试,暂时删了 EFI Handover Protocol 相关的东西,使用 LoadFile2 Protocol 提供 initrd。 我用 Manjaro 测试加载多个 initrd 是可以的。
============== 我没搞定 gcc 4.8 的安装,所以瞎改了一通之后用 GCC 10.4 编译的,可能有其他毛病。 |
学习 |
学习了 |
感谢分享经验 |
感谢分享 |
学习学习 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.