无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 24558|回复: 50

[分享] grldr + wimboot

    [复制链接]
发表于 2014-11-12 09:51:48 | 显示全部楼层 |阅读模式
试用 2014-11-10 0.46a 版的 grldr
在菜单中通过
kernel /boot/wimboot
initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgr=/boot/bootmgr @boot.wim=/boot/WIN8164PE.WIM
启动 U 盘可见分区中 WIM 格式的 WIN8164 PE 成功。
如果 bcd 中没有其他选项,则在以 8M 间隔读完 WIN8164PE.WIM 文件后,应该是直接加载进入 PE 系统;
但是,我的 bcd 文件中不止一个选项。实测时,在读完 WIN8164PE.WIM 后,出现了选项菜单,这时我可以选择进入(其他) PE 系统。
我的想法是:是否可以不先读取 WIM 文件。

另外,尝试用这样的菜单命令进行网启,但没有成功。在成功读完 WIM 文件后,客户端屏幕提示 PXE UNLOADED,再无其他反应,只能 RESET 重启。
 楼主| 发表于 2014-11-12 11:13:09 | 显示全部楼层
谢谢 chenall !我再仔细研究一下。
回复

使用道具 举报

发表于 2014-11-12 11:12:19 | 显示全部楼层
沙发啊,支持一个,学习了。
回复

使用道具 举报

发表于 2014-11-12 10:25:12 | 显示全部楼层
用wimboot应该和位置无关呀,只要grub4dos能访问到的就可以了比如fb上面也是一样的.

用wimboot建议使用未经修改的BCD文件.直接从光盘提取的.另外用WIMBOOT
wimboot 支持指定 index,这样就可以把多个WIM PE整在一个WIM上面,通过指定index 来启动.

用WIMBOOT就是可以简化WIMPE的启动,不需要修改BCD文件等,只要处理好WIM文件就行了.
回复

使用道具 举报

发表于 2014-11-13 08:54:41 | 显示全部楼层
zhaohj 发表于 2014-11-13 08:32
使用win8原版的bcd、boot.sdi、bootmgr ,也无法进入PE,虚拟机自动重启了。能见到加载的进度条,
:w8pe
...

我用QEMU测试正常,不过我是使用GRUB4DOS测试的.
WIN8的BCD/BOOTMGR/BOOT.SDI + WIN7PE

点评

我也是grldr启动转ipxe的,7pe都启动蓝屏,8PE都重启。 把你的wimboot、bootmgr、IPXE.KRN打包上传一下试试。  发表于 2014-11-13 10:09
回复

使用道具 举报

发表于 2014-11-16 13:06:07 | 显示全部楼层

感谢提供,除bbb外其他几个bcg等等文件能否一起分享?
回复

使用道具 举报

发表于 2014-11-13 08:32:27 | 显示全部楼层
本帖最后由 zhaohj 于 2014-11-13 08:45 编辑

使用win8原版的bcd、boot.sdi、bootmgr ,也无法进入PE,虚拟机自动重启了。能见到加载的进度条,
:w8pe
  kernel http://${next-server}:81/wimboot pause
  initrd http://${next-server}:81/boot/bcd bcd
  initrd http://${next-server}:81/boot/boot.sdi boot.sdi
  initrd http://${next-server}:81/bootmgr bootmgr
  initrd http://${next-server}:81/w8pe/w8pe1.wim boot.wim
  boot
Snap1.jpg
Snap2.jpg

点评

我用QEMU测试正常,不过我是使用GRUB4DOS测试的. WIN8的BCD/BOOTMGR/BOOT.SDI + WIN7PE  详情 回复 发表于 2014-11-13 08:54
回复

使用道具 举报

发表于 2014-11-12 18:39:01 | 显示全部楼层
chenall 发表于 2014-11-12 18:08
估计WIMBOOT不支持这些修改的特殊BCD/BOOTMGR

建议直接使用原版BCD+BOOTMGR

不同版本能混用吗  比如win7的bcd+bootmgr启动win8的wim

点评

一般都是用高版本的启动低版本的,用WIN8的BOOTMGR和BCD就可以了.  发表于 2014-11-12 21:51
回复

使用道具 举报

发表于 2014-11-12 18:08:57 | 显示全部楼层
zhaohj 发表于 2014-11-12 17:40
:w8pe
  kernel http://${next-server}:81/wimboot
  initrd http://${next-server}:81/w8pe/bcd w8pe/bc ...

估计WIMBOOT不支持这些修改的特殊BCD/BOOTMGR

建议直接使用原版BCD+BOOTMGR

点评

不同版本能混用吗 比如win7的bcd+bootmgr启动win8的wim  详情 回复 发表于 2014-11-12 18:39
回复

使用道具 举报

发表于 2014-11-12 17:40:55 | 显示全部楼层
本帖最后由 zhaohj 于 2014-11-12 17:45 编辑

:w8pe
  kernel http://${next-server}:81/wimboot
  initrd http://${next-server}:81/w8pe/bcd w8pe/bcd
  initrd http://${next-server}:81/w8pe/w8pe.sdi w8pe/w8pe.sdi
  initrd http://${next-server}:81/w8pe/W8BCD bootmgr.exe
  initrd http://${next-server}:81/w8pe/w8pe1.wim w8pe/w8pe1.wim
  boot
与上图一样效果
是否是这个bcd只能包含wim文件的菜单?
原来的bcd是这样生成的:
echo off

set d01=Windows8 PE (w8pe.wim)  by one1
set f01=ramdisk=[boot]\w8pe\W8pe.WIM,{ramdiskoptions}

set d02=Windows8 PE (w8pe1.wim) by one2
set f02=ramdisk=[boot]\w8pe\W8pe1.WIM,{ramdiskoptions}

set d03=Windows8 PE (w8pe2.wim) by coolg
set f03=ramdisk=[boot]\w8pe\W8pe2.WIM,{ramdiskoptions}

set d04=grub4dos
set f04=\grldr

set d05=Local system
set f05=\boot\startrom.com

set d06=mem test
set f06=\boot\memtest.exe

set d00=pxelinux.0 (linux)
set f00=\pxelinux.0

del bcd
bcdedit /createstore bcd

bcdedit /store bcd /create {bootmgr} /d "Windows Boot Manager"
bcdedit /store bcd /set {bootmgr} timeout 10
rem bcdedit /store bcd /set {bootmgr} graphicsmodedisabled yes
bcdedit -store bcd /set {bootmgr} locale zh-CN
rem 数字签名
bcdedit /store bcd /set {bootmgr} nointegritychecks yes

bcdedit /store bcd /create {ramdiskoptions}
bcdedit /store bcd /set {ramdiskoptions} ramdisksdidevice boot
bcdedit /store bcd /set {ramdiskoptions} ramdisksdipath \w8pe\w8pe.sdi
rem TFTP传输块大小
rem bcdedit /store bcd /set {ramdiskoptions} ramdisktftpblocksize 2048
rem TFTP窗口大小
rem bcdedit /store bcd /set {ramdiskoptions} ramdisktftpwindowsize 100

for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store bcd -create /d "%d01%" /application osloader ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} systemroot  \windows
bcdedit -store bcd /set {%GUID1%} path  \windows\system32\boot\winload.exe
bcdedit -store bcd /set {%GUID1%} locale zh-CN
bcdedit -store bcd /set {%GUID1%} winpe  yes
bcdedit -store bcd /set {%GUID1%} detecthal yes
bcdedit -store bcd /set {%GUID1%} device  %f01%
bcdedit -store bcd /set {%GUID1%} osdevice  %f01%
bcdedit  -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('bcdedit -store bcd -create /d "%d02%" /application osloader ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} systemroot  \windows
bcdedit -store bcd /set {%GUID1%} path \windows\system32\boot\winload.exe
bcdedit -store bcd /set {%GUID1%} locale zh-CN
bcdedit -store bcd /set {%GUID1%} winpe  yes
bcdedit -store bcd /set {%GUID1%} detecthal yes
bcdedit -store bcd /set {%GUID1%} device  %f02%
bcdedit -store bcd /set {%GUID1%} osdevice  %f02%
bcdedit  -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('bcdedit -store bcd -create /d "%d03%" /application osloader ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} systemroot  \windows
bcdedit -store bcd /set {%GUID1%} path \windows\system32\boot\winload.exe
bcdedit -store bcd /set {%GUID1%} locale zh-CN
bcdedit -store bcd /set {%GUID1%} winpe  yes
bcdedit -store bcd /set {%GUID1%} detecthal yes
bcdedit -store bcd /set {%GUID1%} device  %f03%
bcdedit -store bcd /set {%GUID1%} osdevice  %f03%
bcdedit  -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store bcd -create /d "%d04%" /application bootsector ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} device boot
bcdedit -store bcd /set {%GUID1%} PATH %f04%
bcdedit -store bcd /set {%GUID1%} graphicsmodedisabled yes
bcdedit -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store bcd -create /d "%d05%" /application startup ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} device boot
bcdedit -store bcd /set {%GUID1%} PATH %f05%
bcdedit -store bcd /set {%GUID1%} locale zh-CN
bcdedit -store bcd /set  {%GUID1%} pxesoftreboot yes
bcdedit /store bcd /set {%GUID1%} nointegritychecks yes
bcdedit -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store bcd -create {memdiag} /d "%d06%" ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} device boot
bcdedit -store bcd /set {%GUID1%} PATH %f06%
bcdedit -store bcd /set {%GUID1%} locale zh-CN
bcdedit /store bcd /set {%GUID1%} nointegritychecks yes
bcdedit -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store BCD -create /d "%d00%" /application startup ') do SET GUID1=%%j
bcdedit -store BCD /set {%GUID1%} device boot
bcdedit -store BCD /set {%GUID1%} PATH %f00%
bcdedit -store bcd /set {%GUID1%} pxesoftreboot yes
bcdedit -store bcd /displayorder {%GUID1%} /addlast

pause
bcdedit /enum all /store bcd
del /a:h bc?.log
pause

点评

估计WIMBOOT不支持这些修改的特殊BCD/BOOTMGR 建议直接使用原版BCD+BOOTMGR  详情 回复 发表于 2014-11-12 18:08
回复

使用道具 举报

发表于 2014-11-12 16:48:26 | 显示全部楼层
本帖最后由 zhaohj 于 2014-11-12 16:59 编辑

我也想提这个问题: bcd中包含很多的win8pe,wim文件已经在bcd中指定,为何还要initrd  @boot.wim=/boot/WIN8164PE.WIM ?
wimboot的index是加载固定wim文件的启动索引,象安装盘install.wim的“标准版”、“专业版”、“旗舰版”
我的想法是原来 pxe启动(grldr引导)的win8pe,Ipxe启动后不修改原来的bcd、boot.sdi文件名称及路径,只修改 Ipxe启动配置文件怎么做?
   isset ${ip} || dhcp
   isset ${next-server} || set next-server 192.168.1.11
...
:w8pe
  kernel http://${next-server}:81/wimboot
  initrd http://${next-server}:81/w8pe/bcd
  initrd http://${next-server}:81/w8pe/w8pe.sdi
  initrd http://${next-server}:81/w8pe/W8BCD
  initrd http://${next-server}:81/w8pe/w8pe1.wim
  boot

QQ图片20141112164923.jpg

点评

使用ipxe启动同样要指定名称路径的, 可以试试以下的命令 initrd w8pe/bcd bcd initrd w8pe/w8pe.sdi w8pe/w8pe.sdi initrd w8pe/w8pe1.wim w8pe/w8pe1.wim chain wimboot  详情 回复 发表于 2014-11-12 16:58
wimboot 其实是把启动需要的文件都加载到内存中了,所以这些文件可以放在任意位置,只要访问得到就行. 具体的启动过程如下 先产生一个虚拟的内存盘,然后把initrd里面的文件复制过去,再根据参数修改BCD内容.最后启  详情 回复 发表于 2014-11-12 16:55
回复

使用道具 举报

发表于 2014-11-12 16:55:34 | 显示全部楼层
zhaohj 发表于 2014-11-12 16:48
我也想提这个问题: bcd中包含很多的win8pe,wim文件已经在bcd中指定,为何还要initrd  @boot.wim=/boot/WI ...

wimboot 其实是把启动需要的文件都加载到内存中了,所以这些文件可以放在任意位置,只要访问得到就行.
具体的启动过程如下

先产生一个虚拟的内存盘,然后把initrd里面的文件复制过去,再根据参数修改BCD内容.最后启动BOOTMGR

另外如果你的PE里面已经包含BOOTMGR那可以不用加载BOOTMGR的,WIMBOOT启动时会自动从WIM中提取.

目前无忧的WIM格式PE都精简掉了,所以需要加载BOOTMGR

像http方式启动的WIM PE就很有用,对于PXE还是直接用BOOTMGR吧,速度可能会比较快.
回复

使用道具 举报

发表于 2014-11-12 16:58:00 | 显示全部楼层
zhaohj 发表于 2014-11-12 16:48
我也想提这个问题: bcd中包含很多的win8pe,wim文件已经在bcd中指定,为何还要initrd  @boot.wim=/boot/WI ...


使用ipxe启动同样要指定名称路径的,
可以试试以下的命令
  1. initrd w8pe/bcd bcd
  2. initrd w8pe/w8pe.sdi w8pe/w8pe.sdi
  3. initrd w8pe/w8pe1.wim w8pe/w8pe1.wim
  4. chain wimboot
复制代码
回复

使用道具 举报

发表于 2014-11-12 17:18:38 | 显示全部楼层
:w8pe
  kernel http://${next-server}:81/wimboot
  initrd http://${next-server}:81/w8pe/bcd bcd
  initrd http://${next-server}:81/w8pe/w8pe.sdi w8pe/w8pe.sdi
  initrd http://${next-server}:81/w8pe/W8BCD w8pe/W8BCD  #bootmgr.exe
  initrd http://${next-server}:81/w8pe/w8pe1.wim w8pe/w8pe1.wim
  boot
Snap1.jpg

点评

必须使用标准的BOOTMGR不是使用PXE的BOOTMGR. 另外如果文件的菜单文件在同一个地方以下字符可以省略的. http://${next-server}:81/  详情 回复 发表于 2014-11-12 17:21
回复

使用道具 举报

发表于 2014-11-12 17:21:47 | 显示全部楼层
zhaohj 发表于 2014-11-12 17:18
:w8pe
  kernel http://${next-server}:81/wimboot
  initrd http://${next-server}:81/w8pe/bcd bcd

必须使用标准的BOOTMGR不是使用PXE的BOOTMGR.

另外如果文件的菜单文件在同一个地方以下字符可以省略的.
http://${next-server}:81/
回复

使用道具 举报

发表于 2014-11-12 17:21:54 | 显示全部楼层
:w8pe
  kernel http://${next-server}:81/wimboot
  initrd http://${next-server}:81/w8pe/bcd bcd
  initrd http://${next-server}:81/w8pe/w8pe.sdi w8pe/w8pe.sdi
  initrd http://${next-server}:81/w8pe/W8BCD bootmgr.exe
  initrd http://${next-server}:81/w8pe/w8pe1.wim w8pe/w8pe1.wim
  boot

Snap2.jpg

点评

你的BOOTMGR是修改过的,路径要正确 /w8pe/bcd bcd 应该是 w8pe/bcd w8pe/bcd  发表于 2014-11-12 17:30
回复

使用道具 举报

 楼主| 发表于 2014-11-13 10:35:56 | 显示全部楼层
我的BOOTMGR是按无忧网友迷离境界提供的方法破解过的文件,文件名改为了BOOTMGX;
我的BCD文件是从WIN8.1原版关盘提取的文件,按迷离境界提供批处理命令法,只禁用了数字签名验证并改名为BBB使用;
几个必须的文件均放在UD中的BOOT文件夹下;
使用2014-11-11 0.46a版的GRLDR,菜单为:
kernel /boot/wimboot
initrd @bcd=/boot/bbb @boot.sdi=/boot/boot.sdi @bootmgr=/boot/bootmgx @boot.wim=/boot/WIN786PE.WIM
boot
实机本地U启测试,成功进入WIN786PE;
先前以成功启动过WIN8164PE,只是没有测试过WIN8PE。
据此估计WIN8.1光盘中的BOOTMGR及BCD是可以同时支持WIN7/8/81PE的。
IPXE网启还没有试过。

点评

请分享一下w8.1 64位光盘中的bootmgr,bcd,boot.sdi。  详情 回复 发表于 2014-11-13 11:05
回复

使用道具 举报

发表于 2014-11-13 10:58:27 | 显示全部楼层
请问对于指针文件在vhd里面的wimboot,菜单该怎么写呢?
如果是wimboot+vhd做成ramos又该怎么写呢?
回复

使用道具 举报

发表于 2014-11-13 11:05:12 | 显示全部楼层
captain_g 发表于 2014-11-13 10:35
我的BOOTMGR是按无忧网友迷离境界提供的方法破解过的文件,文件名改为了BOOTMGX;
我的BCD文件是从WIN8.1 ...

请分享一下w8.1 64位光盘中的bootmgr,bcd,boot.sdi。

点评

http://pan.baidu.com/s/1mgj0Y2s  详情 回复 发表于 2014-11-13 11:25
回复

使用道具 举报

 楼主| 发表于 2014-11-13 11:25:16 | 显示全部楼层
2012zhd 发表于 2014-11-13 11:05
请分享一下w8.1 64位光盘中的bootmgr,bcd,boot.sdi。

http://pan.baidu.com/s/1mgj0Y2s

点评

谢谢。我去下载。  详情 回复 发表于 2014-11-13 11:36
回复

使用道具 举报

发表于 2014-11-13 11:36:00 | 显示全部楼层
captain_g 发表于 2014-11-13 11:25
http://pan.baidu.com/s/1mgj0Y2s

谢谢。我去下载。
回复

使用道具 举报

发表于 2014-11-13 12:39:20 | 显示全部楼层
成功了,直接pxe启动文件用 IPXE的undionly.kpxe作为启动文件(dhcp67选项,并添加类别 ipxe)成功启动win7pe win8pe,速度确实很爽!
看来目前只能 ipxe启动,要使用grub4dosr的话用 IPXE转grldr

Snap1.jpg

点评

用http的话速度是比tftp快多了. 我是直接使用纯GRUB4DOS启动的,没有用http和tftp 目前grub4dos只能间接通过ipxe来启动http上的文件(我那个PXEBoot里面的例子,都是网络启动的)  详情 回复 发表于 2014-11-13 13:39
回复

使用道具 举报

发表于 2014-11-13 13:39:28 | 显示全部楼层
zhaohj 发表于 2014-11-13 12:39
成功了,直接pxe启动文件用 IPXE的undionly.kpxe作为启动文件(dhcp67选项,并添加类别 ipxe)成功启动win7pe ...

用http的话速度是比tftp快多了.

我是直接使用纯GRUB4DOS启动的,没有用http和tftp

目前grub4dos只能间接通过ipxe来启动http上的文件(我那个PXEBoot里面的例子,都是网络启动的)
回复

使用道具 举报

发表于 2014-11-13 14:31:05 | 显示全部楼层
新版的grub4dos因为支持带路径启动,这个怎么办?
Snap2.jpg

点评

这个我不知道你是如何启动的, 不过可以使用 pxe basedir 修改基本路径 grub4dos也不支持http,只能用tftp方式启动.  详情 回复 发表于 2014-11-13 14:43
回复

使用道具 举报

发表于 2014-11-13 14:43:06 | 显示全部楼层
zhaohj 发表于 2014-11-13 14:31
新版的grub4dos因为支持带路径启动,这个怎么办?

这个我不知道你是如何启动的,

不过可以使用
pxe basedir 修改基本路径

grub4dos也不支持http,只能用tftp方式启动.
回复

使用道具 举报

发表于 2014-11-13 15:30:17 | 显示全部楼层
是这样的,如果pxe的启动文件用grldr,可以转 ipxe启动,menu.lst启动IPXE菜单:
title  IPXE
pxe keep
kernel /IPXE.KRN
initrd /myscript.ipxe
其中的myscript.ipxe中启动grldr菜单:
:grub4dos
  chain http://${next-server}:81/grldr || goto failed
  goto start
也可以顺利启动grldr
但这样启动的IPXE无法引导win7/win8pe
------------------------------------------------------
如果pxe的启动文件使用undionly.kpxe(dhcp67选项添加id为ipxe,见21楼)
IPXE可以顺利启动win7/win8pe,但无法在配置文件中返回grldr

点评

这个就不清楚原因了,我用ipxe/grub4dos可以随意切换,启动一切正常. 不能启动,你可以在命令行下输入命令看提示.可能是文件位置等错误.  详情 回复 发表于 2014-11-13 15:41
回复

使用道具 举报

发表于 2014-11-13 15:41:06 | 显示全部楼层
zhaohj 发表于 2014-11-13 15:30
是这样的,如果pxe的启动文件用grldr,可以转 ipxe启动,menu.lst启动IPXE菜单:
title  IPXE
pxe keep
...

这个就不清楚原因了,我用ipxe/grub4dos可以随意切换,启动一切正常.

不能启动,你可以在命令行下输入命令看提示.可能是文件位置等错误.
回复

使用道具 举报

发表于 2014-11-14 07:54:29 | 显示全部楼层
实机测试一点问题都没有,是虚拟机vm的问题(vmplayer 6.0.0 build-1295980)。
我百度查一下能否解决这个问题。
回复

使用道具 举报

 楼主| 发表于 2014-11-15 15:49:48 | 显示全部楼层
PXE GRLDR 网启转 iPXE 实机测试结果:

从 WIN 8.1 光盘提取的 BCD 与 BOOTMGR 支持 WIN7/8/8.1 PE 的 WIM 文件。

可以使用破解后的 BOOTMGR,相应的 BCD 也可以改名(除禁用数字签名外,不要修改BCD里面的内容)。

注意在下面的命令中:
  kernel http://${next-server}/BOOT/wimboot
  initrd http://${next-server}/BOOT/bootmgx        bootmgr
  initrd http://${next-server}/BOOT/bbb        bcd
  initrd http://${next-server}/BOOT/boot.sdi        boot.sdi
  initrd http://${next-server}/BOOT/WIN886PE.WIM        BOOT.WIM

bootmgx/bbb/WIN886PE.WIM 是真实存在的文件的名称,它们后边的 bootmgr/bcd/boot.wim 必须有。

这样,使用一个 BCD 文件和一个 BOOTMGR 即可以通过 WIMBOOT 加载多个 PE WIM。

点评

能否提供你修改后的BCD套件?谢谢。  详情 回复 发表于 2014-11-15 21:16
回复

使用道具 举报

发表于 2014-11-15 21:16:21 | 显示全部楼层
captain_g 发表于 2014-11-15 15:49
PXE GRLDR 网启转 iPXE 实机测试结果:

从 WIN 8.1 光盘提取的 BCD 与 BOOTMGR 支持 WIN7/8/8.1 PE 的 W ...

能否提供你修改后的BCD套件?谢谢。

点评

请见附件。  详情 回复 发表于 2014-11-16 12:37
回复

使用道具 举报

 楼主| 发表于 2014-11-16 12:37:36 | 显示全部楼层
2011bm 发表于 2014-11-15 21:16
能否提供你修改后的BCD套件?谢谢。

请见附件。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 03:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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