无忧启动论坛

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

iso-scan/filename的疑惑

[复制链接]
跳转到指定楼层
1#
发表于 2020-7-25 20:50:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在网站看到一个问题 https://forum.ubuntu.org.cn/viewtopic.php?t=283257

用安装centos 8的菜单为例:
menuentry"Centos Live" --class centos{
       set gfxpayload=keep;
        set iso=/software/centos8.iso
        search --file $iso --set=root
       loopback loop $isofile;
        probe --set=cduuid -u (loop);

//inst.stage2=hd:LABEL=labelname , 长卷标名可能引起认不到虚拟cd盘的问题
//nomodeset 参数与nvida显卡有关,防止黑屏,告诉内核不要加载显卡而用BIOS模式直到图形界面运行
//inst.stage2 说明文档:

       linux (loop)/isolinux/vmlinuziso-scan/filename=$isofile inst.stage2=hd:UUID=$cduuid quiet nomodeset;
       initrd (loop)/isolinux/initrd;
}

1、知道loopback大致是怎么回事,但不知道为什么loopback 和启动参数iso-scan/filename要两次指向一个镜像?

2、iso-scan/filename 指定的参数会引起什么操作,会在哪个阶段执行?


3、为什么要传递loop的uuid?

望大神们能帮助答疑惑,感谢


2#
发表于 2020-7-25 21:28:43 | 只看该作者
loopback挂载的磁盘只能在grub环境中可读,进linux之后就不存在了。
所以要通过kernel命令行把ISO路径告诉kernel。

点评

控制权转移了,感谢  详情 回复 发表于 2020-7-25 23:50
回复

使用道具 举报

3#
 楼主| 发表于 2020-7-25 23:50:53 | 只看该作者
wintoflash 发表于 2020-7-25 21:28
loopback挂载的磁盘只能在grub环境中可读,进linux之后就不存在了。
所以要通过kernel命令行把ISO路径告诉 ...

控制权转移了,感谢
回复

使用道具 举报

4#
发表于 2020-7-26 13:10:58 | 只看该作者
本帖最后由 longpanda 于 2020-7-26 14:52 编辑

另外, CentOS 系列 不支持 iso-scan/filename  参数.

点评

centos也是用iso-scan/filename的。  详情 回复 发表于 2020-7-26 17:42
really ? 我空了测一下,一直以来都有加这个参数,看下是不是多余的  详情 回复 发表于 2020-7-26 15:50
回复

使用道具 举报

5#
 楼主| 发表于 2020-7-26 15:50:32 | 只看该作者
longpanda 发表于 2020-7-26 13:10
另外, CentOS 系列 不支持 iso-scan/filename  参数.

really ? 我空了测一下,一直以来都有加这个参数,看下是不是多余的
回复

使用道具 举报

6#
发表于 2020-7-26 17:42:26 | 只看该作者
longpanda 发表于 2020-7-26 13:10
另外, CentOS 系列 不支持 iso-scan/filename  参数.

centos也是用iso-scan/filename的。
回复

使用道具 举报

7#
发表于 2020-7-26 18:12:14 | 只看该作者
我刚看了下,确实还真是有这个参数。
不过CentOS的initramfs里面默认不支持 exfat/ntfs,所以ISO文件只能放在FAT或者Ext2/3/4 这种分区里面。

点评

想请问下大神,怎么知道一个linux发行版的initramfs里面是否支持exfat/ntfs,比如已经下载了这个centos.iso,怎么看?通过里面的哪个脚本?另外能否打包exfat/ntfs驱动进去?为什么官方不把这样子的基本文件  详情 回复 发表于 2021-2-25 10:48
回复

使用道具 举报

8#
发表于 2021-2-25 10:48:00 | 只看该作者
longpanda 发表于 2020-7-26 18:12
我刚看了下,确实还真是有这个参数。
不过CentOS的initramfs里面默认不支持 exfat/ntfs,所以ISO文件只能 ...

       想请问下大神,怎么知道一个linux发行版的initramfs里面是否支持exfat/ntfs,比如已经下载了这个centos.iso,怎么看?通过里面的哪个脚本?另外能否打包exfat/ntfs驱动进去?为什么官方不把这样子的基本文件驱动打包进去?难道是怕ntfs版权问题?我试了下,最新的debian10.8版本,居然不支持iso放在ntfs分区用grub2启动,我很吃惊,以前的版本就可以啊!
有没有相关的知识或者链接,我想看看,越详细越好,谢谢了!

点评

详情 回复 发表于 2021-2-25 15:09
这个问题要说清楚不太容易。 首先是历史问题。exfat/ntfs 是Windows下的产物。Linux天生就不太喜欢他们。 Linux内核直到最近才加入exfat驱动,但并不稳定,因此几乎没有发行版使用。而ntfs驱动由于版权问题短时  详情 回复 发表于 2021-2-25 15:08
回复

使用道具 举报

9#
发表于 2021-2-25 15:08:01 | 只看该作者
liuzhaoyzz 发表于 2021-2-25 10:48
想请问下大神,怎么知道一个linux发行版的initramfs里面是否支持exfat/ntfs,比如已经下载了这个c ...

这个问题要说清楚不太容易。

首先是历史问题。exfat/ntfs 是Windows下的产物。Linux天生就不太喜欢他们。
Linux内核直到最近才加入exfat驱动,但并不稳定,因此几乎没有发行版使用。而ntfs驱动由于版权问题短时间内都不可能加入内核。
也就是说,你可以认为现在常见的系统里的Linux内核是不支持 exfat/ntfs 的。

但是为什么很多发行版,像 ubuntu/deepin 等是可以挂载、使用 exfat/ntfs 呢? 这里就归功于Linux中的一个 fuse 驱动。
通过内核的fuse驱动,可以在用户态通过上层应用程序的方式模拟出一个文件系统来。
这样就出现了基于 fuse 驱动的 exfatutil/ntfs-3g 等软件。也就是说,现在在Linux下 mount  exfat/ntfs 系统,都是基于 exfatutil/ntfs-3g
在应用层启动一个进程,通过和 内核的 fuse 驱动打交道,然后模拟挂载出对应的文件系统。
但是这种方式相比于内核直接支持的类型,缺点很大。首先就是性能损失太多,另外一个就是稳定性不好。
所以,总体上当前在Linux下使用 exfat/ntfs 都是聊胜于无,因此也就 ubuntu/deepin 这些主打桌面的系统对此比较上心。

如上所说,Linux下要支持 exfat/ntfs,关键两部分,fuse驱动和 exfatutil/ntfs-3g 这类软件。

一个ISO文件,里面包含的是一个完整的系统,包括内核、驱动、以及各种软件包等,所以现在一个个ISO文件都很大。
大部分系统这个完整的ISO里面都包括 fuse 驱动以及 exfatutil/ntfs-3g 等软件包。
因此这些系统安装完成之后,是可以支持 exfat/ntfs 的。但注意,这里是说安装完之后的那个完整系统。

但是在安装过程中,情况不一样了。在安装过程中,实际上是先启动了一个小的 debian/deepin/ubuntu 系统,这个小系统的任务就只有一个,
就是找到硬盘,把完整的系统装进去就完成了。
因此,这个系统里面的驱动和软件是很精简的,如果 fuse 驱动或者 exfatutil/ntfs-3g 等软件包也被精简掉了,那在安装过程中就不支持 exfat/ntfs了。
现在的现状是,大部分发行版的这个小系统里面都不包含他们。你测试的 debian 应该也是精简掉了。

因为历来,传统的安装系统都是通过光驱、网络、或者刻录整个U盘等方式来的,这个过程是不需要用到 exfat/ntfs 的。
所以,安装过程中支持 exfat/ntfs 的系统很少。

你要想知道安装时支不支持,就找到那个小系统的 initramfs 镜像,解开之后,看看里面有没有 fuse驱动以及 exfatutil/ntfs-3g 等软件包。
比如, debian-10.6.0-amd64-DVD-1/install.amd/initrd.gz

点评

debian-live-10.8.0-amd64-kde.iso\live\\initrd.img-4.19.0-14-amd64\ [attachimg]475784[/attachimg]3 我搜索了ntfs,找到这些 [attachimg]475785[/attachimg] 看了下E:\linux\Debian\111\scripts\local-b  详情 回复 发表于 2021-2-25 18:20
回复

使用道具 举报

10#
发表于 2021-2-25 18:20:20 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-2-26 08:33 编辑
longpanda 发表于 2021-2-25 15:08
这个问题要说清楚不太容易。

首先是历史问题。exfat/ntfs 是Windows下的产物。Linux天生就不太喜欢他 ...

debian-live-10.8.0-amd64-kde.iso\live\\initrd.img-4.19.0-14-amd64\
3

我搜索了ntfs,找到这些


看了下E:\linux\Debian\111\scripts\local-bottom\ntfs_3g
#!/bin/sh

set -e

case "${1}" in
        prereqs)
                exit 0
                ;;
esac

if [ "${ROOTFSTYPE}" = ntfs ] || [ "${ROOTFSTYPE}" = ntfs-3g ] || \
   [ "${LOOPFSTYPE}" = ntfs ] || [ "${LOOPFSTYPE}" = ntfs-3g ]
then
        mkdir -p /run/sendsigs.omit.d
        pidof mount.ntfs >> /run/sendsigs.omit.d/ntfs-3g
        pidof mount.ntfs-3g >> /run/sendsigs.omit.d/ntfs-3g
fi

exit 0



E:\linux\Debian\111\scripts\local-premount\ntfs_3g
#!/bin/sh

set -e

case "${1}" in
        prereqs)
                exit 0
                ;;
esac

if [ "${ROOTFSTYPE}" = ntfs ] || [ "${ROOTFSTYPE}" = ntfs-3g ] || \
   [ "${LOOPFSTYPE}" = ntfs ] || [ "${LOOPFSTYPE}" = ntfs-3g ]
then
        modprobe fuse
fi

exit 0


我在命令行下似乎也成功mount -t ntfs 驱动了。但是没有看到虚拟的fuse文件系统/dev/fuse,ntfs-3g文件是保存在live目录的呀,难道只是为了好看?
但是iso放在NTFS分区还是启动不了,我估计是debian10.8启动脚本init有问题。我也不懂,瞎猜的。

我去debian论坛发了个咨询帖子,没有有效的回复。有个回复说是debian10.8去掉了ntfs驱动支持。应该不是ntfs版权的问题,因为如果涉及到版权问题,ntfs-3g这样子的开源驱动,也会有风险,debian还是放进来了。
http://forums.debian.net/viewtopic.php?f=17&t=148911
我发了封邮件给
debian-live@lists.debian.org,根本没人甩我。

我看了有很多邮件列表,都是反馈类似的问题。根本没有人管,看样子debian随着开发组DM人员Michael Stapelberg离开之后,日薄西山啊。https://debian.cn/articles/44
https://blog.csdn.net/csdnnews/article/details/88754149

https://lists.debian.org/debian-live/2020/08/msg00038.html

https://lists.debian.org/debian-live/2020/08/msg00033.html

https://lists.debian.org/debian-live/2021/01/msg00014.html

https://lists.debian.org/debian-live/2020/12/msg00001.html

debian可是一个很大的发型谱系啊,怎么liveCD会不支持NTFS,匪夷所思。


回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-23 22:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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