CN103268241A - 一种在bios中实现对硬盘分区隐藏或显示的方法 - Google Patents

一种在bios中实现对硬盘分区隐藏或显示的方法 Download PDF

Info

Publication number
CN103268241A
CN103268241A CN2013102015312A CN201310201531A CN103268241A CN 103268241 A CN103268241 A CN 103268241A CN 2013102015312 A CN2013102015312 A CN 2013102015312A CN 201310201531 A CN201310201531 A CN 201310201531A CN 103268241 A CN103268241 A CN 103268241A
Authority
CN
China
Prior art keywords
uefi
bios
hard disk
application program
fdisk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2013102015312A
Other languages
English (en)
Inventor
鄢建龙
吴登勇
赵鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Chaoyue Numerical Control Electronics Co Ltd
Original Assignee
Shandong Chaoyue Numerical Control Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Chaoyue Numerical Control Electronics Co Ltd filed Critical Shandong Chaoyue Numerical Control Electronics Co Ltd
Priority to CN2013102015312A priority Critical patent/CN103268241A/zh
Publication of CN103268241A publication Critical patent/CN103268241A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种在BIOS中实现对硬盘分区隐藏或显示的方法,属于计算机BIOS设计技术领域,步骤为:(1)在UEFI的BIOS中添加一个新的UEFIShell下的UEFI应用程序代码,将这UEFI应用程序代码链接到BIOS的makefile中;(2)在BIOS的编译终端中运行nmake,上述的UEFI应用程序自动编译并集成到BIOS中;(3)在BIOS的Shell模式下,可以在UEFIShell命令行敲入上述的UEFI应用程序的名称来运行此UEFI应用程序;通过运行此UEFI应用程序来实现对硬盘分区的隐藏或显示。本发明和现有技术相比,不容易遭到破坏,安全性高,方便了用户的使用。

Description

一种在BIOS中实现对硬盘分区隐藏或显示的方法
 
技术领域
本发明涉及一种计算机BIOS设计技术领域,具体地说是一种在BIOS中实现对硬盘分区隐藏或显示的方法。
背景技术
BIOS,是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统"。BIOS技术一直是计算机软件系统中与硬件联系最紧密的,在PC启动的过程中,BIOS担负着初始化硬件,检测硬件功能,以及引导操作系统的责任,可以看出,BIOS对于计算机系统来说,是非常重要的系统软件,没有BIOS的计算机是无法运行的。传统BIOS经过了长达20多年的时间,基本上没有大的改进,在CPU和操作系统已经完全32位化的今天,BIOS仍然停留在16位实模式时代,只能访问1MB的基础内存,同时BIOS的开发中还大量使用汇编语言,使得开发入门难度增加,并且业界没有一个统一的规范,各IBVs(Independent BIOS Vender)各自为政,这种局面使传统BIOS开发成为硬件和操作系统发展的瓶颈。
EFI不是一套软件,而是一整套定义的很好的接口,在业界得到推广和认可形成了UEFI规范。UEFI即“Unified Extensible Firmware Interface”的缩写,翻译为“统一的可扩展固件接口”。 UEFI这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。
系统的备份和恢复通常使用专门的软件来隐藏或显示一个硬盘分区。这样的应用软件大多安装在硬盘上,如果硬盘发生故障或者软件被恶意程序修改,可能导致备份恢复受影响。
发明内容  
  本发明的技术任务是针对以上不足之处,提供一种不容易遭到破坏,安全性高,方便了用户的使用的一种在BIOS中实现对硬盘分区隐藏或显示的方法。
本发明解决其技术问题所采用的技术方案是:基于UEFI架构的BIOS进行设计,在UEFI的BIOS中集成一个UEFI Shell下的UEFI应用程序,用户就可以通过在BIOS的Shell模式下调用此UEFI应用程序,通过运行此UEFI应用程序来实现对硬盘分区的隐藏或显示。
具体步骤为:
(1)、根据UEFI规范和驱动编写指南在UEFI的BIOS中添加一个新的UEFI Shell下的UEFI应用程序代码,将这部分UEFI应用程序代码链接到BIOS的makefile中;
(2)、在BIOS的编译终端中运行nmake的时候,上述的UEFI应用程序就自动编译并集成到BIOS中了;
(3)、在BIOS的Shell模式下,可以在UEFI Shell命令行敲入上述的UEFI应用程序的名称来运行此UEFI应用程序;通过运行此UEFI应用程序来实现对硬盘分区的隐藏或显示。
目前硬盘主要有两种分区格式,一种是传统MBR类型的分区格式,另一种是UEFI BIOS支持的GPT类型的分区格式;集成在BIOS中的上述的UEFI应用程序需要区分这两种硬盘分区格式。
运行UEFI应用程序来实现对硬盘分区的隐藏或显示,流程为:
(1)、UEFI应用程序开始执行;
(2)、识别硬盘:通过调用UEFI BIOS的runtime service来实现,runtime service通过加载的磁盘驱动来识别硬盘;
(3)、识别到系统上的硬盘之后,选择硬盘,读取该硬盘的LBA0的数据;查看LBA0的数据中是否已经建立分区表,来判断此硬盘是否已经进行分区;
(4)、如果已经进行分区,检查分区表中的分区类型OS Indicator是否为0xEE;
如果是0xEE,则表示这个硬盘的分区格式是GPT类型的分区格式;如果不是0xEE,则这个硬盘的分区格式就是MBR类型的分区格式;
①、如果硬盘是MBR类型的分区格式,根据用户的输入选择的硬盘分区进行隐藏或者显示;该操作通过设置分区表的分区类型为隐藏或显示,来实现硬盘分区隐藏或显示;
②、如果硬盘是GPT类型的分区格式,根据用户的输入选择的硬盘分区定位到相应的GPT分区表的表项结构中,修改分区类型GUID;如果用户选择隐藏该硬盘分区,设置GUID类型为未使用类型,如果选择显示此硬盘分区,则设置GUID类型为EFI系统分区类型。
在计算机科学中,Shell俗称壳,是指“提供使用者使用界面”的软件(命令解析器)。
Nmake,也称作Microsoft Program Maintenance Utility Tool ,用来管理程序的工具,即一个解释程序。nmake处理makefile的文件(以mak为后缀),解释里面的语句并执行相应的指令。编写makefile文件,按照规定的语法描述文件之间的依赖关系,以及与该依赖关系相关联的一系列操作。然后在调用NMAKE时,它会检查所有相关的文件,如果目标文件(target file,即依赖于其它文件的文件)的时间标识(time stamp,就是文件最后一次被修改的时间,一个32位数,表示距离1980年以来经过的时间,以2秒为单位)小于依赖文件(dependent file,即被依赖的文件)的时间标识(time stamp),nmake就执行与该依赖关系相关联的操作。
本发明的一种在BIOS中实现对硬盘分区隐藏或显示的方法,通过在UEFI的BIOS中集成一个UEFI Shell下的应用,用户就可以通过在BIOS的Shell模式下调用此UEFI应用程序,来实现对硬盘分区的隐藏或显示;具有以下优点:
1、BIOS是固件中的程序,不容易遭到破坏,安全性高;
2、UEFI Shell不依赖于硬盘和操作系统,只要开机就可以进入,也方便了用户的使用。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种在BIOS中实现对硬盘分区隐藏或显示的方法的运行UEFI应用程序来实现对硬盘分区的隐藏或显示的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明的一种在BIOS中实现对硬盘分区隐藏或显示的方法,基于UEFI架构的BIOS进行设计,在UEFI的BIOS中集成一个UEFI Shell下的UEFI应用程序,用户就可以通过在BIOS的Shell模式下调用此UEFI应用程序,通过运行此UEFI应用程序来实现对硬盘分区的隐藏或显示。
具体步骤为:
(1)、根据UEFI规范和驱动编写指南在UEFI的BIOS中添加一个新的UEFI Shell下的UEFI应用程序代码,将这部分UEFI应用程序代码链接到BIOS的makefile中;
(2)、在BIOS的编译终端中运行nmake的时候,上述的UEFI应用程序就自动编译并集成到BIOS中了;
(3)、在BIOS的Shell模式下,可以在UEFI Shell命令行敲入上述的UEFI应用程序的名称来运行此UEFI应用程序;通过运行此UEFI应用程序来实现对硬盘分区的隐藏或显示。
目前硬盘主要有两种分区格式,一种是传统MBR类型的分区格式,另一种是UEFI BIOS支持的GPT类型的分区格式;集成在BIOS中的上述的UEFI应用程序需要区分这两种硬盘分区格式。
如图1所示,运行UEFI应用程序来实现对硬盘分区的隐藏或显示,流程为:
(1)、UEFI应用程序开始执行;
(2)、识别硬盘:通过调用UEFI BIOS的runtime service来实现,runtime service通过加载的磁盘驱动来识别硬盘;
(3)、识别到系统上的硬盘之后,选择硬盘,读取该硬盘的LBA0的数据;查看LBA0的数据中是否已经建立分区表,来判断此硬盘是否已经进行分区;
(4)、如果已经进行分区,检查分区表中的分区类型OS Indicator是否为0xEE;
如果是0xEE,则表示这个硬盘的分区格式是GPT类型的分区格式;如果不是0xEE,则这个硬盘的分区格式就是MBR类型的分区格式;
①、如果硬盘是MBR类型的分区格式,根据用户的输入选择的硬盘分区进行隐藏或者显示;该操作通过设置分区表的分区类型为隐藏或显示,来实现硬盘分区隐藏或显示;
②、如果硬盘是GPT类型的分区格式,根据用户的输入选择的硬盘分区定位到相应的GPT分区表的表项结构中,修改分区类型GUID;如果用户选择隐藏该硬盘分区,设置GUID类型为未使用类型,如果选择显示此硬盘分区,则设置GUID类型为EFI系统分区类型。
本发明的一种在BIOS中实现对硬盘分区隐藏或显示的方法,除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (3)

1.一种在BIOS中实现对硬盘分区隐藏或显示的方法,其特征在于基于UEFI架构的BIOS进行设计,在UEFI的BIOS中集成一个UEFI Shell下的UEFI应用程序,用户就可以通过在BIOS的Shell模式下调用此UEFI应用程序,通过运行此UEFI应用程序来实现对硬盘分区的隐藏或显示。
2.根据权利要求1所述的一种在BIOS中实现对硬盘分区隐藏或显示的方法,其特征在于具体步骤为:
(1)、根据UEFI规范和驱动编写指南在UEFI的BIOS中添加一个新的UEFI Shell下的UEFI应用程序代码,将这部分UEFI应用程序代码链接到BIOS的makefile中;
(2)、在BIOS的编译终端中运行nmake的时候,上述的UEFI应用程序就自动编译并集成到BIOS中了;
(3)、在BIOS的Shell模式下,可以在UEFI Shell命令行敲入上述的UEFI应用程序的名称来运行此UEFI应用程序;通过运行此UEFI应用程序来实现对硬盘分区的隐藏或显示。
3.根据权利要求1或2所述的一种在BIOS中实现对硬盘分区隐藏或显示的方法,其特征在于运行UEFI应用程序来实现对硬盘分区的隐藏或显示,流程为:
(1)、UEFI应用程序开始执行;
(2)、识别硬盘:通过调用UEFI BIOS的runtime service来实现,runtime service通过加载的磁盘驱动来识别硬盘;
(3)、识别到系统上的硬盘之后,选择硬盘,读取该硬盘的LBA0的数据;查看LBA0的数据中是否已经建立分区表,来判断此硬盘是否已经进行分区;
(4)、如果已经进行分区,检查分区表中的分区类型OS Indicator是否为0xEE;
如果是0xEE,则表示这个硬盘的分区格式是GPT类型的分区格式;如果不是0xEE,则这个硬盘的分区格式就是MBR类型的分区格式;
①、如果硬盘是MBR类型的分区格式,根据用户的输入选择的硬盘分区进行隐藏或者显示;该操作通过设置分区表的分区类型为隐藏或显示,来实现硬盘分区隐藏或显示;
②、如果硬盘是GPT类型的分区格式,根据用户的输入选择的硬盘分区定位到相应的GPT分区表的表项结构中,修改分区类型GUID;如果用户选择隐藏该硬盘分区,设置GUID类型为未使用类型,如果选择显示此硬盘分区,则设置GUID类型为EFI系统分区类型。
CN2013102015312A 2013-05-28 2013-05-28 一种在bios中实现对硬盘分区隐藏或显示的方法 Pending CN103268241A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013102015312A CN103268241A (zh) 2013-05-28 2013-05-28 一种在bios中实现对硬盘分区隐藏或显示的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013102015312A CN103268241A (zh) 2013-05-28 2013-05-28 一种在bios中实现对硬盘分区隐藏或显示的方法

Publications (1)

Publication Number Publication Date
CN103268241A true CN103268241A (zh) 2013-08-28

Family

ID=49011874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013102015312A Pending CN103268241A (zh) 2013-05-28 2013-05-28 一种在bios中实现对硬盘分区隐藏或显示的方法

Country Status (1)

Country Link
CN (1) CN103268241A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103809983A (zh) * 2014-02-27 2014-05-21 山东超越数控电子有限公司 一种修改bios setup界面的方法
CN103984910A (zh) * 2014-05-14 2014-08-13 清华大学深圳研究生院 一种系统分区隐藏方法
CN107025198A (zh) * 2016-02-01 2017-08-08 昆达电脑科技(昆山)有限公司 动态显示usb存储设备格式的方法
CN108632360A (zh) * 2018-04-12 2018-10-09 北京百悟科技有限公司 一种虚拟云终端和虚拟云终端服务器
CN108710508A (zh) * 2018-05-22 2018-10-26 联想(北京)有限公司 一种处理方法、装置及电子设备
CN108829351A (zh) * 2018-06-04 2018-11-16 成都傲梅科技有限公司 一种mbr磁盘转gpt磁盘的方法及其系统
CN113434335A (zh) * 2021-06-18 2021-09-24 浪潮电子信息产业股份有限公司 一种隐藏系统还原分区的方法、系统、设备和存储介质
US12086608B2 (en) 2022-07-07 2024-09-10 Jabil Circuit (Singapore) Pte. Ltd. Method and computing system for returning to a bios setup utility while in a shell environment during a booting process

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邵洪成: "硬盘分区的显示与隐藏", 《盐城工学院学报》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103809983A (zh) * 2014-02-27 2014-05-21 山东超越数控电子有限公司 一种修改bios setup界面的方法
CN103809983B (zh) * 2014-02-27 2017-10-13 山东超越数控电子有限公司 一种修改bios setup界面的方法
CN103984910A (zh) * 2014-05-14 2014-08-13 清华大学深圳研究生院 一种系统分区隐藏方法
CN103984910B (zh) * 2014-05-14 2016-09-28 清华大学深圳研究生院 一种系统分区隐藏方法
CN107025198A (zh) * 2016-02-01 2017-08-08 昆达电脑科技(昆山)有限公司 动态显示usb存储设备格式的方法
CN108632360A (zh) * 2018-04-12 2018-10-09 北京百悟科技有限公司 一种虚拟云终端和虚拟云终端服务器
CN108710508A (zh) * 2018-05-22 2018-10-26 联想(北京)有限公司 一种处理方法、装置及电子设备
CN108710508B (zh) * 2018-05-22 2021-10-22 联想(北京)有限公司 一种处理方法、装置及电子设备
CN108829351A (zh) * 2018-06-04 2018-11-16 成都傲梅科技有限公司 一种mbr磁盘转gpt磁盘的方法及其系统
CN108829351B (zh) * 2018-06-04 2021-10-12 成都傲梅科技有限公司 一种mbr磁盘转gpt磁盘的方法
CN113434335A (zh) * 2021-06-18 2021-09-24 浪潮电子信息产业股份有限公司 一种隐藏系统还原分区的方法、系统、设备和存储介质
US12086608B2 (en) 2022-07-07 2024-09-10 Jabil Circuit (Singapore) Pte. Ltd. Method and computing system for returning to a bios setup utility while in a shell environment during a booting process

Similar Documents

Publication Publication Date Title
CN103268241A (zh) 一种在bios中实现对硬盘分区隐藏或显示的方法
AU2019210601B2 (en) Automatic generation of microservices based on technical description of legacy code
CN107491485B (zh) 生成执行计划的方法、计划单元装置和分布式NewSQL数据库系统
EP2359247B1 (en) Transforming user script code for debugging
EP2368189B1 (en) Debugging pipeline
KR101790190B1 (ko) 애플리케이션 시나리오 식별 방법, 전력 소비 관리 방법, 장치 및 단말기 장치
US9442707B2 (en) Incremental whole program compilation of code
CN102567051B (zh) 一种制备龙芯平台图形化安装系统的方法及装置
CN106325970A (zh) 编译方法和编译系统
US10540262B2 (en) Using edit and continue to dynamically set and unset optimizations in source code while debugging
US10534861B2 (en) Automated term extraction
US20040236934A1 (en) Pre-boot interpreted namespace parsing for flexible heterogeneous configuration and code consolidation
CN102693221B (zh) 一种资源文件语言的转换方法及系统
JP2015524126A (ja) 適応的に移植性を有したライブラリ
CN101944043A (zh) Windows平台下Linux虚拟机磁盘文件访问方法
US20160321055A1 (en) Mapping between local and remote for seamless build and design time experience
US8898649B2 (en) Application program analysis method, analysis system and recording medium for identifying a contributing factor for an invalid operation of an application program
CN103443763A (zh) 包含对重写虚拟函数的调用的支持的isa桥接
CN103123605A (zh) 一种Android平台自动化集成测试方法和装置
EP3195115A1 (en) Code development tool with multi-context intelligent assistance
KR20190015285A (ko) Cpu 이용 및 코드 리팩토링을 위한 쿼리 최적화기
US20110276950A1 (en) Name binding extensibility for typed programming language
CN102193788A (zh) 基于动态二进制翻译的跨平台驱动程序复用方法
CN104572162A (zh) 一种基于龙芯手持式计算机的uefi固件实现方法
CN104915228A (zh) 应用程序语言设置方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130828