图解 Windows 7 Native Boot 全教程

Windows7 VHD Native Boot实战
本文介绍如何在Windows7中使用Native Boot技术从VHD文件启动系统,包括创建VHD、安装系统及配置启动项等步骤。

本文转自WilsonWu的blog

Windows 7 也用了一段时间, 就Vista来说, Windows 7 确实速度快了很多, 有些新特性还是令用户感到非常方便的,其中一项亮点就是Native boot了, 中文不知道怎么说, 其实很简单, 就是让用户使用实体机的硬件来启动VHD中的系统,这个对于经常做测试或实验的用户是非常方便的, 我们再也不用来回Ghost系统了.
开始正题, 首先建立一个足以安装Windows 7的VHD, 建议10到15G左右, 据说一定要建立Fix模式的, 动态模式的我也没测试, 暂且为了保险相信一下传说, 步骤如下:
1. 打开Computer Management:

2. 选择Disk Management:

3. 选择建立VHD:

4. 创建一个10G的VHD:

5. 经过漫长的创建过程, 得到如下VHD:
  
接下来就要在这个VHD中安装Windows 7了, 我们这里使用VPC 2007来安装, 如下步骤:
6. 安装前先格式化一下这个盘, 首先打开CMD:

7. 输入Diskpart命令:

8. 然后输入: Select disk 1

这里我的VHD在Disk 1, 你可以按具体情况定
9. 然后使用: Create partition primary size=10000:


10. 使用VPC安装Windows 7:

11. 选择创建新VPC:


12. 将系统上的VHD取消加载:

13. 选择使用现有VHD:




14. 创建好如下:

然后打开该虚机来安装Windows 7, 这个过程不详细介绍了, 大家看图吧:




  
安装完成之后我们关闭VPC, 接下来就是重点了, 要将VHD加入到系统启动列表中.
15. 以管理员方式打开CMD:

16. 首先输入bcdedit来看看目前启动管理中的内容:

大家可以看到只有一个默认系统在列表中.
16. 将刚才安装好系统的VHD附加到现在系统中, 在Disk Management中选择附加VHD:

17. 附加好后状态如下:

18. 然后在Diskpart中为该盘设置一个盘符:


19. 回到cmd中输入bcdboot r:/windows /s c:

20. 再使用bcdedit来查看目前系统启动列表:


现在我们看到就有两个系统了, 一个在c盘一个在r盘, 然后我们重新启动计算机, 这里选择系统我就没法演示了.
下面是新系统启动完成的图:

java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@659bbbae testClass = com.huawei.vmall.ut.HotMockInit, locations = [], classes = [com.huawei.vmall.car.CarServerStartApplication], contextInitializerClasses = [], activeProfiles = ["cse-enable"], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.test.context.support.DynamicPropertiesContextCustomizer@0, [ImportsContextCustomizer@5290226e key = [@com.huawei.vmall.mock.MockTestInterface(), @com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig(value={"application"}, order=2147483647), @org.springframework.context.annotation.Import(value={com.ctrip.framework.apollo.spring.annotation.ApolloConfigRegistrar.class}), @org.apiguardian.api.API(consumers={"*"}, since="5.0", status=STABLE), @org.springframework.test.context.BootstrapWith(value=org.springframework.boot.test.context.SpringBootTestContextBootstrapper.class), @org.springframework.boot.test.context.SpringBootTest(args={}, classes={com.huawei.vmall.car.CarServerStartApplication.class}, properties={}, useMainMethod=NEVER, value={}, webEnvironment=MOCK), @org.springframework.test.context.ActiveProfiles(inheritProfiles=true, profiles={"cse-enable"}, resolver=org.springframework.test.context.ActiveProfilesResolver.class, value={"cse-enable"})]], org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@2b50150, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@328572f0, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@710b30ef, org.springframework.boot.test.web.reactor.netty.DisableReactorResourceFactoryGlobalResourcesContextCustomizerFactory$DisableReactorResourceFactoryGlobalResourcesContextCustomizerCustomizer@2ba45490, org.springframework.boot.test.autoconfigure.OnFailureConditionReportContextCustomizerFactory$OnFailureConditionReportContextCustomizer@7af707e0, org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@3f3c7bdb, org.springframework.boot.test.context.SpringBootTestAnnotation@3be4a587], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:180) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:200) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:139) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) at com.huawei.vmall.mock.hotswap.SpringDelegateRunner.agentStart(SpringDelegateRunner.java:125) at com.huawei.vmall.mock.hotswap.SpringDelegateRunner.runTestInWin(SpringDelegateRunner.java:100) at com.huawei.vmall.mock.hotswap.SpringDelegateRunner.runChild(SpringDelegateRunner.java:90) at com.huawei.vmall.mock.hotswap.SpringDelegateRunner.runChild(SpringDelegateRunner.java:49) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) at com.huawei.vmall.mock.hotswap.SpringDelegateRunner.run(SpringDelegateRunner.java:234) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.huawei.vmall.bhm.core.aop.LogAspect] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@36baf30c] at org.springframework.util.ReflectionUtils.getDeclaredFields(ReflectionUtils.java:756) at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:722) at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:707) at org.springframework.boot.test.mock.mockito.DefinitionsParser.parse(DefinitionsParser.java:68) at org.springframework.boot.test.mock.mockito.MockitoPostProcessor.postProcessBeanFactory(MockitoPostProcessor.java:141) at org.springframework.boot.test.mock.mockito.MockitoPostProcessor.postProcessBeanFactory(MockitoPostProcessor.java:134) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:363) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:197) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:791) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:609) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:144) at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1461) at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:563) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:144) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:110) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) ... 34 more Caused by: java.lang.NoClassDefFoundError: javax/validation/executable/ExecutableValidator at java.base/java.lang.Class.getDeclaredFields0(Native Method) at java.base/java.lang.Class.privateGetDeclaredFields(Class.java:3473) at java.base/java.lang.Class.getDeclaredFields(Class.java:2542) at org.springframework.util.ReflectionUtils.getDeclaredFields(ReflectionUtils.java:751) ... 55 more Caused by: java.lang.ClassNotFoundException: javax.validation.executable.ExecutableValidator at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ... 59 more
最新发布
12-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值