博物馆网站建设方案有没有做网站源代码 修改的

web/2025/9/27 18:26:32/文章来源:
博物馆网站建设方案,有没有做网站源代码 修改的,wordpress先页面再首页,wordpress 底部居中by fanxiushu 2023-07-26 转载或引用请注明原始作者。 其实使用本地镜像文件启动电脑#xff0c;这个windows操作系统本身就是自带的功能。 win7以上的系统#xff0c;制作 vhd或vhdx格式的镜像文件#xff0c; 然后在镜像文件中安装windows操作系统#xff0c;然后放到真实…                                             by fanxiushu 2023-07-26 转载或引用请注明原始作者。 其实使用本地镜像文件启动电脑这个windows操作系统本身就是自带的功能。 win7以上的系统制作 vhd或vhdx格式的镜像文件 然后在镜像文件中安装windows操作系统然后放到真实硬盘的某个分区的某个目录中。 然后在真实的操作系统中修改BCD配置文件把BCD配置成从刚才安装了操作系统的vhd或vhdx镜像文件启动 这样电脑下次启动的时候就自然从vhd或vhdx的镜像文件中启动了。 自从win7开始创造了 vhd或vhdx格式的镜像文件以来就有了这样的功能。 只不过我一直没用过不知道能用来干嘛。 不过也确实挺新奇的 你想啊本来按照正常的思路应该是老老实实的在真实硬盘分区中安装操作系统 然后从真实硬盘分区中启动电脑 现在变成了可以从真实硬盘中的某个镜像文件vhd或vhdx格式文件中启动电脑。 本文并不打算介绍windows自带的这种功能 而是从windows无盘启动技术出发开发我们自己的从本地镜像文件启动windows操作系统的功能。 这个应该是我在阐述 UEFI引导程序开发的第2篇文章末尾提到过这么一个类似的功能windows无盘启动技术开发之UEFI新一代BIOS引导程序开发之二_uefi驱动开发_雨中风华的博客-CSDN博客 从无盘启动技术出发开发自己的从本地镜像文件启动windows操作系统。 可以让我们从原理上深入理解windows上面的从vhdx这样的镜像文件启动系统的骚操作。 同时从原理上掌握让我们有了更多的自主权 比如镜像文件格式可以自己定义我一般都是使用原始镜像文件格式因为这样简单而且高效 比如把各类不同操作系统集成到一起来 比如把linux和windows的镜像文件都放到NTFS分区的硬盘中 当然这需要linux和windows中都开发类似的功能工作量也不少。 而且牵涉到linux使用不同的文件系统还得在linux内核中开发对应的NTFS文件系统。 当然如果全程都是自己开发的网络方式的无盘启动这个事情就变得轻松了些 甚至可以把从从本地镜像文件启动这个功能加入到网络无盘启动中去作为一个小小的附加子功能。 我就是这么做的在实现了网络方式的无盘启动之后 也许是好玩也许是验证这种技术可行性当然目前好像也没发现这玩意有啥用处。 反正不管怎么说先让我们来看看下面的演示视频这个是我加入了本地镜像启动的无盘启动。 diskless-boot 视频的前半部分是展示从网络方式的无盘启动过程。 视频的后半部分展示的是从本地镜像文件启动的过程。 本地镜像启动稍微快些因为毕竟是读写本地镜像文件比网络传输快些。 现在我们来看看本地镜像启动的具体实现过程。 其实正如我在在阐述 UEFI引导程序开发的第2篇文章末尾所提到的。 如果你对整个无盘启动技术熟悉那么对从本地镜像文件启动的理解也不会有什么难度。 本文主要讲述的是在UEFI启动环境下的本地镜像文件启动。 其实传统的BIOS也可以实现的但是在传统BIOS下实现起来过于繁琐。 主要是我不是太熟练传统BIOS环境下16位程序的详细开发过程。 CSDN阐述 Legacy BIOS引导程序开发那个代码基本做于多年前 当时也是花了想当多的精力到处查资料恶补16环境下的程序开发 随着传统BIOS渐渐退出历史舞台对16位程序的开发只会越来越陌生。 比如第一个难题就是如何在传统BIOS环境下实现 NTFS文件系统。 虽然可以查很早以前关于DOS的实现 或者比如WINXP泄露的代码找到16位环境的NTFS实现但是我想肯定得花相当多的精力。 再比如Legacy BIOS中有部分实现代码必须是放到固定扇区的 实现NTFS文件系统的代码也必须放到固定扇区中就像 windows中的ntldrbootmgr等这些引导程序一样。 Legacy BIOS不像  UEFI UEFI全程使用文件系统方式你不用关心引导文件究竟该放到磁盘哪些扇区位置。 所以最终也只好放弃只实现 UEFI 环境下的本地镜像文件启动。 自己实现本地镜像文件的启动其实跟网络方式的无盘启动类似 基本也需要实现两个核心部分 1 UEFI环境下的引导程序具体需要实现哪些功能下面会讲述。 2windows环境中的虚拟磁盘驱动。 对于第一部分UEFI环境下的引导程序。 这个引导程序不限于放到本地磁盘的ESP分区的 EFI\Boot\bootx64.efi 中 就如上面视频演示的那样 这个UEFI引导程序也可以通过网络方式加载比如PXE引导方式加载。 反正只要让他在UEFI环境中能正常运行起来就行。 这就是与传统BIOS的引导程序差别巨大的地方可以说是十分方便。 当然既然是本地镜像文件启动放到本地硬盘的ESP启动分区的 EFI\Boot\bootx64.efi  更合理些。 这个UEFI环境下的引导程序开发也没有多少好讲述的 因为在CSDN前面阐述 UEFI引导程序开发的两篇文章中已经阐述了关于UEFI引导程序的开发。 都是需要在 UEFI 引导程序中实现 BlockIO接口的虚拟磁盘驱动 然后使用 LoadImage和StartImage等函数从这个虚拟磁盘驱动中找到 EFI\Boot\bootx64.efi 引导程序 然后加载它之后就完事了接着就是windows自己的事情。 与网络引导方式的唯一不同的就是这个 BlockIO虚拟磁盘驱动的数据来源。 网络引导方式的虚拟磁盘驱动当然是从网络传输过来所以必须实现 SNPUNDI或者UDP接口网络通信。 而现在这个数据来源是来自本地磁盘上的某个镜像文件 因此现在我就必须得正确读写本地磁盘上的这个镜像文件。 假如我们的本地硬盘格式化为NTFS文件系统镜像文件放到某个NTFS分区上。 那我们就必须在UEFI引导程序中实现NTFS文件系统的访问。 同样的如果本地磁盘格式是其他的。比如ext3、ext4等linux下的文件系统 我们也必须在UEFI的引导程序中实现对这些文件系统的访问。 我这里采用的是 ntfs-3g 这个开源的 NTFS文件系统https://github.com/tuxera/ntfs-3g 这个代码里底层实现中 读写具体扇区的接口函数只实现了 windows和unix下没有实现 UEFI。 但是我们可以仿照源码中windows和unix读写扇区的接口函数实现UEFI中的扇区读写接口。 也可以不用麻烦自己实现因为github上有人已经实现了 UEFI环境下的 NTFS对应接口。 当然大部分都是以UEFI单独驱动方式实现。 我们这里是直接集成到自己的 UEFI引导程序中没必要再安装一个单独的 DXE驱动。 因此得做些修改。 在我们的UEFI引导程序中通过 BS的LocateHandleBuffer 函数遍历所有 BlockIO设备 然后尝试使用 NTFS-3G 去挂载BlockIO能挂载成功说明是 NTFS分区。 就这样把所有是NTFS系统的分区都挂载上。 然后我们就可以通过手动输入具体的某个镜像文件名 或者遍历NTFS分区的某些目录找到感兴趣的镜像文件。 然后以这个镜像文件作为我们新建立的BlockIO虚拟磁盘驱动的数据源。 至此本地镜像启动的UEFI引导程序基本完成。 当然为了让windows下的我们的虚拟磁盘驱动 能接着访问UEFI引导程序使用的镜像文件 我们还得通过共享内存的手段把UEFI访问的镜像文件名等参数传递给 windows下的虚拟磁盘驱动。 这个功能就像 iSCSI磁盘下所谓的 iBFT 一样。当然原理一样传递的参数等各方面都不同。 然后接下来就是windows平台下的虚拟磁盘驱动开发了。 这个也没必要细说因为我在CSDN上介绍了许多这方面的知识。 你可以使用 windows的StorPort框架也可以自己全套实现类似StorPort框架的虚拟磁盘驱动。 接着就是找到UEFI引导程序共享内存中的关于哪个镜像文件名等相关参数。 然后打开这个镜像文件创建基于这个镜像文件的虚拟磁盘作为接下来的windows系统磁盘。 当然上面的过程看似简单但是可能也并不是那么美好。 因为毕竟是在  Boot-Start 阶段是非常早的启动阶段。 这个阶段我们要访问真实硬盘中的镜像文件 前提是对应的真实硬盘驱动必须启动起来 这就又回到了前一篇文章阐述的无盘网络引导网卡驱动的问题了。 但是情况稍好的是大部分硬盘驱动都是windows自己带的 不像网卡驱动种类繁多非常难搞。 硬盘驱动种类不多而且基本都是windows自己集成了对应驱动。 而且即便是第三方的磁盘控制器驱动对应的厂商也会想方设法的跟windows联系 把他们的磁盘控制器驱动集成到windows内核包中否则真就没办法使用他们的硬盘启动系统了。 因此大部分磁盘都能在boot-start阶段找到对应的驱动能启动起来。 自然如果遇到某些其他情况磁盘控制器驱动是第三方的而且并没有集成到windows的内核包中 我们也得像上篇文章介绍的那样手动在镜像文件中添加对应的硬盘控制器驱动。 以上说的是镜像文件放到 NTFS文件系统中的情况 在NTFS文件系统中windows端的虚拟磁盘驱动就省事多了因为NTFS文件系统是现成的。 如果现在换一下比如是linux系统下常用的 ext4 文件系统。又该如何办呢 UEFI引导程序没啥好说的都一样的工作量无非是把 NTFS-3G换成了ext4ext4开源代码肯定更多。 至于windows端工作量就提升上来了。 主要就是对ext4文件系统的集成。 我们可以单独实现一个 boot-start 阶段运行的ext4文件系统驱动 让它像windows中的ntfs文件系统驱动那样工作能自动被识别自动被挂载。 这样我们在虚拟磁盘驱动中依然可以简单使用 ZwCreateFile 函数打开ext4文件系统下的镜像文件。 当然我们也可以把ext4开源代码直接集成到自己的虚拟磁盘驱动中来 这省去了单独开发windows下的ext4文件系统驱动的麻烦尤其是跟windows内核接口融合部分。 但是却增加了虚拟磁盘驱动的开发负担。 具体采用哪种办法可以根据情况自己来定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

盐城市亭湖区城乡建设局网站免费制作自己的网站

文章目录 前言一、进制转换1、十进制转二进制2、二进制转十进制3、二进制乘除法 二、原码、反码、补码1、由补码计算十进制数2、计算某个负数的补码 前言 2023.8.13 天气晴 一、进制转换 1、十进制转二进制 整数:除以2,余数倒着写 小数:乘…

外贸网站建设渠道建设公司资质查询官网

下载地址:https://commons.apache.org/proper/commons-beanutils/download_beanutils.cgi

营销型网站设计西安市高陵区建设局网站

关注并标星大同学吧每天1次,打卡学习积累1个新知识,增1分职场底气作者称谓:Tao涛个人介绍:摸爬滚打多年的数字后端工程师微信公众号:数字后端IC芯片设计半导体知识分享第29期技能升级,从这里开始最近项目刚…

网站收录是怎么回事公司建立网站的必要性

前言:node.js服务器动态资源处理见 http://t.csdnimg.cn/9D8WN 一、什么是node.js服务器静态资源? 静态资源服务器指的是不会被服务器的动态运行所改变或者生成的文件. 它最初在服务器运行之前是什么样子, 到服务器结束运行时, 它还是那个样子. 比如平…

网站建设可以先备案嘛先建设网站后付款

文章目录 1. QStyle的作用(实现不同系统下的界面效果的匹配)2. Qt内置样式的使用3. 源码3.1 可视化UI设计3.2 mainwindow.cpp 1. QStyle的作用(实现不同系统下的界面效果的匹配) Qt 是一个跨平台的类库,相同的界面组件…

樟树市建设局网站西安哪家做网站好

项目搭建 1、启动ES,和head-master,用head-master建立索引 不建立也没事,添加数据的时候会自动创建 2、导入SpringBoot需要的依赖 注意:elasticsearch的版本要和自己本地的版本一致!所以还要在pom里面添加自定义版本…

怎么通过数据库做网站的登录校园网站建设意见表填写

昨天在家看电视时,退出的时候发现了一个弹窗效果,整个背景模糊,觉得这样的效果好炫,要比纯色加透明度高大上好多,连续试了几个界面,最终确定效果由css实现的,于是今天一大早来到公司便赶紧搜索了…

企维多类似网站网上购物平台哪个好

npm install -g cnpm --registryhttps://registry.npm.taobao.org cnpm install node-sass cnpm install 启动 cnpm run dev

网站建设落后发言无锡百度快速排名

本人没有很好的文采,只能直接配置,有不懂的地方,后面可以联系我,在配置当中,我会尽量在配置命令后面加标注。1、在R1上配置相关的命令R1(config)#int fa0/0 ---进入以太网fa0/0接口--R1&#…

快手做任务网站苏州网站推广哪家好

前缀和 一.一维前缀和(模板):1.思路一:暴力解法2.思路二:前缀和思路 二. 二维前缀和(模板):1.思路一:构造前缀和数组 三.寻找数组的中心下标:1.思路一:前缀和 四.除自身以外数组的乘积&#xff…

网站访客qq统计 原理各类网站导航

本文收集了十大热门编程语言背后的程序员和设计者的名字和大家分享。以下是十大热门编程语言及其创建者,排名不分先后。 软件领域有许多编程语言,每年还涌现出越来越的新语言。新发布的语言有Scala、Kotlin、Go和Closure,但历史证明&#xff…

网站服务器空间价格网站建设350元

第一步: 安装 VirtualBox 增强工具 点击确定,稍等片刻,VirtualBox 的增强功能就可以安装完毕。 第2步:设置要共享给Linux 虚拟机的文件夹(目录) 点击右下角的“分配数据空间” 点击“添加” 选择要共享的路…

南昌本地生活网站有哪些手机端网站优化排名seo推广

1.场景介绍: ​ 开发过程中我们经常性的会用到许多的中间表,用于数据之间的对应和关联.这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中.我们熟知的mybatis在插入数据后返回的是插入成功的条数,那么这个时候我们想要得到相应的这条新增数据的ID,该怎…

手机网页及网站设计 pdfwordpress主题谁的最好

问题&#xff1a;通常我会这么定义列表&#xff1a;List<String> names new ArrayList<>()names类型使用List接口&#xff0c;那么具体实现该如何选择。 什么时候应该用LinkedList替代ArrayList&#xff0c;反之亦然&#xff1f;这里大家可以关注一下我的个人专栏…

网站建设设计制作包头关键词排名优化网站建设公司

分布式调度框架 服务端 1、根据执行器创建任务&#xff0c; 2、底层通过netty发起调度。 客户端 1、注册到服务端成为执行器 2、注册任务类&#xff0c;任务类需要实现JobHandler这个接口的类 2、接受调度请求&#xff0c;找到对应的bean&#xff0c;并把bean放到线程池&…

调试网站解析域名影响wordpress启用收费下载无效

命令模式&#xff1a;将一个请求封装为一个对象&#xff0c;从而使你可用不同的请求对客户进行参数化&#xff1b;对请求排队或记录请求日志&#xff0c;以及支持可撤销的操作。 命令模式的好处&#xff1a; 1、它能较容易地设计一个命令队列&#xff1b; 2、在需要的情况下&a…

宁德商城网站开发设计远程数据库 wordpress

来源&#xff1a;http://www.noahweb.net/mail/2/Project.htm#biao B/S系统中的权限比C/S中的更显的重要&#xff0c;C/S系统因为具有特殊的客户端&#xff0c;所以访问用户的权限检测可以通过客户端实现或通过客户端服务器检测实现&#xff0c;而B/S中&#xff0c;浏览器是每一…

什么网站做电子元器件简洁的网页模板

JSON.parse和JSON.stringify这两个浏览器自带&#xff08;IE6/7除外&#xff09;的方法平常我们经常用到&#xff0c;但是一般都只是用到了他们的第一个参数&#xff0c;比如字符串转对象&#xff1a;JSON.parse({}) 对象转字符串&#xff1a;JSON.stringify({}) 今天特意看了…

哈尔滨门户网站建设网络营销的特点包含()。

文章首发于我的个人博客&#xff1a;欢迎大佬们来逛逛 文章目录 处理带返回值的函数asyncpackaged_taskpromise 处理带返回值的函数 有三种方法&#xff1a; asyncpackaged_taskpromise async 第一种方法是使用 async 函数。 步骤&#xff1a; 使用 async 创建线程处理函…

横沥镇网站建设晓风彩票网站建设源代码授权

一、安装 双击安装文件&#xff0c;然后安装指引点击下一步 ​​ 选择【Custom】安装类型 ​​ 将程序安装到D盘MongoDB目录下&#xff08;如果切换了目录&#xff0c;记得对应调整monggo.bat下面的路径&#xff09; ​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​…