CN103268241A - 一种在bios中实现对硬盘分区隐藏或显示的方法 - Google Patents
一种在bios中实现对硬盘分区隐藏或显示的方法 Download PDFInfo
- 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
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,是英文"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系统分区类型。
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)
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 |
-
2013
- 2013-05-28 CN CN2013102015312A patent/CN103268241A/zh active Pending
Non-Patent Citations (1)
Title |
---|
邵洪成: "硬盘分区的显示与隐藏", 《盐城工学院学报》 * |
Cited By (12)
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 |