无忧启动论坛

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

[教程] 几十G大系统制作成uefi启动的金刚不坏1G以内Ramos内存系统,只需系统自带的Ramdisk!

    [复制链接]
181#
 楼主| 发表于 2018-1-18 21:30:01 | 只看该作者
本帖最后由 sairen139 于 2018-1-18 21:31 编辑
2010hook 发表于 2018-1-18 19:44
楼主,我发现:
1、目前可下载的两个BOOTICE版本,凡是用“智能编辑模式”新建启动项,都会删除 Device Op ...

原来这样,我估计很少人会复制这个mountvol S: /s,应该都会手打一下。
回复

使用道具 举报

182#
发表于 2018-1-18 22:03:28 | 只看该作者
sairen139 发表于 2018-1-18 21:30
原来这样,我估计很少人会复制这个mountvol S: /s,应该都会手打一下。

还是不了解BOOTICE啊,这个是可以指定的

回复

使用道具 举报

183#
 楼主| 发表于 2018-1-18 22:06:45 | 只看该作者
易广白 发表于 2018-1-18 22:03
还是不了解BOOTICE啊,这个是可以指定的

是的,可以指定这个。
回复

使用道具 举报

184#
发表于 2018-1-18 22:12:04 | 只看该作者
本帖最后由 2010hook 于 2018-1-26 08:03 编辑

我再分享一个批处理,用于生成BCD启动项,减少人为出错,抛弃BOOTICE手工添加。
VHD路径和偏移量需要注意。
  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. :BCD
  4. set "_VD=C:"
  5. set "_Vfile=\ram.vhd"
  6. set "_Rname=RamVHD"
  7. set "_Rfile=[%_VD%]%_Vfile%"
  8. for /f "tokens=2" %%i in ('BCDedit /create /d "%_Rname%" /application osloader') do set "GUID=%%i"
  9. BCDedit /default %GUID% 2>nul
  10. BCDedit /displayorder %GUID% /addlast
  11. for /f "tokens=2" %%i in ('BCDedit /create /d "%_Rname%" /device') do set "GUIDa=%%i"
  12. BCDedit /set %GUIDa% ramdiskimageoffset 65536
  13. BCDedit /set %GUID% device ramdisk="%_Rfile%",%GUIDa%
  14. BCDedit /set %GUID% osdevice ramdisk="%_Rfile%",%GUIDa%
  15. BCDedit /set %GUID% path \Windows\system32\boot\winload.efi
  16. BCDedit /set %GUID% systemroot \Windows
  17. BCDedit /set %GUID% locale zh-CN
  18. BCDedit /set %GUID% NX OptIN
  19. BCDedit /set %GUID% DetectHAL yes
  20. BCDedit /set %GUID% BootMenuPolicy legacy
  21. BCDedit /set %GUID% BootStatusPolicy ignoreallfailures
  22. pause & exit
复制代码

自动对应GUID!!代码参考@y7y007,感谢。
仔细观察会发现,Win自带工具生成的GUID很整齐,只相差一个字符。

若需修复BCD,命令很简单:
  1. @echo off
  2. mountvol.exe S: /s
  3. bcdboot C:\Windows /s S: /f uefi
  4. pause & exit
复制代码


另外,生成VHD的代码改成这样(注意会先分离删除已存在的同名VHD):
  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. :RamVHD
  4. pause
  5. set "_VD=X:"
  6. set "_Vfile=\ram.vhd"
  7. set "_Dfile=%_VD%%_Vfile%"
  8. if exist "%_Dfile%" (
  9.    echo select vdisk file="%_Dfile%"
  10.    echo detach vdisk)|diskpart.exe
  11.    del /f /q "%_Dfile%" 2>nul
  12. (  echo create vdisk file="%_Dfile%" maximum=128 type=fixed
  13.    echo select vdisk file="%_Dfile%"
  14.    echo attach vdisk
  15.    echo convert gpt
  16.    echo create partition primary
  17.    echo assign letter=V
  18.    echo format fs=NTFS override quick label="RamVHD"
  19.    echo detail part)|diskpart.exe
  20. pause & exit
复制代码
回复

使用道具 举报

185#
 楼主| 发表于 2018-1-18 22:21:51 | 只看该作者
2010hook 发表于 2018-1-18 22:12
我再分享一个批处理,用于准确生成BCD启动项,减少人为出错,抛弃BOOTICE。

自动对应GUID!!代码参考@y ...

很好的办法,能抛弃bootice的自定义批处理设置指定bcd,好想法好本事!
回复

使用道具 举报

186#
发表于 2018-1-18 22:40:48 | 只看该作者
先收藏,慢慢研究。。。。
回复

使用道具 举报

187#
 楼主| 发表于 2018-1-18 22:49:15 | 只看该作者
2010hook 发表于 2018-1-18 22:12
我再分享一个批处理,用于生成BCD启动项,减少人为出错,抛弃BOOTICE手工修改。
路径和偏移量需要自己改。 ...

你再加一条snapshot的命令行语句,就可以做出一个一键恢复snapshot的sna备份文件到这个VHD中直接设置好bcd。这样的话只要双击这个bat文件重启就可以直接进入一个全新的ramos的vhd内存系统了。
回复

使用道具 举报

188#
 楼主| 发表于 2018-1-18 23:01:32 | 只看该作者
本帖最后由 sairen139 于 2018-1-18 23:11 编辑
2010hook 发表于 2018-1-18 22:12
我再分享一个批处理,用于生成BCD启动项,减少人为出错,抛弃BOOTICE手工修改。
路径和偏移量需要自己改。 ...

#
我想到类似这样的语句
@echo off
%~dp0\Snapshot  C: X:\C-DRIVE.sna
SNAPSHOT.EXE必须和这个bat批处理文件处于同一目录,直接还原某个盘的sna备份文件到C盘(这里的C盘改成vhd挂载出来的盘符就行了)




Snapshot C: X:\C-DRIVE.sna


         -A    - save ALL sectors, ignore free cluster info (maintenance)
         -L650 - Limit resulting imagesize to 650MB (CDROM size)
         -T    - Test generated image file (verify correct checksums)
         -W    - suppress <Hit any key> if started from scheduler
         -R    - Empty Recycle Bin for this drive before Backup
         -G    - Graphical status display for command line mode
         -PW=MyPassword    (also used for restore and viewing)
         -C="My comment" add a comment to the image
         -o[path][filename]  generate hash file with name "path\filename"
         -o    - don't generate hash file
         -h<HashFile> make a differential image
回复

使用道具 举报

189#
发表于 2018-1-18 23:30:51 | 只看该作者
sairen139 发表于 2018-1-18 22:49
你再加一条snapshot的命令行语句,就可以做出一个一键恢复snapshot的sna备份文件到这个VHD中直接设置好bc ...

你所测试的u盘内存系统,应在断开硬盘状态下进行,
回复

使用道具 举报

190#
发表于 2018-1-19 07:17:37 | 只看该作者
本帖最后由 2010hook 于 2018-1-19 07:21 编辑

186楼的代码有重要改进:
1、生成的VHD,转换为GPT分区表(至少128MB),支持UEFI启动;
2、BCD启动项
统一了菜单名和设备名,非常直观好找,也能被一起删掉;
调整创建顺序,让GUID从小到大排列,顺眼舒服。
回复

使用道具 举报

191#
发表于 2018-1-19 09:18:48 | 只看该作者
sairen139 发表于 2018-1-17 15:19
巧了,我吃午饭的时候实验了实际分区系统,转为wimboot方式,再转为vhd方式,完成正常。
现在的流程可以 ...

生成指针文件,放到j:盘(我的vhd是j盘)
DISM /Apply-Image /ImageFile:F:\wimboot.wim /ApplyDir:j: /Index:1 /WIMBoot;是这个命令么?生成的wim在F盘。
回复

使用道具 举报

192#
 楼主| 发表于 2018-1-19 09:44:13 | 只看该作者
lbh123 发表于 2018-1-19 09:18
生成指针文件,放到j:盘(我的vhd是j盘)
DISM /Apply-Image /ImageFile:F:\wimboot.wim /ApplyDir:j: / ...

这条命令是把存放在F盘的wimboot.wim生成指针文件并把指针文件放在j盘。
回复

使用道具 举报

193#
 楼主| 发表于 2018-1-19 10:02:02 | 只看该作者
lbh123 发表于 2018-1-19 09:18
生成指针文件,放到j:盘(我的vhd是j盘)
DISM /Apply-Image /ImageFile:F:\wimboot.wim /ApplyDir:j: / ...

在PE 下(实际上在WIN8.1 UPDATE中也可以建立镜像文件,只是要想应用的话不能作用在原C盘,安到别的分区又称双系统了)管理员身份运行CMD,下面这段是我复制别的教程的
DISM /Capture-Image /ImageFile:D:\LoveWimBoot\Win10WimBoot.Wim /CaptureDir:C: /Name:Win10WimBoot /Description:"Win10 9879 WimBoot" /ConfigFile:"D:\TEMP\ExclusionList.txt" /WIMBoot /ScratchDir:D:\TEMP
建立LoveWimBoot和TEMP两个文件夹;建立ExclusionList文档,里面添加自己希望排除的文件或文件夹,格式如下,假设我排除XXXX账户下的缓存文件夹,就在文档上输入以下内容
[ExclusionList]
\Users\XXXX\AppData\Local\Temp
[ExclusionException]
[CompressionExclusionList]
提示,页面文件等无须担心,默认就排除了,巨硬也不傻;可以不额外排除,直接删除/ConfigFile:"D:\TEMP\ExclusionList.txt"命令即可。
回复

使用道具 举报

194#
 楼主| 发表于 2018-1-19 10:08:10 | 只看该作者
sairen139 发表于 2018-1-19 10:02
在PE 下(实际上在WIN8.1 UPDATE中也可以建立镜像文件,只是要想应用的话不能作用在原C盘,安到别的分区 ...

最后建立指针文件和引导就行了,因为上面那段我是复制的,下面的也顺便复制过来
2、生成指针文件
DISM /Apply-Image /ImageFile:G:\工作目录\Love\Win10WimBoot.Wim /ApplyDir:J: /Index:1 /WIMBoot
指针文件支持本地硬盘、VHD(X)等虚拟硬盘。第一步制成的Win10WimBoot.Wim映像不能放在VHD(X)里。
3、添加引导
bcdboot X:\windows /l zh-cn
PE中请如下操作
bcdboot c:\windows /s X: /f uefi /l zh-cn (UEFI启动)
bcdboot c:\windows /s X: /f bios /l zh-cn (BIOS启动)
回复

使用道具 举报

195#
 楼主| 发表于 2018-1-19 13:23:49 | 只看该作者
把vhd放在c盘,可以实现系统和数据都在c盘,一个分区就够了,节省硬盘空间。
回复

使用道具 举报

196#
发表于 2018-1-19 20:02:22 | 只看该作者
微软说Win10不支持WIMBoot:
Use /WIMBoot to append the image with Windows image file boot (WIMBoot) configuration. This only applies to Windows 8.1 images that have been captured or
exported as a WIMBoot file. This feature isn't supported in Windows 10.
回复

使用道具 举报

197#
 楼主| 发表于 2018-1-19 23:10:07 | 只看该作者
2010hook 发表于 2018-1-19 20:02
微软说Win10不支持WIMBoot:

说不支持,其实都是支持的,就是有些系统文件排除出去不压进wim就行。原来微软还说wimboot必须uefi启动,必须ssd,最后大家发现bios也行,机械硬盘也行。
回复

使用道具 举报

198#
发表于 2018-1-20 07:34:57 | 只看该作者
居然忘记了这个命令,已补上:
  1. BCDedit /set %GUID% NX OptIN
复制代码
回复

使用道具 举报

199#
 楼主| 发表于 2018-1-20 10:44:16 | 只看该作者
2010hook 发表于 2018-1-20 07:34
居然忘记了这个命令,已补上:

你可以把你目前用的论坛那个通用的pe先按rush在论坛那篇帖子的方法转成正常的硬盘系统,再按第一种内存做法做成全内存版的ramos的vhd。
回复

使用道具 举报

200#
 楼主| 发表于 2018-1-20 12:42:59 | 只看该作者
又一个新方法:pe下直接用bootice挂载vhd,把前面做好的sna备份还原到该vhd。重启即可进入ramos了!
回复

使用道具 举报

201#
发表于 2018-1-20 19:03:54 | 只看该作者
sairen139 发表于 2018-1-20 10:44
你可以把你目前用的论坛那个通用的pe先按rush在论坛那篇帖子的方法转成正常的硬盘系统,再按第一种内存做 ...

以前看过rush的帖子,我已经删除干净第三方工具和附带配置,完全没法再转。
对于81ramos,我更喜欢wim格式,很好用,很好维护。
因为Win10是趋势,能把它做成ramos,可以忍受vhd。
回复

使用道具 举报

202#
 楼主| 发表于 2018-1-20 20:44:44 | 只看该作者
sairen139 发表于 2018-1-20 12:42
又一个新方法:pe下直接用bootice挂载vhd,把前面做好的sna备份还原到该vhd。重启即可进入ramos了!

我的意思是全在windows环境的一种制作流程,另外一种全在pe系统下的制作流程。不重启的情况下从头到脚把ramos直接制作出来。
回复

使用道具 举报

203#
发表于 2018-1-20 23:33:09 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

204#
 楼主| 发表于 2018-1-21 08:36:03 | 只看该作者
2010hook 发表于 2018-1-20 19:03
以前看过rush的帖子,我已经删除干净第三方工具和附带配置,完全没法再转。
对于81ramos,我更喜欢wim格 ...

为什么说wim格式更好维护,你用什么工具来维护wim?
回复

使用道具 举报

205#
发表于 2018-1-22 06:19:38 | 只看该作者
注册表值导入不进去呀         是    HKEY_LOCAL_MACHINE\sys\MountedDevices   
                                          还是  HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices          ?



回复

使用道具 举报

206#
 楼主| 发表于 2018-1-22 10:24:31 | 只看该作者
都市浪子666 发表于 2018-1-22 06:19
注册表值导入不进去呀         是    HKEY_LOCAL_MACHINE\sys\MountedDevices   
                        ...

sys是在pe或者别的系统下加载配置单元导入vhd里的。你可以搜索一下如何加载配置单元。
回复

使用道具 举报

207#
发表于 2018-1-22 11:00:45 | 只看该作者
sairen139 发表于 2018-1-22 10:24
sys是在pe或者别的系统下加载配置单元导入vhd里的。你可以搜索一下如何加载配置单元。

哦哦好的,我试试
回复

使用道具 举报

208#
 楼主| 发表于 2018-1-22 11:04:11 | 只看该作者
wim本体和指针都在硬盘格式的img的ramos,img克隆分区到vhd能进入ramos!
回复

使用道具 举报

209#
发表于 2018-1-22 11:27:21 | 只看该作者
内存系统变成没激活了 怎么搞
回复

使用道具 举报

210#
发表于 2018-1-22 11:28:42 | 只看该作者
F:\Downloads\BOOTICEx64_v1.332
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-28 04:32

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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