无忧启动论坛

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

能否把grub2的loopback命令移植到grub4dos?

[复制链接]
跳转到指定楼层
#
发表于 2021-11-27 15:56:18 来自手机 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 liuzhaoyzz 于 2023-5-12 03:43 编辑

有的linux发行版可以借助loopback命令启动,这种模式下跟grub4dos的map命令有一定区别,loopback能启动的,map不一定能启动,他们的工作机理似乎不同,同样的ventoy启动linux.iso/pe.iso的时候,底层也做了类似的iso虚拟仿真+碎片解析。

现在的grub4dos整体启动linux.iso,如果linux启动脚本在内核层支持挂载iso,就可以用特定的bootcode挂载linux.iso,从而继续启动;如果内核启动脚本没有设计挂载iso,map命令就不能整体启动linux.iso,只能用改造initrd的办法启动,或者用有一定风险的partnew方案启动,都不完美,linux发行版官方用isolinux/grub2作为引导器的要比grub4dos的多。

如果能把grub2的loopback命令移植到grub4dos,作为一个内部或者外部命令,有的linux.iso就可以整体启动了吧,理论上是否有可行性?大神们可有兴趣移植?
@2011yaya2007777,@wintoflash,@chenall......


39#
 楼主| 发表于 2021-12-18 13:02:02 | 只看该作者
wintoflash 发表于 2021-12-18 11:59
你这说法,前后矛盾啊。
如果grub2用这个参数可以启linux,那么grub4dos也可以。
如果没成功,估计是你 ...

尝试了很多参数写法,直接map无法启动,搞不明白,官方也没有相关资料。
回复

使用道具 举报

38#
发表于 2021-12-18 11:59:52 | 只看该作者
liuzhaoyzz 发表于 2021-12-18 11:52
veket/puppy.iso用grub2-loopback启动没问题的,本人亲测,那个find_iso参数好像在systemd/init脚本里面 ...

你这说法,前后矛盾啊。
如果grub2用这个参数可以启linux,那么grub4dos也可以。
如果没成功,估计是你哪里搞错了。

点评

尝试了很多参数写法,直接map无法启动,搞不明白,官方也没有相关资料。  详情 回复 发表于 2021-12-18 13:02
回复

使用道具 举报

37#
发表于 2021-12-18 11:57:34 | 只看该作者
看来 veket/puppy.iso是 普通 的 iso

参数向后续 传递 ,没有用过的 参数  会保留到   bash  环境变量

回复

使用道具 举报

36#
 楼主| 发表于 2021-12-18 11:56:07 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-12-18 13:00 编辑
2011whp 发表于 2021-12-18 11:35
整体 移出引导 及相关,然后 chainloader才是 正解,(先把 iso内 原来的引导 搞清 楚)

专门的iso 用  ...

linux的引导,一般都是用kernet+initrd语句,很少有chainloader语句,chainloader似乎更多地用于启动ntldr/bootmgr之类的。

svbus只能用于windows或者pe环境,linux下面没有人移植,就是svbus_for linux编译成功了,那么多linux发行版,怎么可能适配得过来呢。
回复

使用道具 举报

35#
 楼主| 发表于 2021-12-18 11:52:43 来自手机 | 只看该作者
wintoflash 发表于 2021-12-18 11:23
你终于明白了。

那按理说loopback也是不行的。

veket/puppy.iso用grub2-loopback启动没问题的,本人亲测,那个find_iso参数好像在systemd/init脚本里面有的,用于适配grub2-loopback方案。

点评

你这说法,前后矛盾啊。 如果grub2用这个参数可以启linux,那么grub4dos也可以。 如果没成功,估计是你哪里搞错了。  详情 回复 发表于 2021-12-18 11:59
回复

使用道具 举报

34#
发表于 2021-12-18 11:35:47 | 只看该作者
整体 移出引导 及相关,然后 chainloader才是 正解,(先把 iso内 原来的引导 搞清 楚)

专门的iso 用 专门的引导 (如果不行,那就只能  占一个分区 安装了)
(再奇巴,那就得用 真光驱动    或   加类似 svbus的 驱动了)

点评

linux的引导,一般都是用kernet+initrd语句,很少有chainloader语句,chainloader似乎很多地用于启动ntldr/bootmgr之类的。 svbus只能用于windows或者pe环境,linux下面没有人移植,就是svbus_for linux编译成功  详情 回复 发表于 2021-12-18 11:56
回复

使用道具 举报

33#
发表于 2021-12-18 11:23:13 | 只看该作者
liuzhaoyzz 发表于 2021-12-18 11:09
你这段话说的有道理,似乎根本不是移植loopback功能的事情,退一步说即使移植loopback到g4d成功了,g4d ...

你终于明白了。
find_iso=${iso_path}这个参数是假的,根本没什么用,因为systemd/init里面没有对这个find_iso进行解析并挂载,他似乎是用来适配grub2的loopback方案的。好像是,我测试过,因此直接map是不行的。

那按理说loopback也是不行的。
loopack没什么神秘的,就是在grub内部挂载一个文件。这个磁盘只在grub内部有效。

loopback唯一的长处,如2011grassll所说,就是与固件平台无关,不用去管bios/uefi那堆破事。

点评

veket/puppy.iso用grub2-loopback启动没问题的,本人亲测,那个find_iso参数好像在systemd/init脚本里面有的,用于适配grub2-loopback方案。  详情 回复 发表于 2021-12-18 11:52
回复

使用道具 举报

32#
 楼主| 发表于 2021-12-18 11:09:29 来自手机 | 只看该作者
wintoflash 发表于 2021-11-27 19:54
所以这和loopback功能有什么关系?
你想要的其实是在grub4dos下执行grub2脚本。这是没意义的。


你这段话说的有道理,似乎根本不是移植loopback功能的事情,退一步说即使移植loopback到g4d成功了,g4d又怎么能够识别iso里面的/boot/grub/loopback.cfg文件并加载启动?这些菜单文件menuentry什么的都是grub2体系的,这似乎是个悖论。

点评

你终于明白了。 那按理说loopback也是不行的。 loopack没什么神秘的,就是在grub内部挂载一个文件。这个磁盘只在grub内部有效。 loopback唯一的长处,如2011grassll所说,就是与固件平台无关,不用去管bios/u  详情 回复 发表于 2021-12-18 11:23
回复

使用道具 举报

31#
 楼主| 发表于 2021-12-18 10:36:07 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-12-18 10:54 编辑
2011yaya2007777 发表于 2021-12-17 09:31
清理僵尸以后,grldr 减少了 13Kb。


想顺便问下,grub4dos如果增加外部命令,对于grldr的大小应该没有什么影响吧?我的意思是说,如果loopback移植起来简单的话,移植到g4d作为外部命令,不会挤占grldr的有限空间,外部命令也不会对于grldr的稳定性产生影响。这应该是不点大担心的那个关注点吧。

当然这是在有必要,大神们有兴趣,移植难度不大的前提下。如果移植难度大,相关联的内容多,项目难度大,性价比太低的话,还是算了。      
回复

使用道具 举报

30#
 楼主| 发表于 2021-12-18 10:29:49 来自手机 | 只看该作者
wintoflash 发表于 2021-12-18 08:25
你贴的这些例子并不能说明grub4dos下loopback的必要性。

(1) 和 (5): 打开iso看看loopback.cfg文件, ...
再说了,执行loopback.cfg与loopback功能本身并没有关系。grub2 map之后一样能执行loopback.cfg。        


现在是想用grub4dos的loopback来整体启动linux.iso啊,grub4dos map之后,怎么调用/boot/grub/loopback.cfg?不行吧?
回复

使用道具 举报

29#
 楼主| 发表于 2021-12-18 10:06:57 | 只看该作者
2011grassll 发表于 2021-12-18 09:36
我觉得loop驱动的好处是不是基本可以忽略iso文件碎片的问题?
常看到讨论map iso因为碎片不成功的问题,而 ...

碎片问题也是一个好处,grub2的碎片解析,感觉上来说,要比g4d的碎片解析稳定,而且可解析的碎片没有上限,似乎只有解析时间问题,解析速度感觉很快。
回复

使用道具 举报

28#
 楼主| 发表于 2021-12-18 10:04:22 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-12-18 10:45 编辑
wintoflash 发表于 2021-12-18 08:25
你贴的这些例子并不能说明grub4dos下loopback的必要性。

(1) 和 (5): 打开iso看看loopback.cfg文件, ...


我说的主要是(1)和(5)的场景,其他的是顺别贴出来的,抱歉误导了。

光盘里面,\boot\grub2\loopback.cfg内容如下:

loadfont /boot/grub/font.pf2

color_normal=cyan/black
#menu_color_highlight=black/light-gray
menu_color_highlight=yellow/red
menu_color_normal=light-gray/black

menuentry "veket 22" {
    linux /vmlinuz pfix=fsck pmedia=cd find_iso=${iso_path}
    initrd /initrd.gz
}

menuentry "veket 22 - Copy SFS files to RAM" {
    linux /vmlinuz pfix=copy,fsck pmedia=cd find_iso=${iso_path}
    initrd /initrd.gz
}

menuentry "veket 22 - Don't copy SFS files to RAM" {
    linux /vmlinuz pfix=nocopy,fsck pmedia=cd find_iso=${iso_path}
    initrd /initrd.gz
}

menuentry "veket 22 - RAM only" {
    linux /vmlinuz pfix=ram,fsck pmedia=cd find_iso=${iso_path}
    initrd /initrd.gz
}

menuentry "veket 22 - No X" {
    linux /vmlinuz pfix=nox,fsck pmedia=cd find_iso=${iso_path}
    initrd /initrd.gz
}

menuentry "veket 22 - No KMS (Kernel modesetting)" {
    linux /vmlinuz nomodeset pfix=fsck pmedia=cd find_iso=${iso_path}
    initrd /initrd.gz
}

menuentry "veket 22 - Ram Disk SHell" {
    linux /vmlinuz pfix=rdsh pmedia=cd find_iso=${iso_path}
    initrd /initrd.gz
}

menuentry "Shutdown" {
        halt
}

menuentry "Reboot" {
        reboot
}

find_iso=${iso_path}这个参数是假的,根本没什么用,因为systemd/init里面没有对这个find_iso进行解析并挂载,他似乎是用来适配grub2的loopback方案的。好像是,我测试过,因此直接map是不行的。所以有想把grub2的loopback移植到grub4dos环境的奇怪想法。
我马上要出去下。

回复

使用道具 举报

27#
发表于 2021-12-18 09:36:32 | 只看该作者
我觉得loop驱动的好处是不是基本可以忽略iso文件碎片的问题?
常看到讨论map iso因为碎片不成功的问题,而全载入内存可能某些机器又受不了

点评

碎片问题也是一个好处,grub2的碎片解析,感觉上来说,要比g4d的碎片解析稳定,而且可解析的碎片没有上限,似乎只有解析时间问题,解析速度感觉很快。  详情 回复 发表于 2021-12-18 10:06
回复

使用道具 举报

26#
发表于 2021-12-18 08:25:06 | 只看该作者
本帖最后由 wintoflash 于 2021-12-18 08:33 编辑
liuzhaoyzz 发表于 2021-12-17 12:17
我是手机回帖,在高铁上呢,晚点贴个
veket.v22.a微软edge浏览器
https://cloud.189.cn/web/share?code ...

你贴的这些例子并不能说明grub4dos下loopback的必要性。

(1) 和 (5): 打开iso看看loopback.cfg文件,看看kernel命令行是怎么写的,抄过来就能用。再说了,执行loopback.cfg与loopback功能本身并没有关系。grub2 map之后一样能执行loopback.cfg。
(2): 在grub4dos下用partnew和map,完全一样。
(3) 和(4): 根本没有用到loopback,在grub4dos下一样能启动。

点评

现在是想用grub4dos的loopback来整体启动linux.iso啊,grub4dos map之后,怎么调用/boot/grub/loopback.cfg?不行吧?  详情 回复 发表于 2021-12-18 10:29
我说的主要是(1)和(5)的场景,其他的是顺别贴出来的,抱歉误导了。 光盘里面,\boot\grub2\loopback.cfg内容如下: loadfont /boot/grub/font.pf2 color_normal=cyan/black #menu_color_highlight=black/l  详情 回复 发表于 2021-12-18 10:04
回复

使用道具 举报

25#
 楼主| 发表于 2021-12-17 12:17:21 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-12-17 14:41 编辑
wintoflash 发表于 2021-12-17 12:15
具体是怎么启动veket/puppy iso的?

我是手机回帖,在高铁上呢,晚点贴个
veket.v22.a微软edge浏览器
https://cloud.189.cn/web/share?code=fq2INnAFjINn

insmod gfxterm
insmod terminal
insmod loopback

menuentry "/linux/veket/v22a.1215/veket_22.a.iso-loopback.cfg" "/linux/veket/v22a.1215/veket_22.a.iso" {
terminal_output console
search --no-floppy --set --file $2
export iso_path=$2;loopback -d loop;loopback loop $2
set root=loop
configfile (loop)/boot/grub/loopback.cfg
}

menuentry "/linux/veket/v22a.1215/veket_22.a.iso-partnew[not_recommend]" "/linux/veket/v22a.1215/veket_22.a.iso" {
set gfxpayload=keep
search --no-floppy --set --file $2;regexp --set=x '(.*),' "$root";loopback loop $2
partnew -t 0x00 -f $2 ($x) 4
linux (loop)/vmlinuz PSUBDIR=/ pmedia=cd pfix=fsck
initrd (loop)/initrd.gz
}

v20下载地址:https://cloud.189.cn/web/share?code=bM3QNnAry26r
menuentry "/linux/veket/v20-v20211201/veket_20/vmlinuz" "/linux/veket/v20-v20211201/veket_20/vmlinuz" {
search --no-floppy --set --file $2
linux $2 PSUBDIR=/linux/veket/v20-v20211201/veket_20
initrd /linux/veket/v20-v20211201/veket_20/initrd.gz
}

menuentry "/linux/veket/v20-v20211201/veket_20/vmlinuz[no_save_file]" "/linux/veket/v20-v20211201/veket_20/vmlinuz" {
search --no-floppy --set --file $2
linux $2 pfix=ram savefile=none PSUBDIR=/linux/veket/v20-v20211201/veket_20
initrd /linux/veket/v20-v20211201/veket_20/initrd.gz
}

puppy下载地址:清华大学开源软件镜像站 | Tsinghua Open Source Mirror https://mirrors.tuna.tsinghua.edu.cn/https://mirrors.tuna.tsinghua.edu.cn/puppy/puppy-fossa/
fossapup64-9.5.iso
MD5:6a45e7a305b7d3172ebd9eab5ca460e4  fossapup64-9.5.iso

menuentry "/linux/puppy/fossapup64-9.5.iso-loopback.cfg" "/linux/puppy/fossapup64-9.5.iso" {
terminal_output console
search --no-floppy --set --file $2
export iso_path=$2;loopback -d loop;loopback loop $2
set root=loop
configfile (loop)/boot/grub/loopback.cfg
}





点评

你贴的这些例子并不能说明grub4dos下loopback的必要性。 (1) 和 (5): 打开iso看看loopback.cfg文件,看看kernel命令行是怎么写的,抄过来就能用。再说了,这和loopback一毛钱关系也没有,你仔细想想。 (2): 在gr  详情 回复 发表于 2021-12-18 08:25
回复

使用道具 举报

24#
发表于 2021-12-17 12:15:03 | 只看该作者
liuzhaoyzz 发表于 2021-12-17 11:58
举个例子,veket/puppy linux,可以用grub2+loopback方案整体启动veket/puppy.iso,但是g4d/g4e的map功 ...

具体是怎么启动veket/puppy iso的?

点评

我是手机回帖,晚点贴个  详情 回复 发表于 2021-12-17 12:17
回复

使用道具 举报

23#
 楼主| 发表于 2021-12-17 11:58:50 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-5-12 03:47 编辑
wintoflash 发表于 2021-12-16 14:51
(10#)http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=427967&pid=4430688&fromuid=487 ...


举个例子,veket/puppy linux,可以用grub2+loopback方案整体启动veket/puppy.iso,但是g4d/g4e的map功能就是不行,因为systemd/init脚本上没有解析外部iso传递到linux kernel的bootcode启动参数。所以启动veket/puppy我都是推荐用grub2,解开veket/puppy.iso或者不解开,grub2都能够胜任,g4d就不行,这是g4d功能上的缺失。g4d+partnew方案整体启动iso局限性较大,而且这个方案有一定的风险。

grub2在BIOS方面启动兼容性方面感觉比不上g4d,但是用bootmgr/g4d作为第一启动,用grub2-bios作为中转感觉还可以,我喜欢把grub2-bios作为第二引导。

如果一个linux发行版,想要支持loopback启动,感觉不是太复杂。但是要一个linux发行版支持g4d的map,那就需要改造systemd/init脚本,这些东西,懂的人怕是不多。像是ventoy就用了patch initrd的方案吧,还有你的grubfilemanager是不是也用了,我不清楚呢。patch initrd方案,是一整套启动解决方案,不能独立。      

点评

具体是怎么启动veket/puppy iso的?  详情 回复 发表于 2021-12-17 12:15
回复

使用道具 举报

22#
发表于 2021-12-17 09:31:58 | 只看该作者
提醒得对!有 n 多文件系统,躺在那里睡大觉,说得难听点,是占着茅坑。

清理僵尸以后,grldr 减少了 13Kb。

点评

想顺便问下,grub4dos如果增加外部命令,对于grldr的大小应该没有什么影响吧?我的意思是说,如果loopback移植起来简单的话,移植到g4d作为外部命令,不会挤占grldr的有限空间,外部命令也不会对于grldr的稳定性产  详情 回复 发表于 2021-12-18 10:36
回复

使用道具 举报

21#
发表于 2021-12-16 15:29:04 | 只看该作者
g4e  未来 10 年   不是 问题,  硬件存量大, x86 没那么容易 末落的

现在 10年前的 g4d  还在 用

用map 和 loopback  提取文件 是 一样的,实在不行,把光盘内的 kernel  提取到硬盘 ,让它以为是 从硬盘启动 内核 , 查找 iso 继续 安装
回复

使用道具 举报

20#
发表于 2021-12-16 15:06:27 | 只看该作者
这是在搭鹊桥?其实已经有分水岭了,各走各路、各通各桥更能适应新技术的推广。或许今后G4D和Linux都用不到了,也未必可知。
回复

使用道具 举报

19#
发表于 2021-12-16 14:51:40 | 只看该作者
ql1307096 发表于 2021-12-16 14:36
自从电脑硬盘换成3T后,就使用了gpt,然后启动管理器就从G4D改为grub2了,好久没有再用g4d。但我一直觉得g4 ...

(10#)http://bbs.wuyou.net/forum.php?m ... &fromuid=487838
什么事情是loopback可以做,但是map做不到的?

点评

举个例子,veket/puppy linux,可以用grub2+loopback方案整体启动veket/puppy.iso,但是g4d/g4e的map功能就是不行,因为sysremd/init脚本上没有解析外部iso的cheatcode启动参数。所以启动veket/puppy我都是推荐用gru  详情 回复 发表于 2021-12-17 11:58
回复

使用道具 举报

18#
发表于 2021-12-16 14:36:21 | 只看该作者
自从电脑硬盘换成3T后,就使用了gpt,然后启动管理器就从G4D改为grub2了,好久没有再用g4d。但我一直觉得g4d很多方便都比grub2要好些。如果g4d在不影响使用的情况下,加入类似loopback的功能似乎不错、。

点评

(10#)http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=427967&pid=4430688&fromuid=487838 什么事情是loopback可以做,但是map做不到的?  详情 回复 发表于 2021-12-16 14:51
回复

使用道具 举报

17#
发表于 2021-11-28 07:45:25 | 只看该作者
2011yaya2007777 发表于 2021-11-28 06:39
应当支持。现在清理僵尸,只是属于优化方案,而不是因为文件尺寸过大出现问题,不得不为之。

是的,目前还没有证据表明,已经出现内存冲突了。清理僵尸以后,会让代码更安全,让代码的保险系数提高。

同时也要注意,尽量不要再增加功能代码了。注意体积问题确实是个事。

UEFI 的情况我不接触,可能不存在此类问题。旧的 bios 之下,grub4dos 的设计,是按节约内存来设计的。所以,内存问题就比较敏感了。

回复

使用道具 举报

16#
发表于 2021-11-28 06:39:06 来自手机 | 只看该作者
应当支持。现在清理僵尸,只是属于优化方案,而不是因为文件尺寸过大出现问题,不得不为之。

点评

是的,目前还没有证据表明,已经出现内存冲突了。清理僵尸以后,会让代码更安全,让代码的保险系数提高。 同时也要注意,尽量不要再增加功能代码了。注意体积问题确实是个事。 UEFI 的情况我不接触,可能不存  详情 回复 发表于 2021-11-28 07:45
回复

使用道具 举报

15#
发表于 2021-11-28 06:15:03 | 只看该作者
wintoflash 发表于 2021-11-27 18:11
保留 UD/FAT/exFAT/NTFS/ISO9660/UDF/EXT2 就可以了。
如果还是觉得空间紧张,甚至可以删除 EXT2。
我 ...

目前的 grldr.mbr 在 ext2 上面不会出问题了。yaya 专门为此重写了代码。

ext2 要是干掉了,那就基本上等于说不支持 Linux 了。
回复

使用道具 举报

14#
 楼主| 发表于 2021-11-27 21:47:25 | 只看该作者
哦,那就算了吧。
回复

使用道具 举报

13#
发表于 2021-11-27 19:54:14 | 只看该作者
liuzhaoyzz 发表于 2021-11-27 18:26
你说的这种,指的是发行版里面,启动脚本里面考虑了iso挂载的情况。比如debian,ubuntu这样子的发行版 ...
只有loopback.cfg这样子的

所以这和loopback功能有什么关系?
你想要的其实是在grub4dos下执行grub2脚本。这是没意义的。

点评

你这段话说的有道理,似乎根本不是移植loopback功能的事情,退一步说即使移植loopback到g4d成功了,g4d又怎么能够识别iso里面的/boot/grub/loopback.cfg文件并加载启动?这些菜单文件都是grub2体系的,这似乎是个悖  详情 回复 发表于 2021-12-18 11:09
回复

使用道具 举报

12#
发表于 2021-11-27 19:24:32 | 只看该作者
grub4 是第三方吧,
   
操作系统有专用引导器,不过 linux开源, bcd更是闭合了,进去出不来

再一个是 ,体积小,随然 现在不在乎 400KB,还是 几MB,但潜意识,一样的话,还是选 小的。

微软史 影响大众方面,比linux 要深


回复

使用道具 举报

11#
 楼主| 发表于 2021-11-27 18:33:02 来自手机 | 只看该作者
不点 发表于 2021-11-27 17:47
liu 版主,你这句:

linux发行版官方用 isolinux/grub2 作为引导器的要比 grub4dos 的多。

不是说客气话,论坛里那么多linux发行版,linux.iso虽然官网用的大多是isolinux/grub2,但是民间大家很多还是用g4d来启动的啊。      
回复

使用道具 举报

10#
 楼主| 发表于 2021-11-27 18:26:57 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-11-27 18:33 编辑
wintoflash 发表于 2021-11-27 18:14
grub2:

grub4dos:


你说的这种,指的是发行版里面,启动脚本里面考虑了iso挂载的情况。比如debian,ubuntu这样子的发行版,用了findiso, iso-scan/filename这样的参数,有的iso内部systemd/init启动脚本似乎没有考虑,只有loopback.cfg这样子的,似乎只能用grub2,不能用g4d了,不过不是很多了。     

点评

所以这和loopback功能有什么关系? 你想要的其实是在grub4dos下执行grub2脚本。这是没意义的。  详情 回复 发表于 2021-11-27 19:54
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-8 23:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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