基于虚拟磁盘VHD的多系统部署方式
基于虚拟磁盘VHD(VHDx)的多系统部署方式
概述
如标题所述,本方法是使用虚拟硬盘模拟硬件环境,将操作系统安装到虚拟硬盘的装机方式。
提示
配置系统的操作存在一定风险,请谨慎操作。
请确保自己拥有一定的计算机知识及操作经验,清楚知晓诸如BIOS EFI 硬盘分区 命令行等基本概念,这是确保操作成功的必要条件。
建议完整看完本教程后再尝试实际操作,特别是对于系统安装不够熟悉的读者。
优势
- 操作系统实际上封装在VHD文件中,不会占用实际分区;
- 硬盘不会被物理划分为不同部分,对于现在普遍使用的固态硬盘而言,主控可以更均衡地分配写入位置,有助于保持硬盘整体的健康度,变相延长使用寿命;
- 操作系统不再独立占用整个分区,分区及文件管理更加容易;
- 操作系统封装在一个文件中,易于迁移变更;
- 利用VHD的差分特性,可以对单一系统母本延申出多个分支系统,且互不干扰。也可用作系统备份还原点,由于是完整系统全部文件的备份,几乎可以抵抗除硬件损坏及VHD文件本身损坏外的一切攻击或意外故障。
缺点
- 多套了一层虚拟环境,有一定性能损耗,但几乎不可见;
- 非完整物理环境,多一个流程,系统稳定性有所降低,但几乎没遇到由此引发的故障;
- 非常规系统配置状态,部分优化软件可能会由于使用固定配置而导致系统故障;
- 非常规系统配置,部分教程需要适应性修改,增加了解决故障的难度;
- 系统盘会显示
弹出
按钮(点击不会真的弹出); - 不支持系统休眠;
- 不支持
BitLocker
。
同一硬盘及其上VHD内Windows10硬盘性能测试:
项目 | 读取 | 写入 | ||||||
---|---|---|---|---|---|---|---|---|
直读 | VHD | 对比 | 对比% | 直写 | VHD | 对比 | 对比% | |
SEQ(连续读写) | 1172.2 | 1183.17 | +10.97 |
+0.94% |
1204.1 | 1044.05 | -160.05 |
-13.29% |
512K(随机512K并发队列) | 802.2 | 1404.98 | +602.78 |
+75.14% |
878.9 | 717.15 | -161.75 |
-18.40% |
4K(随机4K并发队列) | 48.0 | 40.52 | -7.48 |
-15.58% |
123.3 | 79.82 | -43.48 |
-35.26% |
4KQD32(随机4K并发32队列) | 361.3 | 350.50 | -10.80 |
-2.99% |
268.3 | 319.88 | +151.58 |
+56.49% |
单位:MB/s;
测试完物理盘后保持正常使用状态(写稿)30分钟后再测试VHD,以排除缓存带来的影响;
使用的是同一个同版本测试软件,结果精度不一样,着实古怪;
体验上分明没什么感觉,但这测试数据……我怀疑我抄错表了;
循环三次测试后发现【512K(随机512K并发队列)】物理盘读取速度波动较明显,最后一次测试:
项目 | 读取 | |||
---|---|---|---|---|
直读 | VHD | 对比 | 对比% | |
512K(随机512K并发队列) | 1409.97 | 1509.4 | +99.43 |
+7.05% |
计算方法为:
- 对比:VHD-物理盘;
- 对比%:(VHD-物理盘)/物理盘。
操作
操作分为多个阶段,相互间呈继承关系,阶段间可中断,不执行后续阶段不会对系统造成严重影响。
准备阶段
损害预防及前提条件
本阶段应确保完成安装准备及处理为止故障的准备,不涉及实际系统安装。
确认系统配置
请确认系统(主板)的BIOS快捷键、启动项选取快捷键,通常能搜索得到。
请确认系统支持UEFI模式启动,可通过以下方式查看系统支持状态。
- 若不是古老的电脑,则几乎都支持UEFI,但不保证支持,为谨慎考虑,请二次确认。
- 在 【运行】 程序中输入 【msinfo32】 ,查看 【系统摘要】 的 【BIOS模式】 值,若为【UEFI】则系统正以UEFI模式运行,否则应尝试进入BIOS查看启动模式是否包含UEFI。注意:请勿修改配置。
- 使用硬盘管理工具查询硬盘分区表模式,若为 【GPT】 格式,则以UEFI模式运行。注意:若硬盘被修改过,此状态不可作为参考,其可能是不匹配的运行模式。
配置备用修复环境
配置一套简易修复系统,用以支持后面的配置及预防事故。
可以使用自己熟悉的系统,没有刚性要求。
此处建议使用 vtoy作为启动配置,WePE作为配置(修复)环境。
安装 vtoy
- 请准备一个U盘,2G及以上容量;
- 请前往vtoy官网下载适用版本安装:
https://www.ventoy.net/cn/download.html
; - 按照官网指示安装 vtoy :
https://www.ventoy.net/cn/doc_start.html
请确保安装位置为目标U盘;
注:若不想破坏U盘原本的文件,可采取 【无损安装】功能。
其位于 【配置选项】选项卡下的【无损安装】。
若提示条件不符,可调整U盘后再尝试,参考:
vtoy无损安装调整,参考资料位于:https://www.ventoy.net/cn/doc_non_destructive.html
;
注:教程所用软件可在下一步 配置 WePE 中获取。
配置 WePE
- 下载 WePE:
https://www.wepe.com.cn/download.html
; - 启动安装程序,但不安装;
- 生成 ISO 镜像:
- 于安装界面右下角找到【其它安装方式>】的【生成可启动ISO】;
- 选取一可用位置,保存ISO文件。
- 将ISO文件复制到 vtoy U盘。
注:也可不复制到U盘,放在硬盘内自己能找到的位置即可(介于后续可能会清除旧系统,清空系统盘,故不建议放在系统盘)。
从U盘以外部分启动的方法请参考:https://www.ventoy.net/cn/doc_browser.html
;
若要从WePE的ISO文件中提取软件,请将其挂载,然后找到WEPE/WEPE64.WIM
,使用兼容wim格式的解压软件打开,Program Files
内即是内置软件。
此教程会用到的包括:
WinNTSetup
;DiskGenius
;Others/BOOTICE
。
配置系统VHD文件
本阶段配置新系统的虚拟硬盘文件,不涉及实际系统安装。
Windows
微软官方文档为纯命令操作,本教程为图形界面操作,可自行选取配置方式。
微软官方文档链接为:https://learn.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/boot-to-vhd--native-boot--add-a-virtual-hard-disk-to-the-boot-menu
。
1. 下载Windows系统镜像
- 访问Windows下载地址
Windows10https://www.microsoft.com/zh-cn/software-download/windows10
;
Windows11https://www.microsoft.com/zh-cn/software-download/windows11
; - 下载任意版本ISO文件,然后跳过后续下载阶段,若无,请下载【安装媒体】;
- 启动下载的程序,随使用引导行进
- 想执行的操作为:【为另一台电脑创建安装介质(U盘、DVD或ISO文件)】;
- 选择希望的配置;
- 选择ISO文件;
- 选择文件保存位置(建议放在C盘以外的位置,无需放置在U盘内);
- 等待完成后关闭程序,不需要写入DVD。
2. 将镜像部署到VHDx文件中
此部分也可在WePE
中操作,若在WePE
中操作,可现备份EFI
分区内的所有文件。
注:仅备份文件不能确保还原系统引导。
提示:若要使用Windows10以前的版本,请使用VHD文件格式,而非VHDx格式。
注:Windows10以前的版本未测试过可用性,此提示仅是根据微软官方文档推导得出的建议。
- 创建VHDx文件
- 按
Win
+X
键,然后按K
,打开【磁盘管理】; - 点击【操作】,【创建VHD】;
- 选择一个保存位置(建议非C盘);
- 选择确定的硬盘大小(不建议过大,后续可以很容易的扩充容量,建议
48GB
); - 格式选择
VHDx
; - 选择动态拓展(主要是便于迁移,但会带来更多的不稳定性)。
- 按
- 配置VHDx
在【磁盘管理】中找到上一步创建的虚拟磁盘,右键,【初始化磁盘】;
选择
GPT
格式;关闭【磁盘管理】,打开
DiskGenius
硬盘操作有风险,请谨慎操作;找到目标虚拟磁盘,删除旧有的MSR分区,并保存更改;
稍微留意硬盘名称,查找分区的时候会需要区分;
若插入U盘,其名称将显示在驱动器列表内,选取启动驱动器时会需要区分;建立新分区
确认
ESP
、MSR
配置- 勾选
ESP
(实际上不生效,但带上更标准,且可顶替引导盘位置,防止系统引导出错); - 勾选
MSR
(实际上不生效,但带上更标准);
- 勾选
数值上使用默认配置即可;
2. 点击确认;
3. 确认主分区配置
使用默认配置即可;
4. 点击确认;
5. 保存更改。等待配置完毕,关闭
DiskGenius
。
可在DiskGenius
内修改各分区的卷标,以便区分分区,方法为选中分区,右键,【设置卷标】。
- 安装Windows安装映像到VHDx
启动
WinNTSetup
;确认配置
- 选择对应的Windows版本安装界面;
- 选择Windows镜像位置;
- 选择引导驱动器位置,请选择创建的虚拟硬盘的
ESP
分区也可选择其它非使用中的ESP
分区,切勿选错否则可能导致原有系统不能正常启动; - 选择安装驱动器位置,请选择创建的虚拟硬盘的主分区(容量最大的
NTFS
格式分区); - 选择系统版本(可选)
- 请选择于原系统相同的版本,安装后将自动激活(主板有OEM许可证的情况下,品牌机都有),若没有,则随便选择,启动后可以在【设置】【激活】中安装对应版本;
- 要查询系统版本,请打开【设置】【系统】【关于】【Windows 规格】查看。
- 确认后通过警告,再次确认安装信息;
- 确认无误后,点击【确认】。
- 等待部署完成,点击【确认】,并关闭
WinNTSetup
。
- 选择对应的Windows版本安装界面;
Linux
对于Linux系统,我所知成功率最高,操作门槛最低的方案是vtoyboot。
vtoy官网教程已足够完备,参见:https://www.ventoy.net/cn/plugin_vtoyboot.html
此处仅做部分补充:
- vtoyboot 除官方提示内容外,现阶段(2024年10月前)不支持差分虚拟磁盘,虚拟磁盘安装方式仅有
易迁移
和不独立占用分区
的优势; - vtoyboot 启动的磁盘模式较为特殊,请勿在系统内调整分区,会导致VHD磁盘结构异常,不能正常挂载,但仍可正常启动;
- 由于不宜直接调整分区,建议创建VHD时就设定为需要的大小,比起Windows,后期扩容相对困难;
安装阶段
提示:此阶段开始对系统配置进行修改,可能导致原有系统不能正常启动,请谨慎操作。
提示:建议备份已安装系统的虚拟硬盘文件,以免遭遇问题导致需要从头来过。
配置VHDx系统引导
对于Windows,ESP
分区受到Windows系统保护,此操作需要在PE环境下操作。
补充:若安装失败(问题表现与本分块后续描述的问题一致),可尝试关闭【安全启动】后再次安装,仅限于首次正式进入系统。确认能够正常重启后可重新打开【安全启动】,但建议系统大版本更新时关闭安全启动或保留增量备份(Windows11更新到24H2版本没有发现问题,可能仅初次安装存在此问题)。
补充:部分机型可能不能成功以VHDx方式安装Windows
- 在 2024年11月2日购买的一台机器(展示机,还包含额外的暗伤)上,出现了不能正常安装系统的问题,表现为:
- OOBE阶段结束后,初次进入系统,不会有任何错误提示,但关机后再次启动将进入自动修复模式,且不能成功修复;
- 在其它电脑上完成安装后的Windows VHDx文件可以正常开关机;
- 推测为进入系统后的初次关机未能应用某个配置,导致下次开机进入修复模式;
- 若要在此机器上使用VHDx装载Windows,请:
- 先在其它机器上安装Windows,并测试其是否能正常开关机;
- 将安装了Windows的VHDx文件复制到此机器上;
- 配置引导;
- 测试是否可以正常开关机;
- 移除旧有驱动程序
- Windows10/Windows11并未自带兼容的WIFI驱动程序,请自行下载安装。
- 安装驱动程序。
- 请注意:虽然可以成功启动(关闭)已正常安装的系统,但后续运行是否正常是不明的。
对于Linux,虚拟系统不能修改外部引导环境(严格来说也可以,但不应当将ESP
共享给虚拟环境)。
- 进入PE系统环境
- 关机;
- 点按开机,长按确认系统配置部分查询到的启动项选取快捷键
- 可能需要关闭【安全模式】;
- 若不希望关闭【安全模式】请参考
https://www.ventoy.net/cn/doc_secure.html
;
- 选择安装的U盘,其名称可能为一串英文字母数字的组合,通常位于最底部
- 若未出现vtoy字样的界面,可能是选择错误,重新尝试启动即可;
- 进入vtoy选取启动文件界面,选择你的WePE的ISO文件;
- 若U盘内没有别的镜像文件,将只有目标文件,直接回车启动即可。
- 一路回车,正常启动,进入PE系统。
- 挂载分区
- 启动
DiskGenius
; - 挂载物理硬盘
ESP
分区- 建议挂载存放VHDx文件硬盘的
ESP
分区,也可是其它驱动器的分区,但不能是VHDx虚拟硬盘。
- 建议挂载存放VHDx文件硬盘的
- 启动
添加BCD启动项
建议备份全部文件,或仅备份EFI\Microsoft\Boot\BCD
。- 启动
BOOTICE
; - 【BCD编辑】>【其它BCD文件】选择
ESP
分区内的EFI\Microsoft\Boot\BCD
(若是已成功安装的系统,也可直接新建BCD文件,然后替换文件,此方法可直接复制EFI\Microsoft
目录,并重命名该目录使用);- 若
EFI\Microsoft\Boot\bootmgfw.efi
不存在,可复制虚拟磁盘内的ESP
分区内的EFI\Microsoft
文件夹到所在物理磁盘的ESP
分区的EFI
文件夹下。
- 若
- 点击【智能编辑模式】;
- 编辑启动配置
- 点击【添加】>【新建 VHD 启动项】;
- 【启动磁盘】选择VHDx文件所在硬盘;
- 【启动分区】选择VHDx文件所在分区;
- 【设备文件】填写VHDx文件位置
- 以
\
开头,不包含盘符; - 建议文件路径不包含空格,请使用
_
替代空格; - 可在
DiskGenius
中查看位置,也可直接挂载分区,然后获取位置。
- 以
- 修改【菜单标题】为自己希望的名字(可选);
- 修改【超时时间】为希望的值,默认为
30
。
- 点击【保存全局设置】;
- 点击【保存当前系统设置】;
- 点击【关闭】;
- 启动
检查EFI启动项
- 在
BOOTICE
内,【UEFI】>【修改启动序列】; - 检查第一项(
Windows Boot Manager
)的属性- 【启动磁盘】应为BCD文件填写的磁盘;
- 【启动分区】应为
ESP
分区,和BCD文件不一致; - 【启动文件】应为
\EFI\Microsoft\Boot\bootmgfw.efi
。
- 若不一致,应点击【添加】,并选择
ESP
分区内的\EFI\Microsoft\Boot\bootmgfw.efi
文件,若有,则跳过本步骤- 该步骤需要现选择一个同硬盘下的启动项后才能成功添加,且只有成功添加才会报错。
- 若添加了启动项,可将其【上移】至第一位,使其成为默认启动项
- 标准路径的
Windows Boot Manager
在启动时会自动修改名称,并将自己添加到默认启动项(第一位),修改其名称没有实际意义,仅能生效一次。
- 标准路径的
建议拍照记录各启动项配置,以防意外。
- 在
不同于Windows,Linux并没有原生支持VHD启动的引导器,本方案采用rEFInd
,主要原因是其配置文件和efi文件位于相同目录,适合配置多EFI启动项启动。
须准备的文件:
vtoy
vdiskchain
https://github.com/ventoy/vdiskchain/releases
- 下载解压
- 需要文件
vdiskchain
;
- 需要文件
- 下载解压
rEFInd
https://sourceforge.net/projects/refind/
;下载解压,找到
refind
文件夹获取对应平台版本文件
- 文件
refind.conf-sample
; - 文件
refind*.efi
; - 文件夹
drivers*
及其子文件; - 文件夹
icons
(可以不需要其子文件,仅需文件夹);
- 文件
编辑
refind.conf-sample
,并重命名为refind.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
textonly 1
timeout -1
default_selection Ubuntu-vhd
dont_scan_files /EFI/Microsoft/Boot/bootmgfw.efi
dont_scan_dirs /EFI/BOOT,/EFI/Microsoft
menuentry "Ubuntu-vhd" {
loader /EFI/vtoy_boot/vdiskchain
options "vdisk=/OS_VHDX/ubuntu.vhd.vtoy"
}以上代码中
Ubuntu-vhd
为启动项名称,你通常不会看到它,但两个名称需要一致,不然不能自动启动;
以上代码中/EFI/vtoy_boot/vdiskchain
为vdiskchain
文件在ESP
分区的位置;
以上代码中/OS_VHDX/ubuntu.vhd.vtoy
为Linux VHD文件的位置,不包含盘符。此处配置与vtoy官方文档不一致,官方配置的参数不能传递给
vdiskchain
,需要单独使用options
传递参数;
更多参数可参考https://github.com/nixevol/rEFInd-zh_cn/
;
注意:rEFInd的文件结构不能改变,两个文件夹不能重命名,其母文件夹可以重命名。
- 配置引导器
- 复制
rEFInd
引导器到ESP
分区下的EFI
文件夹- 建议一个系统一个独立的引导器文件夹;
- 建议文件夹名称不包含空格。
- 复制
vdiskchain
到ESP
分区下的EFI
文件夹- 可以将其放在单独文件夹内,便于管理,如
vtoy_boot
文件夹。
- 可以将其放在单独文件夹内,便于管理,如
- 请确认
vdiskchain
、Linux VHD文件路径和refind.conf
内的描述一致。
- 复制
- 添加EFI启动项
- 配置方法于Windows一致,仅启动文件不一样;
- 启动文件为
refind*.efi
; rEFInd
不会自行调整启动项,可将启动项名称修改为自己希望的内容,以便使用。
启动测试
- 关闭PE系统,正常开机(或者直接重启);
- 查看系统是否正常启动。
系统安装 (仅限Windows)
系统安装随使用引导即可,仅提出几条建议:
- 不建议直接登录微软账户,直接登录用户目录将使用邮箱名的一部分,可能不利于后续使用;
- 若希望跳过登录,可采取以下方式:
- 使用
[email protected]
地址登录,报错后即可本地登录; - 按
Shift
+F10
或Fn
+Shift
+F10
调出命令行,输入OOBE\BYPASSNRO
后回车,重启后可跳过联网,继而跳过登录;
- 使用
- 建议使用纯英文用户名,避免中文、空格、特殊字符,以免部分程序不兼容。
优化阶段
提示:此阶段对系统配置进行修改,可能导致系统不能正常启动,请谨慎操作。
由于Linux方案不支持动态扩展,差分磁盘等功能,无本文可涉及的优化空间,故此阶段仅限Windows。
问题处理
系统安装后,运行可能存在一些问题,此部分包含两个常见问题。
Windows Boot Manager
自动修改启动序列
Windows Boot Manager
会自动修改启动序列,使用多系统时将产生问题,解决方案参见:
解决Windows Boot Manager自动设为默认启动项的问题。
启动蓝屏,提示磁盘空间不足
Windows默认启动时自动拓展到VHDx文件标定的大小,若磁盘没有足够的空间,将会蓝屏报错。
解决方法为:
修改注册表:
1 |
|
参见:https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-7/gg318055%28v=ws.10%29#step12-prevent-the-vhd-from-expanding-to-its-full-size
虽然是Windows7的文档,但依然适用,没找到Windows10的相关文档。
配置优化
此项均为可选,不弄也没什么问题。
删除原有的Windows系统
提示:在操作前,请备份一切可能仍有价值的文件。
- 进入PE系统;
- 使用
DiskGenius
删除原本的Windows系统所在分区- 选中该分区
- 通常会显示Windows图标;
- 建议查看分区内的文件,确认没有选错分区。
- 点击【删除分区】;
- 点击【保存更改】;
- 选中已被删除的分区;
- 右键单击;
- 指向【将空闲空间分配给】;
- 选择希望扩容的分区
- 建议选择前(或后)一个分区,这样数据迁移量会少一些;
- 如果希望删除多个额外的分区,可以现将它们都删除,相邻的空闲空间会自动合并为一个整体,然后分配空闲空间。
- 点击【保存更改】;
- 等待执行完毕后,关闭
DiskGenius
。
可以先给ESP分区分配启动器号,下一步需要使用。
- 选中该分区
- 修复引导程序
- 仅需修改BCD,修改方法与安装阶段一致,不再赘述。
调整Windows分区大小
- 进入PE系统;
- 使用
BOOTICE
调整VHDx容量- 【磁盘镜像】>【VHD文件信息(I)】;
- 选择VHDx文件;
- 点击【重设容量】;
- 填写目标容量;
- 点击【设定】;
- 等待完成,关闭
BOOTICE
。
- 使用
DiskGenius
调整分区大小。
然后就结束了,其过程也可使用Windows自带的磁盘管理和虚拟机服务完成,只要复制一份VHDx文件,配置成双系统,就可以对另一个VHDx文件进行修改。
将磁盘挂载到受保护的Windows
目录
我曾中过一次勒索病毒,绝大多数文件都废了,但Windows
目录下的文件全部建在,WindowsApps
目录下的软件也全部幸免,其它部分或多或少都出了问题,所以,Windows对其系统目录的保护可以利用来保护我们的文件免受篡改。
优势
- 文件安全,且不易被误操作破环重要文件。
劣势
- 文件结构变复杂,连带
页面文件
也需要额外配置。
操作如下:
- 创建挂载点文件夹
- 在
Windows
目录下创建一个空文件夹,此处为DiskBased
。
- 在
- 打开【磁盘管理】
- 找到自己的物理磁盘分区;
- 右键 > 更改驱动器号和路径;
- 点击【添加】;
- 选择【装入空白NTFS文件夹中(M):】;
- 选择创建的文件夹;
- 【确定】;
- 删除额外的驱动器号(和路径)。
- 打开注册表编辑器
- 访问
1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
- 修改
ExistingPageFiles
属性为1
2\??\C:\Windows\DiskBased\SystemPageFiles\pagefile.sys
注:第二行是必须的,且留空,仅有回车符。 - 修改
PagingFiles
属性为1
2C:\Windows\DiskBased\SystemPageFiles\pagefile.sys
以上代码中C:\Windows\DiskBased
为文件目录(必须);
以上代码中SystemPageFiles
为页面文件文件夹(非必须);
以上代码中pagefile.sys
为页面文件(必须)。
- 访问
- 重启,调整完毕。
创建差分文件
创建VHDx差分文件可用于两个方向:
- 完整备份,便于系统损坏后回滚(或是迅速将系统重置回一个干净的状态);
- 创建多系统分支,共用一个母本,节约磁盘空间
- 建议很少接收系统更新的方案使用,否则将保存多份系统更新,可能还不如直接复制一份单独使用节约磁盘空间。
操作如下:
- 进入PE系统
- 使用
BOOTICE
创建差分VHDx- 【磁盘镜像】>【差分VHD(M)】;
- 选择父文件;
- 选择子文件希望保存的位置;
- 点击【创建】;
- 添加系统引导
- 与前文添加方法一致,文件选择子文件。
若需要将改动写入父文件
- 打开
BOOTICE
; - 【磁盘镜像】>【差分VHD(M)】;
- 在【合并差分VHD/VHDX文件】>【子文件位置:】选取文件;
- 选择合并深度(可选);
- 点击【合并】;
- 等待合并完成
- 此过程没有进度条;
- 合并可能需要一定时间,请耐心等待,切勿中途强行关闭程序,这会造成严重的数据损坏。
- 打开
注意:差分文件结构必须完整,父文件不能被更改,否则所有子文件都会作废;
若差分链损坏,可使用
BOOTICE
【磁盘镜像】>【VHD文件信息(I)】重设父文件修复- 仅适用于文件本身未受到更改的情况
- 文件被剪切或复制到其它位置;
- 文件被重命名;
- 文件所在分区被挂载到其它位置。
- 仅适用于文件本身未受到更改的情况
若是用于增量备份,建议在创建子文件前,将母文件重命名,子文件使用母文件原有名称,则无需添加系统引导;
调整过引导器解决Windows Boot Manager自动设为默认启动项的问题的,可以将
Microsoft
文件夹复制,重命名,然后添加指向文件夹下Boot\bootmgfw.efi
的EFI启动项,启动项名称可自定义;可创建一个相对干净的系统差分,用于“表面”,将其设为默认启动项,用于隐藏实际常用系统,以免类似于“亲戚家的孩子”的“入侵者”对系统发动“毁灭性打击”,遭受打击后仅需将该差分文件删除并重新创建即可恢复旧有状态(有时候我会使用这样的方式测试一些可疑的软件),自己使用时仅需按住选择启动项的快捷键即可启动常用系统。
自动挂载磁盘或虚假的磁盘
你可能不习惯看到自己的电脑里只有一个C盘,那么,可以采取以下措施
- 挂载一个物理磁盘分区
- 直接使用【磁盘管理】挂载磁盘即可。
- 挂载一个VHDx
提示:挂载存在延迟,并非一开机就可以使用。
提示:挂载驱动器号为默认挂载位置,要指定,请参考将磁盘挂载到受保护的Windows
目录处的方法。
提示:若要为挂载的VHDx指派驱动器号,开机时文件资源管理器将弹出弹窗,但Windows 11在设置中挂载没有弹窗,且下次开机会自动挂载(Windows 10可用的曲折方法请参考下一项)。在【设置】中挂载(Windows11可用,至少24H2版本已经可用,更早版本不确定)
- 打开【设置】;
- 【系统】>【存储】>【高级存储设置】>【磁盘和卷】;
- 点击【附加VHD】或【创建VHD】
按照程序指引即可挂载VHD。
此方法附加的VHD下次开机将自动附加,暂未发现可见的附加延迟。
此方法附加的VHD挂载驱动器号不会有文件资源管理器弹窗。使用
diskpart
编写
diskpart
脚本- 创建一个txt文本文档;
- 写入如下内容; 以上代码中
1
2
3select vdisk file=T:\temp\1.vhdx
attach vdisk
exitT:\temp\1.vhdx
为VHDx文件路径;
若要挂载多个VHD,重复第1、2行。
参考
添加任务计划
- 打开任务计划程序
win
+X
;- 计算机管理;
- 系统工具;
- 任务计划程序。
- 创建任务
- 【常规】
- 界面右侧,点击【创建任务…】;
- 名称、位置、描述随意;
- 选择【不管用户是否登录都要运行(W);
- 勾选【不存储密码(P)】;
- 勾选【使用最高权限运行(I)】;
- 勾选【隐藏(E)】。
- 【触发器】
- 【新建】;
- 【开始任务(G)】选择【启动时】;
- 【确定】。
- 【操作】
- 【新建】;
- 【程序或脚本(P):】输入 以上代码中
1
powershell diskpart /s T:\temp\disk_d.txt > T:\temp\log.txt
T:\temp\disk_d.txt
为脚本位置,必须填写完整路径,除非其位于system32
目录;
以上代码中> T:\temp\log.txt
由于记录脚本的输出内容,非必要。 - 【确定】;
- 【是】。
- 【条件】
- 取消勾选【只有在计算机使用交流电源时才启动此仍未(P)】。
- 点击【确定】。
参考
- 打开任务计划程序
使用
Hyper-V
Shell- 前提条件
- 系统配置了
Hyper-V服务
Windows PowerShell 的 Hyper-V 模块
。
- 系统配置了
- 添加任务计划
- 与方法前文一致,区别在于【操作】的【程序或脚本(P):】应输入
1
powershell Mount-VHD -NoDriveLetter -Path T:\temp\1.vhdx
- 以上代码中
-NoDriveLetter
指定不挂载驱动器号,可选。 - 若要加载多个VHD,可【添加】多个操作或将
Mount-VHD -NoDriveLetter -Path T:\temp\1.vhdx
放于txt文本文档中,并配置多行,然后修改后缀名为.ps1
,【程序或脚本(P):】输入该文件的完整路径。
- 与方法前文一致,区别在于【操作】的【程序或脚本(P):】应输入
- 前提条件
- 给一个文件夹挂载驱动器号,伪装成一个磁盘
使用命令
1
Subst T: C:/Disk_T
此命令将文件夹C:/Disk_T
挂载为T
盘,重启后失效。若希望启动时自动挂载
- 将其写入txt文本文档中,然后修改后缀名为
.ps1
; - 打开【组策略编辑器】
- 在【运行】输入
gpedit.msc
。
- 在【运行】输入
- 【计算机配置】>【Windows设置】>【脚本(启动/关闭)】;
- 双击【启动】;
- 【Powershell脚本】
- 【添加】
选择准备的.ps1
脚本文件。
- 【添加】
- 【确认】。
- 将其写入txt文本文档中,然后修改后缀名为
若目标磁盘为挂载到文件夹的VHDx文件目标文件夹,可能需要添加延迟,以确保目标目录可访问,如:
1
2timeout 3
Subst T: C:/Disk_T
将其它文件目录迁移到VHD
若有将一部分文件存档,要使用的时候再取出使用的需求,可以将VHDx挂载到该目录,以保持系统整体相对简明的结构。
例如:
- 将
miniconda
安装到VHD中,一系列的程序及其环境可以在多个系统间流转,迁移; - 将所有游戏配置到VHD中,营造一种电脑里没有游戏的假象,实际上每个系统都可以随时调用;
至于操作,我相信你已经掌握了。