基于多内核的系统维护工具合集设计

2015-10-27 12:10石杨曹飞
电脑知识与技术 2015年21期
关键词:模块

石杨++曹飞

摘要:目前网络上有不少有关于操作系统的安装盘,但没有一款是给校园环境量身打造的,并且此类光盘都是以获取商业利益为目的,强制在客户系统中掺杂广告、流氓软件,广大用户深受其害,故其商业化的操作系统安装工具合集并不适用于教学和个人计算机的使用。该设计制作的工具合集能够高效地解决该困境对广大师生来说是一个福音。

关键词:模块;WinPE;EasyBoot;UEFI

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2015)21-0060-04

Maintenance Tool Collection Designed Multi-core Based Systems

SHI Yang,CAO Fei

(Nanjing Communications Institute of Technology, Nanjing 210001, China)

Abstract: There are currently a lot on the network installation disk about the operating system, but no one is tailored to the campus environment, and such discs are to obtain commercial benefits for the purpose of mandatory doping advertising client systems, rogue software, customers suffer, so the commercial operating system installation tool collection does not apply to the use of hospital teaching and personal computers. This collection of tools designed to efficiently resolve the plight of teachers and students in our hospital is a blessing.

Key words: module; WinPE; EasyBoot; UEFI

随着计算机硬件及操作系统的更新换代,兼容性问题也更加突出,安装和使用过程中的蓝屏等问题将严重影响着学院广大师生的日常教学与生活。那么,有没有解决这些问题的办法呢?答案当然是肯定的,拥有一个好的操作系统维护工具能解决上面这些问题。本次设计制作的操作系统维护工具可以通过刻录光盘或量产U盘等方式为使用者提供方便快捷的服务。

1 启动界面及菜单控件制作

启动界面背景制作:用Photoshop CC 制作好背景图片,使用索引颜色功能后保存为默认参数的bmp格式图片,注意制作时需要根据需求设计好各元素所在位置。打开EasyBoot程序,保存.ezb文件到U盘EZBOOT文件夹,命名为bootmenu.ezb。拷贝back.bmp到EZBOOT文件夹,将“背景图像”默认名改成back.bmp。

启动界面元素制作:在预览窗口里右键一个卡片,会出现类似PS一样的线条选区,自己选择好“Windows XP PE”卡片,同时在“菜单条”选项里的“执行命令”编辑栏里输入命令:run xppe.bin(xppe.bin是用grldr文件改名的引导文件)。 用相同方法设置其他卡片选区里的命令如下: Windwos 8 PE x86:run w8pe32.bin;Windows 8 PE x64:run w8pe64.bin;Microsoft Dart:run dart.bin;Parted Magic:run pm.bin;Run AutoMenu:run run.bin;DOS Tools: run /boot/imgs/dos.img;Ghost是在dos.img里的一个工具,需要使用官方的BCDW.BIN来加载INI配置文件,资源在安装目录resource文件夹里,把INI统一放在BOOT\INI里面,命令为bcdw /boot/ini/ghost.ini,配置文件内容为:

[MenuItems] /EZBOOT/DOS.IMG ; ; ;GHOST;

Diskgenius和Ghost一样,命令为bcdw /boot/ini/diskgen.ini,配置文件内容为:

[MenuItems] /EZBOOT/DOS.IMG ; ; ;DISKGEN;

Grub4dos Menu:run grldr;ReBoot:reboot;Boot HD0,0:boot 80。在每一个模块添加好后,可以输入快捷键,这里分别设置为:x、8、6、p、a、t、o、g、d、m、r、h。启动界面及菜单控件设置界面如下图1所示。

图1 启动界面及菜单控件设置界面

2 外置维护软件包制作

外置维护软件包括:磁盘光盘工具、修复工具、密码工具、文件处理工具、辅助安装工具、硬件检测工具等,同时还可以根据需要添加一些网络工具,如果需要还可以用PECMD脚本写一些小工具,写好的脚本可以直接用pecmd.exe程序执行。需注意的是上述软件都是以安装包发布的可执行文件,使用前需要做绿化工作,所以必须从注册表里提取软件的写入键值,在PE启动后再导入到注册表里面来完成绿化。这里使用Registry Workshop软件,先在未运行软件的情况下备份整个注册表键值,然后运行要绿化的软件再备份一次完整的注册表,把两次备份的注册表文件用Registry Workshop比较下,得到差异项,再对差异的注册表进行筛选,删掉多余的无用键值,就能得到该软件在注册表里写入的键值保存为REG文件。除此之外还需要一个配置文件,通过PECMD这个命令解释器来进行建立快捷方式和绿化等操作。把所有外置软件放到名为OP的文件夹里,在文件夹里新建一个文本文档,改后缀为INI,用记事本编辑命令。编辑好OP.INI文件后,用ImageX GUI最大压缩保存为WIM格式文件。为更大限度地利用资源,各维护软件按用途分类:op_x86.wim存放非网络相关32位维护软件,op_net.wim存放网络相关32位维护软件。其中Windows XP PE使用op_x86.wim和op_net.wim,Windwos 8 PE x86&x64都使用op_x86.wim,x64版本内置64位维护软件。

3 各独立模块功能和引导文件制作

用QEMU启动测测试器模拟启动U盘,检查各菜单跳转功能都正常后开始各独立模块的制作。

3.1 Windows PE模块(以 Win8 x86/x64为例)

1) PE映像制作:在bbs.sysceo.com论坛下载得到USM_v3L.exe,解压得到sysceo.fba。用fbinstool打开该sysceo.fba文件,提取/BOOT/GRUB/ISO下boot文件夹里的所有文件到U盘根目录下BOOT文件夹里(GRUB文件夹除外)。提取/BOOT下USM8PE6L.ISO和USM8PE8L.ISO两个文件到临时文件夹里,用UltraISO打开这两个文件并提取里面的WIM文件到U盘根目录下BOOT文件夹里,分别改名为W8PE32.WIM和W8PE64.WIM。解压/BOOT/W8PE32.WIM里的文件到临时目录下W8PE32文件夹内,在Program Files添加Everything文件搜索工具,该软件的配置文件放在W8PE32\Users\Default\AppData\Roaming里;添加需要的极点五笔输入法程序;7-ZIP、winrar、Imagine、盘符整理程序等。删除自带W8PE32\WINDOWS下bootpart文件夹,W8PE32\WINDOWS\SYSTEM32下EXT2_HFS文件夹,RamdY.cmd、proload.cmd、orderdrv.INI、fbinst.exe、MountESP.exe、srs.ico、SRS.INI。替换W8PE32\ProgramData\Microsoft\User Account Pictures下BMP文件为默认BMP文件。替换W8PE32\WINDOWS\web\wallpaper\Windows下同文件名JPG图片,注意图片分辨率为1024*768,因为没有显卡驱动加载时这是默认分辨率。在正常WIN8系统下拷贝oleacc.dll和oleaccrc.dll到W8PE32\WINDOWS\SYSTEM32里。由于该PE精简了大部分字体,导致启动后字体显示效果欠佳,可以从正常系统中拷贝字体文件到W8PE32\WINDOWS\Fonts里:angsab.ttf、micross.ttf、MTEXTRA.TTF、segoeui.ttf、seguisbi.ttf、svgafix.fon,pecmd.ini里已经有了font命令,现在启动后字体会较舒适。添加精简掉的系统文件regsvr32.exe用于注册DLL文件。为确保大部分软件能正常运行,需在W8PE32\WINDOWS\WinSxS下添加正常WIN8系统同目录下文件,文件列表可以从正常32位Win8系统里提取后导出正常Win8系统注册表里

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]下所有键值为一个REG文件,放到W8PE32\WINDOWS\SYSTEM32下,命名为runtime.reg。修改该目录下Preload.cmd,用记事本编辑,添加命令REGEDIT /S x:\windows\system32\runtime.reg修改LangBar.reg文件,删除下面字段。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation]

修改reg.reg文件,删除下面字段。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation]

添加微软自带mspaint.exe和calc.exe,添加logo.jpg。修改pecmd.ini:按前面修改03PE一样,去掉UD、UDm区文件处理功能,设置IE主页行为,设置计算机名,LOGO背景加载、壁纸替换,第三方软件注册,建立虚拟磁盘Y盘用以挂载外置软件,外置软件扫描并挂载,接口设置。因为权限问题,极点五笔输入法安装程序需放到W8PE32根目录,即启动PE后的X盘根目录下,同时注意输入法程序CTFMON.EXE运行的时机,需在shell后杀掉该进程并重新运行。64位win8pe制作过程同32位,需要注意的是,64位系统要兼容32位程序的运行,需在W8PE64\Windows\WinSxS同时添加32位和64位运行库文件,64位的运行库文件列表可以从正常64位Win8系统里提取。

需要注意的是32位win8 PE时要拷贝DLL到Windows\System32,在64位下不仅W8PE64\Windows\System32需要拷贝64位的DLL文件,W8PE64\Windows\SysWOW64也要拷贝32位的DLL文件。其他的步骤和前面讲的32位win8pe处理步骤相似,做好后压缩为WIM替换原W8PE64.WIM。修改好后用GImageX分别打包W8PE32、W8PE64文件夹,注意添加可启动参数。替换原\BOOT目录下W8PE32.WIM、W8PE64.WIM文件。

2) 引导文件制作:关于NT6内核PE的启动过程是主引导根据记录引导bootmgr文件,bootmgr文件加载bcd文件内配置引导系统,但这通常是单个系统的启动过程,在遇到同目录下多个系统的引导时就需要修改bootmgr和bcd文件。在U盘根目录找到刚才解压的SC6、SC8、USM6MGR、USM8MGR文件,从命名长度和文件大小就能知道这些是bootmgr文件和bcd文件的改名,因为现在需要分别独立引导三个WIM映像,所以需要重新做三套独立的引导文件。修改bootmgr路径用到了BOOTMGR_Recompiler_v2工具。在电脑系统分区里找到winre.wim系统隐藏文件, 解压该映像文件下Windows\boot\PXE里bootmgr.exe文件。用HexWorkshop打开并按照表1修改好自己所需的目录路径后保存。

把ntdll.dll(在\Windows\System32\下)复制到V2工具x86目录下,打开BOOTMGR_Recompiler_x86.exe,修改Windows 8 的bootmgr.exe 勾选Use ntdll.dll 和 Use XpressHuff,点Open bootmgr.exe选择修改好的bootmgr.exe,会提示CheckSum in pe was incorrect.click yes to update checksum ,PE的校验和是不正确的,单击“是”以更新校验和。自动压缩保存为(生成在选择的bootmgr.exe同目录下)bootmgr_mod命名的文件,这个bootmgr_mod就是改好路径的BOOTMGR ,重命名为对应的.bin文件。现在通过修改后,使得w8pe32.BIN加载W32,w8pe64.BIN加载W64,dart.BIN加载D64来启动各WIM映像。将SC8改名为W32,用bootice的bcd编辑功能修改W32里启动文件路径指向/BOOT/W8PE32.WIM;将SC6改名为W64,修改W64指向/BOOT/W8PE64.WIM,D64指向/BOOT/DART.WIM,都将倒计时参数设置为0。

3) 功能补充与扩展:用fbinstool打开该sysceo.fba文件,提取/BOOT/GRUB/ISO下EFI文件夹到U盘根目录,修改U盘根目录下\efi\microsoft\boot下b32文件和bcd文件可以自定义启动WIM映像文件。用bootice的BCD编辑功能修改这两个文件。注意EFI下启动文件是efi后缀,修改完毕后保存。

3.2 Parted Magic 模块

Parted Magic 是一款功能强大、体积小巧的Linux 。其自带的磁盘操作和检测、引导修复和文件管理等工具能让使用者轻松维护其它已安装的Linux操作系统。

1) 镜像制作:从网络上下载得到Parted Magic 2015_01_13镜像文件,打开后提取pmagic文件夹到U盘根目录,再把镜像里的pmagic、EFI文件夹删除。提取原版ISO镜像里/boot/syslinux/syslinux.cfg文件,用bootice的编辑菜单功能打开,如图3-2所示,删除LABEL live和LABEL memtest_86中间字段(包括LABEL live但不包括LABEL memtest_86),修改MENU LABEL ^5. Memtest86+为MENU LABEL ^3. Memtest86+,同时为了方便,把中文语言选择字段移动到第一个,最后以ANSI编码保存替换,保存ISO镜像文件。

2) 引导文件制作:用bootice编辑grldr文件,命令为:command /BOOT/GRUB/RUN /BOOT/pmagic_2015_01_13.iso,将grldr改名为pm.bin后替换EZBOOT文件夹下同名文件。

3.3 Microsoft Dart模块

微软诊断和恢复工具集 ,英文简称DaRT。 这是一个功能强大的工具合集。我们日常使用的Windows7/8都包含这个工具,当计算机发生常见性故障时,重新开机便会自动进入Windows 恢复环境,然后使用者可以根据向导一步步进行故障鉴定和排除,最终修复Windows 操作系统。本设计添加了这一模块,用UltraISO打开Dart8.1版镜像文件,提取/sources文件夹里的boot.wim到U盘根目录下BOOT文件夹里,并改名为dart.wm。编辑D64文件,指向设备文件为\BOOT\DART.WIM。EFI下和W8PE64.WIM共用一个BCD文件,加上倒计时即可。

3.4 DOS模块

虽然DOS操作系统已经基本远离人们的视线,只能在Windows的cmd命令窗口中看到它的身影。而在一些特殊的环境中,DOS仍然发挥着巨大作用。本设计在微软DOS自带命令的基础上增加了大量实用程序,使它能解决更多硬件相关问题。根据需要添加软件,添加的软件的直接运行程序要和h.bat同目录,不在同目录的可以新建一个bat批处理,里面加上:@ECHO OFF【待添加程序,以COM或EXE等为后缀】 R >NUL便可调用文件夹里的程序运行了。图2为已修改好并添加了工具后的DOS工具箱模拟启动截图。

3.5 Grub4DOS引导处理

GRUB4DOS是一个优秀且强大的多系统引导软件,用它可以很方便的引导DOS、Windows、 Linux等操作系统。为了美观和方便,本设计使用了菜单。菜单相当于一个很大的命令合集,除了可以使用常用的命令外,还可以根据需要自己手动编写。在grub4dos的世界里,菜单分成两种,外置菜单和内置菜单,两者最大的区别就是内置菜单是放置在grldr文件内部,而外置菜单则是放在任意可以成功被grub4dos访问到的数据存储设备如硬盘、光盘、U盘等地方,。本设计使用外置菜单的优势就是可以建立任意数量以及各种特殊用途的外置菜单,且容易修改,相比只能放置在grldr内部的内置菜单无疑方便了很多。为了提供更好的背景图片及多语言文字支持本设计摒弃了落后的vga显示模式使用了较为流行的vbe模式。

4 操作系统封装与备份

通过EasyBoot可以生成可启动ISO镜像文件,但该文件却仅支持Legacy BIOS方式启动,不能以UEFI方式启动。本设计为了达到UEFI启动效果,重新编辑ISO镜像文件,然后设置Ezboot文件夹下loader.bin文件为引导文件,保存后的ISO镜像即可通过UEFI方式启动。在VMware Workstation软件里自动检测并安装相应的驱动,把预先准备好的IE9的离线安装包、KB2581464、flash player、NET Framework2.0/3.0/3.5合集等插件补丁进行安装,定制要安装的功能和扩展,优化系统全部设置完毕后,点击开始封装按钮开始封装,如此可得到较好的系统兼容性。用相同方法封装64位WES7。进入PE下用工具备份系统分区,注意备份时选WIM格式并最大压缩率,备份映像名为Windows Embedded Standard 7 SP1 32bit。这里之所以没用当下流行的GHOST,是因为这种备份方式是微软自家开发的,兼容性肯定比GHOST好,而且此备份算法是基于文件备份的,不会像GHOST一样会把硬盘上的坏磁道扇区也备份下来。备份好32位的WIM后可以把该WIM文件拷贝到64位系统的虚拟机里的D盘,在PE下备份时选择该WIM文件,然后选增量备份。这样备份的好处是相同文件只占用一份文件的体积,可以有效地减少普通备份时的体积。

5 本设计创新与特色

5.1 EasyBoot和Grub4Dos双菜单设计

EasyBoot具有美观简洁易用等优势,但其没有更多的自定义空间;而Grub4Dos支持磁盘仿真,即将软盘镜像或光盘镜像或硬盘镜像甚至某个硬盘分区虚拟成软驱或光驱或硬盘,进而运行其中的操作系统,双菜单的设计互补其优缺点。

5.2 双启动:BIOS、UEFI

BIOS启动是一般启动盘最基本的要求,对于新计算机带UEFI功能的主板有心无力。本工具合集对UEFI启动做了很好的支持,不仅支持常见64位UEFI环境,也支持少见的32位UEFI环境。

5.3 多种PE,兼顾新老计算机

计算机硬件的飞速发展使得老一代计算机依旧有一定的保有量,本设计的工具合集即包含了老机器维护用的DOS和Windwos XP PE,也有适用于新计算机的Windows 8 PE,通用性强。

5.4 Windows XP PE 支持PXE模式

网络上所有的商业型工具合集都没有支持PXE启动模式功能。即在用一局域网环境下,启动任意一台机器即可不用任何外在的启动介质启动其他计算机。

5.5 修改容易,定制性强

本设计根据学院内不同的使用部门及使用用户进行个性化定制。

6 结束语

该设计成果实现了磁盘分区和格式化;操作系统的安装与修复;硬件设备的检查与测试;磁盘数据恢复;磁盘分区表重建;操作系统备份与还原等各种复杂环境下的维护,可以为我院教学机房、教师办公、学生宿舍等多种环境下的操作系统的维护提供更加便捷与人性化的服务,同时为我院今后操作系统的升级提供一定的技术储备。

参考文献:

[1] 邹发光, 毛睿. 基于PXE技术的MAXDOS实现机房系统维护[J]. 电脑编程技巧与维护, 2013(8).

[2] 苏勐轩. 轻松打造多系统启动U盘[J]. 电脑爱好者, 2013(2).

[3] 韩民. UEFI调试工具及调试信息获取的设计与实现[M].北京: 北京工业大学, 2014.

[4] 九州书源. 系统安装·重装·备份与还原从入门到精通[M]. 2版.北京: 清华大学出版社, 2014.

猜你喜欢
模块
例谈有机化学知识在其他模块试题中的渗透
28通道收发处理模块设计
“选修3—3”模块的复习备考
Module 4 Music Born in America
基于NX的数控加工模块设计与开发
高精度模块式自清洗过滤系统
必修模块相关知识过关训练
三个必修模块 教学各有侧重
膜蒸馏模块
IR推出易用的μHVIC系列构建模块,有效简化设计