无忧启动论坛

标题: 如何获取linux iso的启动参数 [打印本页]

作者: icebug    时间: 5 天前
标题: 如何获取linux iso的启动参数
我搜了下网络,只知道Linux mint的启动参数如下:
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject splash
    initrd (loop)/casper/initrd.lz

但我手上还有好几个别的linux的iso,如何获取他们的启动参数呢?

注意:通过查看iso里的grub.cfg文件获取参数是不行的,因为那是刻录好iso之后的启动参数,而我要的是不刻录iso直接启动iso的参数

作者: 忧心的启    时间: 5 天前
学习学习,感谢分享。
作者: johnmy    时间: 5 天前
学习学习
作者: 音乐与电脑    时间: 5 天前
参考 a1ive.github.io 中grub2的菜单示例吧
作者: my9823    时间: 5 天前
有些参数是内核处理,有些事启动后 脚本处理的。
作者: my9823    时间: 5 天前
iso启动的那些个发行版你可以解开initrd.xz(有些肯能是gz,还有些没有扩展名),里边的脚本来处理这些参数。
作者: icebug    时间: 5 天前
my9823 发表于 2024-12-23 17:42
iso启动的那些个发行版你可以解开initrd.xz(有些肯能是gz,还有些没有扩展名),里边的脚本来处理这些参数。

谢谢,我去看看
作者: liuzhaoyzz    时间: 5 天前
发行版官网说明书,论坛,initrd的init脚本参数。
作者: sunsea    时间: 5 天前
发行版官方说明书。
作者: wintoflash    时间: 5 天前
liuzhaoyzz 发表于 2024-12-23 17:53
发行版官网说明书,论坛,initrd的init脚本参数。

感觉可以在grub2区开个帖子总结下各发行版loopback启动的参数。
作者: 2012fengxi    时间: 5 天前
vmlinuz后面跟的参数很重要,好多linux iso文件没有说明这个参数
作者: icebug    时间: 5 天前
my9823 发表于 2024-12-23 17:42
iso启动的那些个发行版你可以解开initrd.xz(有些肯能是gz,还有些没有扩展名),里边的脚本来处理这些参数。

不行,名字没有后缀,而且不能当压缩包解开
作者: icebug    时间: 5 天前
liuzhaoyzz 发表于 2024-12-23 17:53
发行版官网说明书,论坛,initrd的init脚本参数。

个人做的deepin的live盘也有吗?还有uos官方维护系统的live盘的说明书在哪个网址啊?
作者: wintoflash    时间: 5 天前
icebug 发表于 2024-12-23 21:38
不行,名字没有后缀,而且不能当压缩包解开

现在的发行版多用lz4和zstd压缩了。要用7zip-zstd打开。
打不开的话,右键#:e方式打开。

作者: liuzhaoyzz    时间: 5 天前
icebug 发表于 2024-12-23 21:41
个人做的deepin的live盘也有吗?还有uos官方维护系统的live盘的说明书在哪个网址啊?

title [04] 深度 Deepin Linux 系统 ISO
        find --set-root /PE/deepin/vmlinuz
        kernel /PE/deepin/vmlinuz findiso=/PE/deepin/deepin.iso boot=live components union=overlay locales=zh_CN.UTF-8
        initrd /PE/deepin/initrd.lz

title [05] 深度 Deepin Linux 系统 ISO (Failsafe)
        find --set-root /PE/deepin/vmlinuz
        kernel /PE/deepin/vmlinuz findiso=/PE/deepin/deepin.iso boot=live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal union=overlay locales=zh_CN.UTF-8
        initrd /PE/deepin/initrd.lz

title /linux/UOS/UOSRC.iso
find --ignore-floppies --ignore-cd --set-root /linux/UOS/UOSRC.iso
map /linux/UOS/UOSRC.iso (hd32)
map --hook
kernel (hd32)/live/vmlinuz boot=live findiso=/linux/UOS/UOSRC.iso components quiet splash
initrd (hd32)/live/initrd.img

百度官网论坛都可以找找啊。

distrowatch上面排名前100位的linux中文发行版,我大多数都搞过,你想要研究的话,把iso拖到我那个批处理可以自动生成菜单。

Veket_Porteus_Puppy_Slitaz_CDlinux_tinyCore_xiaopanOS_beini_wifislax安装器by双心 - Linux系统区 - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=420607

作者: liuzhaoyzz    时间: 5 天前
wintoflash 发表于 2024-12-23 21:27
感觉可以在grub2区开个帖子总结下各发行版loopback启动的参数。

那么多发行版,整理起来有点费事,有的发行版,不同版本还有变化呢。

作者: 2012fengxi    时间: 5 天前
icebug 发表于 2024-12-23 21:38
不行,名字没有后缀,而且不能当压缩包解开

可以用7z打开
作者: icebug    时间: 5 天前
liuzhaoyzz 发表于 2024-12-23 22:19
title [04] 深度 Deepin Linux 系统 ISO
        find --set-root /PE/deepin/vmlinuz
        kernel  ...

非常感谢大神的支持与帮助!
作者: icebug    时间: 5 天前
2012fengxi 发表于 2024-12-23 22:21
可以用7z打开

打开里面目录里只有GenuineIntel.bin文件,这个文件打不开的
作者: my9823    时间: 4 天前
icebug 发表于 2024-12-23 22:59
打开里面目录里只有GenuineIntel.bin文件,这个文件打不开的

这种initrd或者是initramfs,可以理解成多个cpio结合而成的压缩包。有两种方法可以百度如何解压ubuntu的新式initrd。
作者: guong    时间: 4 天前
来学习了
作者: my9823    时间: 4 天前

使用lsinitramfs能查看initramfs中的文件。



使用unmkinitramfs解开到123目录。
解开后进入123目录会看到:

看看main目录的文件结构:


1.png (553.59 KB, 下载次数: 6)

1.png

作者: icebug    时间: 3 天前
liuzhaoyzz 发表于 2024-12-23 22:19
title [04] 深度 Deepin Linux 系统 ISO
        find --set-root /PE/deepin/vmlinuz
        kernel  ...

我前面说了我的deepin和uos系统都是live版,不是安装版
按你的配置,进不去系统



作者: liuzhaoyzz    时间: 3 天前
icebug 发表于 2024-12-25 16:52
我前面说了我的deepin和uos系统都是live版,不是安装版
按你的配置,进不去系统

我说的就是live版本。
你有拖上去试试看吗?菜单是什么样子的?
具体是deepin的什么版本?哪里下载的?
作者: icebug    时间: 3 天前
本帖最后由 icebug 于 2024-12-25 21:07 编辑
liuzhaoyzz 发表于 2024-12-25 17:00
我说的就是live版本。
你有拖上去试试看吗?菜单是什么样子的?
具体是deepin的什么版本?哪里下载的?

拖了,和你上面配置的一样
deepin-live-cd-commiunty-1.3.0-full.iso

https://www.aliyundrive.com/s/bfzZhFWCEdi/folder/62ad67cc8aedb341f6bb428dbd99902b22ec6cf2

uos-livetools-desktop-20240924_amd64.iso

http://livecd.uostools.com/




作者: csh888    时间: 3 天前

感谢分享
作者: icebug    时间: 3 天前
my9823 发表于 2024-12-24 21:16
使用lsinitramfs能查看initramfs中的文件。

厉害,谢谢。明天去看看,不知道看得懂不。
作者: my9823    时间: 3 天前
网上还有另外的工具可以查看initrd中的文件信息,binwalk查看内置的文件,网上常用来提取各种固件,例如路由器的固件文件,还有前段时间论坛制作的efi内置的pe。还有就是先用cpio解压第一层,有提示信息多少个数据块输出,例如1234块,再用dd把这个数据块后面的数据导出为一个文件:dd if=initrd of=newinitrd bs=512 skip=1234,这样的到这些cpu微码后的真正的initrd,再用cpio二次解压。
作者: liuzhaoyzz    时间: 前天 09:04
icebug 发表于 2024-12-25 21:02
拖了,和你上面配置的一样
deepin-live-cd-commiunty-1.3.0-full.iso

我试过了,你说的这个deepin-live-cd-commiunty-1.3.0-full.iso不支持findiso启动参数。无法启动。
menuentry "/linux/deepin/deepin-live-cd-commiunty-1.3.0-full.iso" "/linux/deepin/deepin-live-cd-commiunty-1.3.0-full.iso" {
set gfxpayload=keep
search --no-floppy --set --file $2
loopback loop $2
linux (loop)/live/vmlinuz boot=live findiso=$2 components quiet splash
initrd (loop)/live/initrd.lz
}

我试了wintoflash的grub2filemanager直接启动也不行。我没有试过partnew方案是否可行,不喜欢这样子的启动方式,还要MBR分区表。

可以用ventoy启动,进入桌面后不能选择特效模式,选择普通模式可以进入。

upan-2024-12-26-08-38-49.png (613.87 KB, 下载次数: 7)

upan-2024-12-26-08-38-49.png

作者: liuzhaoyzz    时间: 前天 09:06
本帖最后由 liuzhaoyzz 于 2024-12-26 09:19 编辑
my9823 发表于 2024-12-25 21:51
网上还有另外的工具可以查看initrd中的文件信息,binwalk查看内置的文件,网上常用来提取各种固件,例如路 ...

他这个deepin-live-cd-commiunty-1.3.0-full.iso,init脚本不是在initrd中,initrd.lz中只有deepin-live-cd-commiunty-1.3.0-full.iso\live\initrd.lz\kernel\x86\microcode\一个文件夹,init是在filesystem.squashfs中,
deepin-live-cd-commiunty-1.3.0-full.iso\live\filesystem.squashfs\usr\sbin\init
init脚本里面只有一行:
/lib/systemd/systemd
用的是systemd,要想从systemd看启动参数,太难了,systemd各种服务乱七八糟地并行启动,搞不清楚启动参数。

initrd.lz里面应该是有多个cpio文件打包进去的,从文件大小可以看出来,initrd.lz大小是80MB,那个deepin-live-cd-commiunty-1.3.0-full.iso\live\initrd.lz\kernel\x86\microcode\文件夹只有4.6MB,但是估计解压出来也没啥用,主要是systemd参数太复杂了,不是init那种明文的,很难看出适用于iso启动的启动参数,我试过了他这个livecd不支持findiso=xxxx。

QQ20241226-090622.png (90.78 KB, 下载次数: 11)

QQ20241226-090622.png

作者: my9823    时间: 前天 09:23
liuzhaoyzz 发表于 2024-12-26 09:06
他这个deepin-live-cd-commiunty-1.3.0-full.iso,init脚本不是在initrd中,initrd.lz中只有deepin-live- ...

不可能,initrd.xz中绝对有个迷你的系统。你先安装binwalk,再用binwalk  initrd.xz其中肯定有内嵌的文件。你用cpio解压时看输出信息,数据块显示多少,默认每个数据块石512字节,算算体积,看看initrd.xz体积,对不上吧?
作者: wintoflash    时间: 前天 09:24
liuzhaoyzz 发表于 2024-12-26 09:04
我试过了,你说的这个deepin-live-cd-commiunty-1.3.0-full.iso不支持findiso启动参数。无法启动。
menu ...

findiso换成fromiso试试。记得deepin改过参数。
作者: liuzhaoyzz    时间: 前天 09:33
my9823 发表于 2024-12-26 09:23
不可能,initrd.xz中绝对有个迷你的系统。你先安装binwalk,再用binwalk  initrd.xz其中肯定有内嵌的文件 ...

前面说了,即使用binwalk解压,也看不出什么来,主要systemd太烦人。
作者: liuzhaoyzz    时间: 前天 09:34
本帖最后由 liuzhaoyzz 于 2024-12-26 10:00 编辑
wintoflash 发表于 2024-12-26 09:24
findiso换成fromiso试试。记得deepin改过参数。

用fromiso果然是可以!
加上 locales=zh_CN.UTF-8可以变成中文界面:

menuentry "/linux/deepin/deepin-live-cd-commiunty-1.3.0-full.iso" "/linux/deepin/deepin-live-cd-commiunty-1.3.0-full.iso" {
set gfxpayload=keep
search --no-floppy --set --file $2
loopback loop $2
linux (loop)/live/vmlinuz boot=live fromiso=$2 components quiet splash locales=zh_CN.UTF-8
initrd (loop)/live/initrd.lz
}

grub4dos也可以,前提是iso要经过碎片整理(复制粘贴重命名删除原文件)。
title /linux/deepin/deepin-live-cd-commiunty-1.3.0-full.iso
find --ignore-floppies --ignore-cd --set-root /linux/deepin/deepin-live-cd-commiunty-1.3.0-full.iso
map /linux/deepin/deepin-live-cd-commiunty-1.3.0-full.iso (hd32)
map --hook
kernel (hd32)/live/vmlinuz boot=live fromiso=/linux/deepin/deepin-live-cd-commiunty-1.3.0-full.iso components quiet splash locales=zh_CN.UTF-8
initrd (hd32)/live/initrd.lz





作者: yzw92    时间: 前天 09:38
感谢分享。
作者: wintoflash    时间: 前天 09:45
liuzhaoyzz 发表于 2024-12-26 09:34
用fromiso果然是可以!

menuentry "/linux/deepin/deepin-live-cd-commiunty-1.3.0-full.iso" "/linux ...

程序自动生成菜单的时候,为了方便可以直接把findiso和fromiso两个参数都加上。
作者: liuzhaoyzz    时间: 前天 09:54
wintoflash 发表于 2024-12-26 09:45
程序自动生成菜单的时候,为了方便可以直接把findiso和fromiso两个参数都加上。

都加上,那不是有两个菜单了吗?一个不行让网友试另一个?感觉深度做事太不靠谱了,这个启动参数好好地改他作甚?
我写的批处理是直接从文件名字作为关键字判断发行版的,很难深入判断deepin的内核版本,不知道deepin是从哪个版本改启动参数的。


作者: wintoflash    时间: 前天 10:33
liuzhaoyzz 发表于 2024-12-26 09:54
都加上,那不是有两个菜单了吗?一个不行让网友试另一个?感觉深度做事太不靠谱了,这个启动参数好好地改 ...

我的意思是一个菜单,kernel命令行里面fromiso和findiso都加上。
作者: liuzhaoyzz    时间: 前天 10:41
wintoflash 发表于 2024-12-26 10:33
我的意思是一个菜单,kernel命令行里面fromiso和findiso都加上。

哦,我试了,果然是可以,有两个参数,启动的时候居然不出错,看样子是init只识别了他认识的启动参数,挺好的。

改这个只是举手之劳,我晚点改下。
作者: liuzhaoyzz    时间: 前天 11:59
https://www.lanzoux.com/b00nlwy1c
SX_Live_linux安装器2024-12-26.rar
已经更新,完善deepin发行版支持。

作者: my9823    时间: 前天 12:04
本帖最后由 my9823 于 2024-12-26 12:06 编辑
liuzhaoyzz 发表于 2024-12-26 09:33
前面说了,即使用binwalk解压,也看不出什么来,主要systemd太烦人。


这不是有吗?100多M的体积。

作者: yhm2002    时间: 前天 12:23
恭喜发财
作者: liuzhaoyzz    时间: 前天 13:57
my9823 发表于 2024-12-26 12:04
这不是有吗?100多M的体积。

果然是有!

作者: wn168cn@163.com    时间: 前天 14:04
感谢分享




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3