*这是我的第一篇帖子/问题 - 我相信这是一个与 isipro 非常类似的问题/挑战 --
但似乎我被指示提出我自己的问题而不是回答或扩展他们的问题。
我的情况:
base.0 = win.7x64sp1 Ultimate 的第一个驱动器快照映像,仅驱动程序 + 最少实用程序
base.1 = 相同 [win.7x64sp1 Ultimate] 的第二个驱动器快照映像,已安装所有应用程序的 75%
base.2 = 相同 [win.7x64sp1 Ultimate] 的第三个驱动器快照映像,100%安装了所有应用程序
..... *base.2 安装到 C:\ 作为启动驱动器 -
我有一个带有 BCD 的 100 MB 系统保留分区。
我可以毫无问题地重新映像 C:\ 以便在不同的 DS 映像之间切换和更新它们,
但我希望能够本地启动到第二个分区上的任何映像的实例,
并在启动时提供选择。
使用已准备好的图像显然可以节省时间,
因为无需再次投入设置/调整时间。
我想要本机启动而不是虚拟机或 vhd - 尽管我确实将它们用于其他目的。
我的目标:
我想将我的 base.0 映像安装到分区 B:\,以便本机启动
(不需要虚拟机)到最小操作系统的单独实例中,
以用于应用程序测试目的。
这个单独的实例将在重新启动后继续存在,直到我希望
从不变的基线重新映像并“重新开始”。
- 我已按照 Jamie Hanrahan 在 isipro 的帖子中概述的步骤配置 BCD,并且在 CMD 上获得成功,并且在启动时获得单独的条目,
因此看起来一切看起来都很好。
**问题:
-- 当我选择新的启动项时,机器启动到所需的分区 B:\,
——如磁盘管理的“状态”栏所示:
B:=(健康、启动、崩溃转储、逻辑驱动器)
C:=(健康、主分区)
——但实际启动的是操作系统的 base.2 实例,而不是我想要的 base.0,
—— 从 base.2 桌面、开始菜单、应用程序等的存在可以看出。
我将非常感激您提供的帮助,帮助我了解除了新的 BCD 条目之外,还需要更改哪些/如何更改其他内部组件,以使此类程序成功完成。
谢谢
答案1
每个 Window Vista、Windows 7/8/10 加载器都为其目标(要启动的操作系统)指定两个驱动器号 - “device”和“osdevice”。
您可以使用它bcdedit /enum all /v
来查看 BCD 中所有当前的加载器。
bcdedit /set ...
可用于改变加载器的每个参数。
为了更容易查看和更改完整的 BCD 内容,使用可视化 BCD 编辑器。
0.9.3.1 版工具还可以自动为 BCD 中没有条目(加载器)的 Windows 7 安装创建加载器。右键单击以查找“创建缺失的 Windows 加载器”选项。
答案2
终于!!经过几年的思考/试验/失败终于成功了!!
也许这个帖子应该改标题——
“本机启动来自同一谱系、位于同一磁盘上的 2 个(相同或差异)克隆(当然来自不同的分区)”
简短的介绍: 假设你理解并正确实施了正确的 BCD
[这对很多人来说可能是一个巨大的误解],
那么整个任务本身就与 BCD 无关——
它涉及删除操作系统安装本身中的特定标识符和注册表配置 - 这让我想到了.....
简短解决方案:Sysprep 安装!
(警告:在解决主安装映像所呈现的特定问题时,您可能会遇到陡峭的学习曲线)
这就是最终起作用的方法 - 最终允许将 [sysprepped] 克隆安装到与其父级相同的磁盘上的不同分区,并独立启动而无需对其父级进行任何引用或覆盖。
中短期解决方案:使用虚拟机或 VHD - 可能部署得更快,并提供关于如何创建等的多种选项。
中长解决方案:只好重新手动安装并配置操作系统 - 但是!!
尽可能多地使用便携式应用程序 - 第三方应用程序,或者使用 [$$$] VMWare-Thinapp、Spoon-Xenocode、Cameyo 等创建自己的应用程序。
然后,当您花时间准备自己的定制金牌大师时,请制作一个仔细的日志文件 [+ 屏幕截图],记录安装、调整等的顺序,以指导您并减少未来部署所需的时间。
我发现 Nir Sofer 的“MyUninstaller”是一款不可或缺的工具,因为它有显示安装日期 - 时间 - 版本 - 应用程序名称等的列,我对其进行了截图并用作何时执行了什么操作等的参考。
详细解决方案/详细答案: 花时间研究和学习免费部署工具的 Microsoft 文档!
我坚信,像我这样的人发布这类问题是为了寻找易于使用的方法,因为我们真的希望 Nuhi 通过一种点击/无需思考的方法来重生 nLite/vLite,以处理 Windows 7 --> 8 > 10 > 未来的操作系统!
...哦,我们在做这件事的时候还要加入一点 DAZ Loader 或 KMSPico,是吗?
[只是为了解决那个令人讨厌的概念......“我知道从技术上讲我可以,但从法律上讲 - 我可以吗?”]
听着 - 有合法的方法可以对 Windows 操作系统进行扩展试用 [重新武装],另外,您认为 Nuhi 等人的 GUI 部署方法基于什么?
—— 如果你愿意的话,可以称其为底层的微软“api”,它对你和我来说同样可供我们努力学习,就像对 Nuhi 等人一样 —— 他们显然为大师付出了时间/代价!
如果这些都太多了,那么至少可以利用 VHD,这是一个很好的折衷方案——
“是的,我们合法地允许你这样做 - 但仅限于这些版本[企业版/旗舰版]”。
祝和平,部署愉快!
答案3
我遇到过类似的问题,我克隆了一个驱动器,但无法从中操作。我的问题是注册表编辑器对旧卷号进行了编码。因此,当我引导到其他目标时,作为主引导字母的“C”卷号仍保留在旧驱动器上。因此,有必要在将分区克隆到磁盘的新部分之前清除注册表编辑器的卷号分配,或者在之后但在引导到新分区之前清除它们。
如果您想要将一个分区克隆到同一驱动器的不同部分,请执行以下步骤:
- 打开注册表编辑器(Windows键 + R,然后输入 regedit)
- 删除除默认项之外的所有项
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
。(警告:这将删除分配给各个分区的所有字母。如果您的设置很复杂,则可能必须随后重新分配驱动器字母。在这种情况下,您可能希望在创建新分区后才使用其他方法更改其注册表项。操作说明如下。) - 使用工具将分区复制到驱动器的新部分(我使用的是 AOEMI 分区助手(免费版),但还有多种工具可以完成这项工作)
- 打开管理员 Windows Shell(右键单击 Windows 按钮,然后单击“Windows Powershell(管理员)”
bcdboot e:\windows
确定新分区的驱动器号。输入命令e
新分区的驱动器号- 使用以下命令验证
bcdedit /enum
分区是否已添加到 Windows 启动菜单中,以验证分区是否已添加。您应该会看到类似
...
Windows Boot Loader
-------------------
identifier {random uuid}
device partition=E
...
- 重新启动进入新分区。启动“磁盘管理工具”以验证“C”盘是否是硬盘的正确分区。您还可以使用相同的工具为其他分区重新分配不同的字母以满足您的需求。
更改不同分区上的 Windows 注册表。
在工作驱动器上打开 regedit。这可以是任何可用于启动的分区,甚至可以是可启动的 Windows USB 驱动器(导航到命令提示符并输入
regedit
)选择 HKEY_LOCAL_MACHINE
选择
File>Load Hive
(完成第 2 步后此选项将显示为灰色)导航到目标驱动器并按照代表新目标分区的文件路径进行操作
E:\Windows\System32\config\SYSTEM
。E
(如果使用可启动 USB,请使用命令DISKPART
,然后list volume
在命令提示符中确定要使用的正确字母)输入任意字符串作为键名,例如“Ehive”
下拉新的“Ehive”键并选择“已安装的设备”
删除除“默认”之外的所有条目
继续上述“步骤 5”的流程