2011yaya2007777 发表于 2026-1-6 16:45:20

嗷,理解错了。

不点 发表于 2026-1-6 17:34:58

wintoflash 发表于 2026-1-6 16:40
根本问题是主流发行版根本不重视这个功能。
Ubuntu多年前就存在从loopback挂载的ISO启动后没法正常关机 ...

我对 Linux 的热情也已经消退了,年龄、身体状况,兴趣爱好,都是原因。

既然发行版的开发者们都不愿意做这个工作,那就算了吧。

2012huangsheng 发表于 2026-1-6 20:56:29

总结一下吧。不管是grub4efi还是grub2,确实是启动了光盘。把启动盘放成EXT4格式后,把IOS放上去Ubuntu的24.04版启动没有问题。如果是extfat或者NTFS格式都不行,这应该是启动到Ubuntu linux后iniramfs不认对应ISO文件的硬盘格式的问题。也是说iso-scan/filename=是有用的。但是kylin换成ext4格式也不行。可能就如上面几位大侠说的,想做的话要必须修改 initrd 里面的 shell 脚本(就是前面所说的“打补丁”),让他挂上iso文件才行。也没有什么更好的方法了。

1e3e 发表于 2026-1-23 10:03:38

学习了,麒麟系统还是很强大的国产系统

liuzhaoyzz 发表于 2026-1-28 16:49:18

本帖最后由 liuzhaoyzz 于 2026-1-28 17:02 编辑

1、你说的麒麟桌面操作系统,指的是优麒麟,还是银河麒麟V10 x86版本?
(1)如果是优麒麟,那就是ubuntu,ubuntu怎么启动,他就怎么启动,启动参数没有太大区别。
ubuntu-desktop-amd64.iso
#grub4dos
title /linux/ubuntu/ubuntu-desktop-amd64.iso
find --ignore-floppies --ignore-cd --set-root /linux/ubuntu/ubuntu-desktop-amd64.iso
map /linux/ubuntu/ubuntu-desktop-amd64.iso (hd32)
map --hook
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/linux/ubuntu/ubuntu-desktop-amd64.iso noprompt noeject
initrd (hd32)/casper/initrd


(2)如果你指的是银河麒麟v10,这是是混合、杂交、魔改的内核,启动参数变化很大。详见下面的说明:

2、kylin系统在启动过程中从kernel切换到操作系统实模式过程中,它不支持ubuntu的那种"iso-scan/filename="启动参数,在kernel启动过程中就不会挂载iso光盘镜像,会丢失grub4dos在UEFI OS loader启动节段map仿真的iso光盘镜像,busybox就会抛出(initranfs) Unable to find a mediun containing a liue file system的错误,因此如果想用grub4dos uefi,必须搭配grub4dos UEFI的内部命令partnew:
#grub4dos:
title /linux2/kylin/Kylin-Desktop-V10-SP1-Release-2107-x86_64.iso-partnew
find --ignore-floppies --ignore-cd --set-root /linux2/kylin/Kylin-Desktop-V10-SP1-Release-2107-x86_64.iso
map /linux2/kylin/Kylin-Desktop-V10-SP1-Release-2107-x86_64.iso (hd32) ;; map --hook
set root=%@root% ;; find /boot/grub/wenv | set p= ;; %p%/boot/grub/wenv set x=${root%,},3) ;; partnew %x% 0x00 /linux2/kylin/Kylin-Desktop-V10-SP1-Release-2107-x86_64.iso
kernel (hd32)/casper/vmlinuz boot=casper locale=zh_CN audit=0 security= live --
initrd (hd32)/casper/initrd.lz
上面的菜单用了partnew方案,因此要求iso必须连续存放没有碎片,而且所在的分区必须是MBR主分区,MBR主分区个数小于等于3个。wenv外部命令grub4dos压缩包里面有。partnew方案是个比较危险的方案,上面的菜单不要乱改,否则可能会导致分区丢失。
推荐直接用ventoy。


liuzhaoyzz 发表于 2026-1-28 17:01:56

2012huangsheng 发表于 2026-1-2 10:50
我用做了实验,,将同样的ubuntu的iso文件放在extfat,fat32,Fat16,NTFS格式下,用grub4efi启动后,只有Fat3 ...
你这说的就不对,
(1)grub4dos已经支持extfat,fat32,Fat16,NTFS这些文件格式读写了的,你在grub4dos环境下在这样子的分区ls下xxx.iso文件,如果有显示,就可以正常读取。这是grub4dos作为OS Loader启动阶段。
(2)ubuntu的iso是否能够启动,主要在于ubuntu的iso里面的kernel/initramfs是否包含extfat,fat32,Fat16,NTFS文件驱动。这是kernel/initramfs/busybox启动阶段。
(3)ubuntu进入实模式之后,ubuntu作为linux发行版当然是有extfat,fat32,Fat16,NTFS fuse或者kernel模式下带来的文件读写驱动。
主要在于第2个阶段对于文件分区支持不好,然后就启动不了。

2012msg 发表于 2026-6-6 11:52:55

我也很好奇,请问应该如何用GRUB FOR DOS EFI启动开鸿OS的ISO文件?

cjqin 发表于 2026-6-6 15:10:25

银河麒麟系统中如何实现类似windows BCD菜单那样的多启动菜单,来启动指定的winPE或其他Linux\Unix PE?

Yu9i8b2c71t 发表于 2026-7-1 23:41:08

本帖最后由 Yu9i8b2c71t 于 2026-7-11 10:40 编辑

2012huangsheng 发表于 2026-1-2 09:40
还没有到安装划分硬盘那一步。
整个启动过程,涉及三个阶段:
1、grub4dos阶段:支持fat32、exfat、ntfs。
2、initrd阶段:目前(2026年)普遍的linux发行版的initrd,都不支持ntfs(iso-scan就是在这个阶段寻找目标iso),希望以后能支持ntts文件系统格式。
   而这个initrd阶段,对于exfat,有些发行版支持,有些则是不支持。
3、进入完整linux系统阶段:Fat32、exfat、ntfs、ext4都支持。

所以,你的问题就是出在第2阶段,找不到iso文件,因为,initrd阶段,识别不了ntfs。

1e3e 发表于 2026-7-21 15:14:01

认真学习一下,期待有更多的进展和教程出来
页: 1 [2]
查看完整版本: g4e无法启动麒麟桌面操作系统