KR102051086B1 - 파일저장 기능을 지원하는 부팅 디스크 - Google Patents

파일저장 기능을 지원하는 부팅 디스크 Download PDF

Info

Publication number
KR102051086B1
KR102051086B1 KR1020180001872A KR20180001872A KR102051086B1 KR 102051086 B1 KR102051086 B1 KR 102051086B1 KR 1020180001872 A KR1020180001872 A KR 1020180001872A KR 20180001872 A KR20180001872 A KR 20180001872A KR 102051086 B1 KR102051086 B1 KR 102051086B1
Authority
KR
South Korea
Prior art keywords
partition
gpt
mbr
storage
boot
Prior art date
Application number
KR1020180001872A
Other languages
English (en)
Other versions
KR20190083890A (ko
Inventor
박성빈
Original Assignee
주식회사 웨인
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 주식회사 웨인 filed Critical 주식회사 웨인
Priority to KR1020180001872A priority Critical patent/KR102051086B1/ko
Priority to PCT/KR2018/012321 priority patent/WO2019135471A1/ko
Priority to US16/959,389 priority patent/US11314523B2/en
Priority to TW107137371A priority patent/TWI700639B/zh
Publication of KR20190083890A publication Critical patent/KR20190083890A/ko
Application granted granted Critical
Publication of KR102051086B1 publication Critical patent/KR102051086B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 제1영역에 저장되는 마스터 부트 레코드(MBR)과 제2영역에 저장되는 GUID 파티션 테이블(GPT)를 포함하고, 상기 MBR에 의한 MBR 파티션과 상기 GPT에 의한 GPT 파티션이 혼합된 하이브리드 MBR 파티션 구조를 갖는 부팅 디스크에 관한 것으로, 상기 GPT 파티션은 운영체제(OS)를 저장하는 OS 파티션과 데이터를 저장하는 GPT 스토리지 파티션을 포함하고, 상기 MBR 파티션은 상기 GPT 파티션을 보호하는 GPT 보호 파티션과 데이터를 저장하는 MBR 스토리지 파티션을 포함하고, 상기 GPT 스토리지 파티션과 상기 MBR 스토리지 파티션은 시작 주소 및 크기가 서로 동일하고, 상기 GPT 보호 파티션은 시작 주소가 상기 부팅 디스크의 논리 블록 주소(LBA) 1번이고, 파티션 크기가 0일 수 있다.

Description

파일저장 기능을 지원하는 부팅 디스크{BOOTING DISK SUPPORTING FILE STORAGE FUNCTION}
본 발명은 파일저장 기능을 지원하는 부팅 디스크에 관한 것으로, 특히 BIOS 및 UEFI 펌웨어에 의한 운영체제(Operating System, OS) 부팅을 지원하는 한편, 일정한 운영체제의 컴퓨팅 장치와 연결될 때 저장매체로 인식되어 파일을 저장할 수 있도록 하는 파일저장 기능을 지원하는 부팅 디스크에 관한 것이다.
부팅 디스크는 운영체제나 유틸리티 프로그램을 부팅할 수 있는 이동식 저장매체로써, 종래에는 보통 읽기 전용으로 되어 있는 것이 일반적이었다. 그러나, 이동식 저장매체의 저장 용량이 커짐에 따라 운영체제를 저장하고 남는 여유 공간이 점차 늘어나고 있고, 또한 최근 다양한 컴퓨팅 장치나 복잡해진 작업 환경에 따라 여러 운영체제로의 부팅이 요구되기 때문에 부팅 기능과 파일 저장 기능을 함께 제공할 수 있는 이동식 디스크의 필요성이 대두되어 왔다.
이에 따라, 대한민국 등록특허 제10-1692015호에서 '운영체제와 파일저장 기능이 가능한 이동식 저장장치'가 제안된 바 있다. 위 등록특허에 의하면, 운영체제기능과 파닐저장기능을 하나의 이동식 저장장치에서 수행하기 위해 이동식 저장장치를 분할하고, OS를 분할된 이동식 저장장치에 설치함으로써 일반 PC에서도 로컬하드디스크에 설치된 OS가 아닌 이동식 저장장치에 설치된 OS를 사용할 수 있도록 하고, OS를 설치하고 남은 공간을 사용자가 사용할 수 있도록 조정하는 기능을 포함하고 있다.
그러나, 위 등록특허의 경우, 일부 최신(2017.08 이후) 버전의 윈도우와 연결했을 때 OS 영역이 노출되어 손상의 위험이 있고, 파티션 오류로 인해 이동식 저장소로 사용하는 데 불편함이 있다.
본 발명이 해결하고자 하는 기술적 과제는 BIOS 및 UEFI 펌웨어에 의한 운영체제(OS) 부팅을 지원하는 한편, 윈도우 운영체제의 컴퓨터와 연결될 때 저장매체로 인식되어 파일을 저장할 수 있도록 하는 파일저장 기능을 지원하는 부팅 디스크를 제공하는데 있다.
상술한 기술적 과제를 해결하기 위한 본 발명은 제1영역에 저장되는 마스터 부트 레코드(MBR)와 제2영역에 저장되는 GUID 파티션 테이블(GPT)를 포함하고, 상기 MBR에 의한 MBR 파티션과 상기 GPT에 의한 GPT 파티션이 혼합된 하이브리드 MBR 파티션 구조를 갖는 부팅 디스크로써, 상기 GPT 파티션은 운영체제(OS)를 저장하는 OS 파티션과 데이터를 저장하는 GPT 스토리지 파티션을 포함하고, 상기 MBR 파티션은 상기 GPT 파티션을 보호하는 GPT 보호 파티션과 데이터를 저장하는 MBR 스토리지 파티션을 포함하고, 상기 GPT 스토리지 파티션과 상기 MBR 스토리지 파티션은 시작 주소 및 크기가 서로 동일하고, 상기 GPT 보호 파티션은 시작 주소가 상기 부팅 디스크의 논리 블록 주소(LBA) 1번이고, 파티션 크기가 0일 수 있다.
상기 제1영역은 첫 번째 섹터인 LBA 0번 영역이고, 상기 제2영역은 두 번째 섹터인 LBA 1번부터 k번까지의 영역일 수 있다.
상기 MBR은 파티션 테이블을 포함하고, 상기 파티션 테이블은 MBR 파티션에 관한 2 이상의 파티션 엔트리들을 포함할 수 있다.
상기 파티션 엔트리들 중에서 논리적 순서상 첫 번째 파티션 엔트리는 상기 MBR 스토리지 파티션을 가리킬 수 있다.
상기 파티션 엔트리들 각각은 해당 파티션의 형식이 무엇인지를 나타내는 파티션 타입에 관한 정보를 가지고 있으며, 상기 MBR 스토리지 파티션의 타입은 윈도우 운영체제에서 인식 가능한 파티션 타입들 중에서 어느 하나로 결정될 수 있다.
상기 MBR 파티션은 상기 시작 주소를 달리하는 적어도 하나의 GPT 보호 파티션을 더 포함할 수 있다.
상기 GPT 스토리지 파티션과 상기 MBR 스토리지 파티션은 복수로 구성되며, 각 파티션의 개수, 위치 및 크기가 서로 동일할 수 있다.
상기 OS 파티션은 복수로 구성되며, 각각 서로 다른 운영체제를 저장할 수 있다.
상기 GPT 파티션은 통합 확장 펌웨어 인터페이스(UEFI) 펌웨어 기반의 부팅을 위한 UEFI 시스템 파티션을 더 포함할 수 있다.
상기 부팅 디스크는 상기 GPT는 GPT 헤더와 파티션 테이블을 포함하고, 상기 GPT와 동일한 내용으로 제3영역에 저장되는 백업용 GPT를 더 포함할 수 있다.
본 발명에 의하면, OS가 탑재되어 있어 OS 부팅 용도로 사용이 가능하고, 컴퓨팅 장치에 연결 시 OS 영역이 감춰지고 특정 저장소 파티션만 노출됨으로써 이동식 저장장치의 용도로도 사용할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 부팅 디스크의 파티션 구조를 나타내는 도면이다.
도 2는 도 1의 MBR에 기록된 파티션 테이블의 일 실시 예를 나타낸 도면이다.
도 3은 본 발명의 다른 실시 예에 따른 부팅 디스크의 파티션 구조를 나타내는 도면이다.
도 4는 도 3의 MBR에 기록된 파티션 테이블의 일 실시 예를 나타내는 도면이다.
도 5는 본 발명의 또 다른 실시 예에 따른 부팅 디스크의 파티션 구조를 나타내는 도면이다.
도 6은 도 5의 MBR에 기록된 파티션 테이블의 일 실시 예를 나타내는 도면이다.
도 7은 본 발명의 실시 예에 따른 부팅 디스크에서 BIOS 기반의 OS 부팅 과정을 나타내는 플로우차트이다.
도 8은 본 발명의 실시 예에 따른 부팅 디스크에서 UEFI 기반의 OS 부팅 과정을 나타내는 플로우차트이다.
도 9는 본 발명의 실시 예에 따른 부팅 디스크가 윈도우 운영체제의 컴퓨팅 장치에 연결될 때의 작동 과정을 나타내는 플로우차트이다.
본 발명에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 실시 예를 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나 이는 본 발명에 따른 실시 예를 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. "및/또는"은 언급된 항목들의 각각 및 하나 이상의 모든 조합을 포함한다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명에 따른 실시 예들을 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 부팅 디스크의 파티션 구조를 나타내는 도면이고, 도 2는 도 1의 MBR에 기록된 파티션 테이블의 일 실시 예를 나타낸 도면이다.
부팅 디스크는 운영체제(Operating System, OS)나 유틸리티 프로그램을 부팅할 수 있는 저장 매체를 의미할 수 있다. 실시 예에 따라, 부팅 디스크는 하드 디스크, 플로피 디스크, CD-ROM, DVD, 블루레이 디스크, 플래시 메모리, 집(zip) 드라이브, 재즈(jaz) 드라이브, 자기 테이프, USB 플래시 드라이브 등으로 구현될 수 있으나, 이에 한정되는 것은 아니다.
도 1과 도 2를 참조하면, 부팅 디스크(10)는 마스터 부트 레코드(Master Boot Record, 이하 'MBR'이라 함)(100)과 GUID 파티션 테이블(Globally Unique Identifier Partition Table, 이하 'GPT'라 함)(200)을 포함하고 있으며, MBR(100)과 GPT(200) 각각에 의한 MBR 파티션(500)과 GPT 파티션(400)이 혼합된 하이브리드 MBR 파티션 구조를 갖는다.
MBR(100)은 파티션 스키마의 하나로써, 전통적인 IBM 호환 PC의 바이오스(Basic Input/Output System, BIOS)에서 기본적으로 사용되는 디스크 형식일 수 있으며, 디스크의 제1영역, 즉 512 바이트(Byte)의 첫 번째 섹터인 논리 주소(logical block addressing, LBA) 0번에 위치할 수 있다.
MBR(100)은 부팅에 관한 정보를 담고 있는 부트 코드(110)와 파티션에 관한 정보를 담고 있는 파티션 테이블(120)을 포함할 수 있다.
부트 코드(110)는 부트로더(bootloader)의 일부로써, 첫 섹터의 0 바이트부터 339 바이트까지의 총 440 바이트 길이의 제1단계 부트로더를 포함할 수 있다.
부트 코드(110)는 CPU가 GPT(200)를 리드하도록 하는 코드를 포함하고 있으며, GPT(200)를 통해 제2단계 부트로더가 설치된 파티션을 찾을 수 있도록 한다.
파티션 테이블(120)은 총 64 바이트로 구성될 수 있으며, 도 2에 도시된 바와 같이 각각의 파티션에 대한 세부 정보를 담고 있는 4개의 파티션 엔트리(121, 122, 123 및 124)를 포함할 수 있다. 즉, MBR 파티션(500)은 파티션 테이블(120)에 기초하여 최대 4개의 주 파티션 또는 3개의 주 파티션과 1개의 확장 파티션으로 구성될 수 있다.
예컨대, 도 2에서는 총 4개의 파티션 엔트리 중에서 2개의 주 파티션 엔트리, 즉 제1파티션 엔트리(121)와 제2파티션 엔트리(122)에 정보가 리틀 엔디언(little endian) 방식으로 기록된 모습을 나타내고 있다.
각각의 파티션 엔트리(121, 122, 123 또는 124)에는 파티션 상태, 파티션의 첫 번째 섹터의 실린더-헤드-섹터(CHS) 주소, 파티션의 타입, 파티션의 마지막 CHS 주소, 파티션의 시작 LBA 주소, 파티션의 크기에 관한 정보가 순차적으로 기록될 수 있다.
파티션 상태는 부팅 가능(0x80), 부팅 불가(0x00), 비정상(기타) 등의 상태를 나타내며, 1 바이트로 표시될 수 있다. 예컨대, 제1파티션 엔트리(121)와 제2파티션 엔트리(122)의 파티션 상태 값은 0x00 으로써, 모두 부팅 불가한 파티션임을 나타낸다.
파티션의 첫 번째 섹터 및 마지막 섹터의 CHS 주소는 디스크의 처음을 기준으로 파티션이 시작되는 위치와 마지막 끝나는 위치를 CHS 주소 체계로 표현한 값으로, 각각 3 바이트의 필드 길이를 가질 수 있다.
파티션의 시작 LBA 주소는 디스크의 처음을 기준으로 파티션이 시작되는 위치를 LBA 주소 체계로 표현한 값으로, 4 바이트로 표시될 수 있다. 또한, 파티션의 크기는 파티션에 포함된 전체 섹터의 개수, 즉 해당 파티션이 총 몇 개의 섹터로 이루어져 있는지를 표현한 정보로써, 필드 길이는 4 바이트일 수 있다.
파티션 타입은 파티션에 포함된 파일 시스템을 지정하거나 해당 파티션에 엑세스하는데 사용되는 특유 엑세스 방법을 플래그 지정하기 위한 값으로, 1 바이트로 표현될 수 있다.
예컨대, 제1파티션 엔트리(121)의 파티션 타입은 0x07 이며, 이는 제1파티션 엔트리(121)에 의한 파티션이 마이크로소프트(MS) 관련 파티션으로 윈도우에서 인식 가능한 파티션임을 나타낸다. 한편, 윈도우에서 인식 가능한 파티션 타입은 0x07로 한정되는 것은 아니며, 실시 예에 따라 0x0B, 0x0C 등으로 다양하게 설정될 수 있다.
또한, 제2파티션 엔트리(122)의 파티션 타입은 0xEE 이며, 이는 제2파티션 엔트리(122)에 의한 파티션이 GPT 보호를 위한 파티션임을 나타낸다.
GPT(200)는 MBR과 다른 파티션 스키마로써, 확장 펌웨어 인터페이스(Extensible Firmware Interface, EFI) 또는 통합 확장 펌웨어 인터페이스(Unified Extensible Firmware Interface, UEFI)에서 사용되는 디스크 형식일 수 있다.
GPT(200)는 제2영역, LBA 1번부터 LBA k번까지의 영역에 위치할 수 있으며, GPT 헤더와 GPT 파티션 엔트리로 구성될 수 있다.
GPT 헤더는 두 번째 섹터인 LBA 1번에 위치하며, 서명(Signature), 버전 정보(Revision), 파티셔닝 할 수 있는 영역의 시작 및 마지막 위치(First and Last usable LBA for Partition), GPT 파티션 엔트리의 시작 위치(Partition Entries Starting LBA), 지원 개수(Number of Partition Entries) 및 크기(Size of Partition Entry) 등 GPT에 관한 전반적인 설정 정보를 기록하고 있다. LBA 1번의 전체 512바이트 가운데 92 바이트를 사용하고 나머지 영역은 NULL 값으로 기록될 수 있다.
GPT 파티션 엔트리는 세 번째 섹터인 LBA 2번부터 시작하여 LBA k번(예컨대, k=33)까지의 영역에서 128개의 파티션 정보를 기록할 수 있다.
하나의 GPT 파티션 엔트리는 128 바이트를 사용하며, 해당 파티션의 타입을 표현하는 고유 정보(Partition Type GUID)를 비롯하여 파티션의 시작 및 마지막 주소(First LBA, Last LBA), 파티션의 속성 값(Attribute Flags), 파일 시스템 이름(Partition Name) 등의 정보를 포함할 수 있다.
한편, 부팅 디스크(10)는 백업용 GPT(300)를 더 포함할 수 있다. 백업용 GPT(300)는 GPT(200)와 실질적으로 동일한 내용을 담고 있으며, 디스크의 마지막 섹터들에 위치할 수 있다.
GPT 파티션(400)은 GPT(100)에 따라 구성된 파티션으로써, 운영체제(OS) 파티션(410)과 스토리지 파티션(420)을 포함할 수 있다. 또한, GPT 파티션(400)은 UEFI 펌웨어 기반의 부팅을 위한 UEFI 시스템 파티션(430)을 더 포함할 수 있다.
OS 파티션(410)은 운영체제가 설치되는 영역일 수 있으며, 부팅 디스크(10)는 BIOS 또는 UEFI 타입에 따라 일련의 과정을 통해 저장된 운영체제로의 부팅을 지원할 수 있다.
스토리지 파티션(420)은 운영체제 이외의 일반 데이터가 저장되는 영역일 수 있으며, 부팅 디스크(10)가 컴퓨팅 장치와 연결될 때 사용자에게 노출됨으로써 이동식 저장소로 사용될 수 있다.
MBR 파티션(500)은 MB(100)에 따라 구성된 파티션으로써, GPT 보호 파티션(510)과 스토리지 파티션(520)을 포함할 수 있다.
GPT 보호 파티션(510)은 MBR 기반의 시스템이나 프로그램에서 GPT 파티션을 인식하지 못하고, GPT 디스크를 삭제 또는 수정하는 것을 방지하기 위한 역할을 한다.
실시 예에 따라, GPT 보호 파티션(510)은 MBR 파티션 테이블(120)의 제2파티션 엔트리(122)와 대응될 수 있다.
GPT 보호 파티션(510)의 위치는 GPT(200)가 위치하는 LBA 1번(0x000001)이 반드시 포함되도록 설정할 필요가 있다. 만약, LBA 1번을 포함하는 GPT 보호 파티션(510)이 없다면, 펌웨어가 GPT 파티션(400)에 설치된 운영체제를 찾지 못하고 이에 따라 부팅이 불가능하게 될 수 있다.
또한, GPT 보호 파티션(510)의 크기는 0(=0x00000000)으로 설정것이 바람직하다. 이렇게 할 경우, 부팅 디스크(10)에 의한 OS 부팅을 원활하게 함과 동시에, 부팅 디스크(10)가 윈도우 운영체제의 컴퓨팅 장치에 연결될 때 GPT 보호 파티션(510)은 감춰지게 되고, 운영체제가 GPT 보호 파티션(510)을 인식하지 못하도록 할 수 있다.
스토리지 파티션(520)은 데이터를 저장하기 위한 영역으로써, 스토리지 파티션(520)의 위치(예컨대, 시작 LBA 주소)와 크기는 GPT 파티션(400)의 스토리지 파티션(420)과 동일하게 설정하고, 파티션의 타입은 윈도우에서 인식 가능한 것(예컨대, 0x70, 0x0B, 0x0C 등)으로 설정함이 바람직하다.
이와 같은 MBR 파티션 설정에 따르면, 부팅 디스크(10)가 윈도우 운영체제의 컴퓨팅 장치에 연결될 때, 스토리지 파티션만이 노출되고 OS 파티션은 감춰지게 됨으로써, OS 영역의 손상을 방지하고 파티션 오류로 인해 부팅 디스크(10)를 이동식 저장매체로 사용할 수 없었던 문제를 해결할 수 있다.
또한, 스토리지 파티션(520)은 MBR 파티션 테이블(120)의 파티션 엔트리들 중에서 논리적 순서상 첫 번째인 제1파티션 엔트리(121)과 대응하도록 설정하는 것이 바람직하다.
이로써, 컴퓨팅 장치에 설치된 윈도우 운영체제가 부팅 디스크(10)의 논리적 1번 파티션만을 인식하는 경우에도 부팅 디스크(10)를 이동식 저장매체로 사용할 수 있게 된다.
도 3은 본 발명의 다른 실시 예에 따른 부팅 디스크의 파티션 구조를 나타내는 도면이고, 도 4는 도 3의 MBR에 기록된 파티션 테이블의 일 실시 예를 나타내는 도면이다.
도 3에 도시된 부팅 디스크(10A)는 각 파티션의 개수를 제외하면 도 1의 부팅 디스크(10)와 실질적으로 동일 또는 유사하므로, 이하 중복되는 설명은 생략하기로 한다.
도 3과 도 4를 참조하면, 부팅 디스크(10A)는 MBR(100A)과 GPT(200A)를 포함하고 있으며, GPT 파티션(400A)과 MBR 파티션(500A)이 혼합된 하이브리드 MBR 파티션 구조를 갖는다.
GPT(200A)에 따른 GPT 파티션(400A)은 적어도 하나의 OS 파티션(410-1, 410-2)과 적어도 하나의 스토리지 파티션(420-1, 420-2)을 포함할 수 있다. 즉, OS 파티션과 스토리지 파티션은 각각 서로 다른 위치 및 크기를 갖는 복수 개의 파티션으로 구성될 수 있다.
제1OS 파티션(410-1)과 제2OS 파티션(410-2)에는 서로 다른 운영체제가 설치될 수 있고, 사용자는 선택에 따라 각각의 운영체제로의 부팅을 시도할 수 있다.
MBR(100A)에 따른 MBR 파티션(500A)은 적어도 하나의 GPT 보호 파티션(510-1, 510-2)과 적어도 하나의 스토리지 파티션(520-1, 520-2)을 포함할 수 있다.
실시 예에 따라, GPT 보호 파티션(510-1, 510-2)이 복수 개로 구성될 때, 그 중 하나의 GPT 보호 파티션(510-1)은 반드시 LBA 1번을 포함하도록 위치하여야 하며, 모든 GPT 보호 파티션(510-1, 510-2)의 크기는 0이어야 한다.
또한, 스토리지 파티션(520-1, 520-2)이 복수 개로 구성될 때, 스토리지 파티션(520-1, 520-2)의 개수, 위치, 및 크기는 스토리지 파티션(420-1, 420-2)과 대응하여 일치하도록 설정되어야 한다.
파티션 테이블(120A)은 도 4에 도시된 바와 같이, 총 4개의 파티션 엔트리(121A, 122A, 123A, 124A)를 포함하며, 제1파티션 엔트리(121A)는 제2스토리지 파티션(520-2)과, 제2파티션 엔트리(122A)는 제1스토리지 파티션(520-1)과, 제3파티션 엔트리(123A)는 제2GPT 보호 파티션(510-2)과, 제4파티션 엔트리(124A)는 제1GPT 보호 파티션(510-1)과 각각 대응될 수 있다.
도 5는 본 발명의 또 다른 실시 예에 따른 부팅 디스크의 파티션 구조를 나타내는 도면이고, 도 6은 도 5의 MBR에 기록된 파티션 테이블의 일 실시 예를 나타내는 도면이다.
도 5에 도시된 부팅 디스크(10B)는 MBR 파티션의 논리적 및 물리적 위치를 제외하면 도 3의 부팅 디스크(10A)와 실질적으로 동일 또는 유사하므로, 이하 중복되는 설명은 생략하기로 한다.
도 5와 도 6을 참조하면, 부팅 디스크(10B)는 MBR(100B)과 GPT(200B)를 포함하고 있으며, GPT 파티션(400B)과 MBR 파티션(500B)이 혼합된 하이브리드 MBR 파티션 구조를 갖는다.
GPT(200A)에 따른 GPT 파티션(400A)은 두 개의 OS 파티션(410-1, 410-2)과 두 개의 스토리지 파티션(420-1, 420-2)을 포함하여 구성될 수 있으며, 물리적으로 스토리지 파티션과 OS 파티션이 교대로 위치할 수 있다.
MBR(100B)에 따른 MBR 파티션(500B)은 두 개의 GPT 보호 파티션과 두 개의 스토리지 파티션으로 구성될 수 있다.
MBR 파티션(500B) 디스크 상에서 물리적으로 제1GPT 보호 파티션(510-1), 제1스토리지 파티션(520-1), 제2스토리지 파티션(520-2) 및 제2GPT 보호 파티션(510-2)의 순서로 위치할 수 있다.
반면, 각각 파티션 엔트리(121B, 122B, 123B, 124B)와의 대응을 고려할 때, 논리적인 파티션 순서는 제1스토리지 파티션(520-1), 제2스토리지 파티션(520-2), 제2GPT 보호 파티션(510-2), 및 제1GPT 보호 파티션(510-1)으로 설정될 수 있다.
즉, 본 발명의 실시 예에서 MBR 파티션의 물리적 및 논리적 위치는 서로 일치할 필요는 없다. 다만, LBA 1번을 포함하는 물리적 첫 번째 파티션에는 GPT 보호 파티션이 위치하여야 하고, 논리적 첫 번째 파티션은 스토리지 파티션으로 설정함이 바람직하다.
도 7은 본 발명의 실시 예에 따른 부팅 디스크에서 BIOS 기반의 OS 부팅 과정을 나타내는 플로우차트이다.
도 1과 도 7을 참조하면, 먼저, 컴퓨팅 장치의 CPU는 ROM에 저장된 BIOS를 실행할 수 있다. BIOS는 POST(Power On Self Test) 동작을 수행한 후 OS 로드를 위해 부팅 디스크의 첫 번째 섹터인 MBR(100)의 부트 코드(110)를 로드할 수 있다(S110). 부트 코드(110)에는 OS 부팅을 위한 부트로더의 일부인 제1단계 부트로더가 기록되어 있다.
CPU는 제1단계 부트로더를 리드한 후, GPT(200)를 통해 전체 부트로더의 나머지인 제2단계 부트로더가 저장된 파티션을 검색할 수 있다(S120). 이후, CPU는 검색된 파티션의 시작 위치에서 제2단계 부트로더를 리드하고, 제2단계 부트로더의 지시에 따라 OS 커널을 리드함으로써, 부팅 디스크(10)에 저장된 OS를 부팅할 수 있다(S130, S140).
도 8은 본 발명의 실시 예에 따른 부팅 디스크에서 UEFI 기반의 OS 부팅 과정을 나타내는 플로우차트이다.
도 1과 도 7을 참조하면, 먼저, 컴퓨팅 장치의 CPU는 ROM에 저장된 UEFI를 실행할 수 있다. UEFI는 OS 로드를 위해 부팅 디스크의 두 번째 섹터에 위치한 GPT 헤더를 리드할 수 있다(S210).
CPU는 GPT 파티션 테이블을 통해 UEFI 시스템 파티션의 위치를 검색할 수 있다(S220). 이후, CPU는 UEFI 시스템 파티션에 저장된 부트로더를 리드, 부트로더의 지시에 따라 OS 커널을 리드함으로써, 부팅 디스크(10)에 저장된 OS를 부팅할 수 있다(S230, S240).
도 9는 본 발명의 실시 예에 따른 부팅 디스크가 윈도우 운영체제의 컴퓨팅 장치에 연결될 때의 작동 과정을 나타내는 플로우차트이다.
도 1과 도 9를 참조하면, 윈도우 운영체제의 컴퓨팅 장치에 부팅 디스크(10)가 연결될 때, 윈도우는 부팅 디스크(10)가 MBR 파티션(500) 및 GPT 파티션이 혼합된 하이브리드 MBR 파티션으로 구성되어 있음을 감지할 수 있다. 예컨대, 윈도우는 MBR 파티션 엔트리가 2개 이상 존재하고, LBA 1번에 GPT 보호 파티션(510)이 위치할 때, 해당 부팅 디스크(10)가 하이브리드 MBR 파티션으로 구성된 것으로 판단할 수 있다.
이 경우, 윈도우는 GPT 파티션(400)을 무시할 수 있으며, MBR(100)의 파티션 테이블(120)을 리드할 수 있다. 이때, 윈도우는 설정된 모든 파티션을 UI에 표시하고자 할 것이나, GPT 보호 파티션(510)은 그 크기가 0이기 때문에 감춰지고 오직 스토리지 파티션(520)만이 UI에 표시될 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100 : 마스터 부트 레코드
110 : 부트 코드
120 : 파티션 테이블
200 : GUID 파티션 테이블
300 : 백업용 GUID 파티션 테이블
400 : GPT 파티션
410 : 운영체제 파티션
420 : 스토리지 파티션
500 : MBR 파티션
510 : GPT 보호 파티션
520 : 스토리지 파티션

Claims (11)

  1. 제1영역에 저장되는 마스터 부트 레코드(MBR)과 제2영역에 저장되는 GUID 파티션 테이블(GPT)을 포함하고, 상기 MBR에 의한 MBR 파티션과 상기 GPT에 의한 GPT 파티션이 혼합된 하이브리드 MBR 파티션 구조를 갖는 부팅 디스크에 있어서,
    상기 GPT 파티션은 운영체제(OS)를 저장하는 OS 파티션을 포함하고,상기 MBR 파티션은 상기 GPT 파티션을 보호하는 GPT 보호 파티션과 데이터를 저장하는 MBR 스토리지 파티션을 포함하고,
    상기 GPT 보호 파티션의 시작 주소는 상기 부팅 디스크의 논리 블록 주소(LBA) 1번이고, 상기 GPT 보호 파티션의 크기는 0인 것을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
  2. 제1항에 있어서,
    상기 GPT 파티션은 데이터를 저장하는 GPT 스토리지 파티션을 포함하는 것
    을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
  3. 제1항에 있어서,
    상기 MBR은 파티션 테이블을 포함하고, 상기 파티션 테이블은 MBR 파티션에 관한 2 이상의 파티션 엔트리들을 포함하는 것을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
  4. 제3항에 있어서,
    상기 파티션 엔트리들 중에서 논리적 순서상 첫 번째 파티션 엔트리는 상기 MBR 스토리지 파티션을 가리키는 것을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
  5. 제3항에 있어서,
    상기 파티션 엔트리들 각각은 해당 파티션의 형식이 무엇인지를 나타내는 파티션 타입에 관한 정보를 가지고 있으며,
    상기 MBR 스토리지 파티션의 타입은 윈도우 운영체제에서 인식 가능한 파티션 타입들 중에서 어느 하나로 결정되는 것을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
  6. 제1항에 있어서,
    상기 MBR 파티션은 상기 시작 주소를 달리하는 적어도 하나의 GPT 보호 파티션을 더 포함하는 것을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
  7. 제2항에 있어서,
    상기 GPT 스토리지 파티션의 위치 및 주소와 상기 MBR 스토리지 파티션의 위치 및 주소는 중복되지 않는 것
    을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
  8. 제1항에 있어서,
    상기 OS 파티션은 복수로 구성되며, 각각 서로 다른 운영체제를 저장하는 것을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
  9. 제1항에 있어서,
    상기 GPT 파티션은 통합 확장 펌웨어 인터페이스(UEFI) 펌웨어 기반의 부팅을 위한 UEFI 시스템 파티션을 더 포함하는 것을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
  10. 제1항에 있어서,
    상기 GPT는 GPT 헤더와 파티션 테이블을 포함하고, 상기 GPT와 동일한 내용으로 제3영역에 저장되는 백업용 GPT를 더 포함하는 것을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
  11. 제2항에 있어서,
    상기 GPT 스토리지 파티션과 상기 MBR 스토리지 파티션은 각각 적어도 1개 이상의 파티션으로 구성되며,
    상기 GPT 스토리지 파티션 및 상기 MBR 스토리지 파티션을 구성하는 파티션 각각의 위치 및 크기가 동일한 것을 특징으로 하는 파일저장 기능을 지원하는 부팅 디스크.
KR1020180001872A 2018-01-05 2018-01-05 파일저장 기능을 지원하는 부팅 디스크 KR102051086B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180001872A KR102051086B1 (ko) 2018-01-05 2018-01-05 파일저장 기능을 지원하는 부팅 디스크
PCT/KR2018/012321 WO2019135471A1 (ko) 2018-01-05 2018-10-18 파일저장 기능을 지원하는 부팅 디스크
US16/959,389 US11314523B2 (en) 2018-01-05 2018-10-18 Master boot record (MBR)/global unique identifer (GUID) partition table (GPT) hybrid disk that includes GPT bootstrap code
TW107137371A TWI700639B (zh) 2018-01-05 2018-10-23 支援檔案儲存功能之開機磁碟

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180001872A KR102051086B1 (ko) 2018-01-05 2018-01-05 파일저장 기능을 지원하는 부팅 디스크

Publications (2)

Publication Number Publication Date
KR20190083890A KR20190083890A (ko) 2019-07-15
KR102051086B1 true KR102051086B1 (ko) 2019-12-02

Family

ID=67144412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180001872A KR102051086B1 (ko) 2018-01-05 2018-01-05 파일저장 기능을 지원하는 부팅 디스크

Country Status (4)

Country Link
US (1) US11314523B2 (ko)
KR (1) KR102051086B1 (ko)
TW (1) TWI700639B (ko)
WO (1) WO2019135471A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157628B2 (en) * 2019-07-25 2021-10-26 Dell Products L.P. Method to transfer firmware level security indicators to OS level threat protection tools at runtime
CN110795155B (zh) * 2019-10-23 2023-08-25 杭州迪普科技股份有限公司 系统启动方法及装置、电子设备、存储介质
JP2022147909A (ja) * 2021-03-24 2022-10-06 キオクシア株式会社 メモリシステム
CN114063913A (zh) * 2021-11-03 2022-02-18 东风汽车集团股份有限公司 Emmc分区存储方法及结构
CN114816542A (zh) * 2022-04-07 2022-07-29 联想开天科技有限公司 一种系统启动方法及装置
CN114706533B (zh) * 2022-04-24 2023-10-27 苏州睿芯集成电路科技有限公司 一种基于gpt分区表的多文件多级启动加载方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978363B2 (en) 2001-07-03 2005-12-20 Hewlett-Packard Development Company, L.P. System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions
US20060020780A1 (en) 2004-07-20 2006-01-26 Hobson Louis B System and method for implementing an extensible firmware interface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003173B2 (en) * 2007-09-28 2015-04-07 Microsoft Technology Licensing, Llc Multi-OS (operating system) boot via mobile device
KR101805627B1 (ko) * 2011-11-28 2017-12-08 삼성전자주식회사 컴퓨터 시스템의 부팅 제어 방법 및 이를 수행하는 부팅 제어 장치
US10528116B2 (en) * 2013-03-14 2020-01-07 Seagate Technology Llc Fast resume from hibernate
JP6293880B2 (ja) * 2014-05-30 2018-03-14 株式会社東芝 情報処理装置およびトラステッド・プラットフォーム・モジュールのバージョン切り替え方法
KR101692015B1 (ko) * 2015-03-30 2017-01-03 주식회사 웨인 운영체제와 파일저장 기능이 가능한 이동식 저장장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978363B2 (en) 2001-07-03 2005-12-20 Hewlett-Packard Development Company, L.P. System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions
US20060020780A1 (en) 2004-07-20 2006-01-26 Hobson Louis B System and method for implementing an extensible firmware interface

Also Published As

Publication number Publication date
US11314523B2 (en) 2022-04-26
WO2019135471A1 (ko) 2019-07-11
US20210064386A1 (en) 2021-03-04
TW201931110A (zh) 2019-08-01
TWI700639B (zh) 2020-08-01
KR20190083890A (ko) 2019-07-15

Similar Documents

Publication Publication Date Title
KR102051086B1 (ko) 파일저장 기능을 지원하는 부팅 디스크
US7689802B2 (en) Controlling memory access in a multi-booting system
US7293166B2 (en) Method of indicating a format of accessing an operating system contained on a USB memory device
US6934833B2 (en) Operating system selector and data storage drive
US7925875B2 (en) Systems and methods for identifying and booting a computer architecture
US5787491A (en) Fast method and apparatus for creating a partition on a hard disk drive of a computer system and installing software into the new partition
US7124290B2 (en) Method and system for selectively booting one of a plurality of operating systems contained on a mass storage device
US7032107B2 (en) Virtual partition for recording and restoring computer data files
US7322029B2 (en) Method and system for recovering program code in a computer system
US20090094447A1 (en) Universal serial bus flash drive for booting computer and method for loading programs to the flash drive
US20130232325A1 (en) Electronic device to restore mbr, method thereof, and computer-readable medium
US20070038685A1 (en) Computer system and a booting method of the same
US20100049961A1 (en) Update method for basic input/output system and update system thereof
US20080162916A1 (en) Portable Multi-Platform Booting
US20140089653A1 (en) Electronic apparatus, method of restoring guid partition table (gpt) and computer-readable recording medium
US6470446B1 (en) Method for preparing computer hard disks during installation of a network operating system
US8245001B2 (en) Storage device and method for protecting its partition
US20120102070A1 (en) Non-Privileged Access to Data Independent of Filesystem Implementation
KR20090119481A (ko) 파일 시스템의 로그 파일 및 상기 파일 시스템의 오류 복구방법
US20160041782A1 (en) Storage Device Copying of a larger system to a smaller system
KR101120956B1 (ko) 휴대용 멀티-플랫폼 부팅시스템과 아키텍쳐
JPH10254709A (ja) メモリ・アドレスに索引付けする方法
US7024493B1 (en) Bootable CD for transferring files independently of computer operating systems
CN103294500A (zh) 一种信息处理的方法及电子设备
WO2014091629A1 (ja) 記憶装置の管理プログラム、電子装置及び記憶装置の管理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant