Device 장치 유형의 대표적인 네 가지
지금까지 글에서 이야기한 Device 의 장치 경로 유형에는 다음의 세 가지가 있었습니다.
1. Partition 유형
2. VHD 유형
3. Ramdisk 유형
여기에 더해 Device 의 장치 경로로 자주 사용되는 것이 바로 Boot 유형입니다.
Boot 경로란?
Boot 경로는 현재 부팅을 진행한 장치를 의미합니다. 다른 식으로 표현하면 펌웨어에서 부팅을 진행한 장치라고 표현할 수도 있겠네요. [이 때 펌웨어는 보통 BIOS] 그래서 만약 디스크 부팅이라면 시스템 파티션이 Boot 경로가 되는 겁니다. 간단하죠?
지금까지의 장치 유형들이 모두 절대적인 경로라면 Boot 경로는 상대적인 경로 형식입니다. 즉, 그 때 그 때 상황에 맞게 바뀌어 적용되는 경로 형식이라는 것이죠.
예를 들어보도록 하겠습니다. 디스크로 부팅을 진행하였습니다. 그럼 지금 시스템 파티션인 첫 번째 디스크의 첫 번째 활성 파티션으로 부팅을 했죠? 그럼 그 첫 번째 디스크의 첫 번째 활성 파티션이 그대로 Boot 경로인 겁니다. 만약 첫 번째 디스크 첫 번째 파티션이 partition=C: 경로라면 아래와 같이 되는 것이죠.
그래서 디스크 부팅이라면 현재 부팅이 진행된 Bootmgr 이 위치한 파티션, 즉 시스템 파티션이 Boot 경로가 되는 겁니다.
디스크 부팅일 때 이건 어디에서 사용할 수 있느냐? 흔히 {ntldr} 부팅 항목을 구성할 때 Device 경로로 Partition 경로로 구성을 많이 하죠. 그럴 필요없이 그냥 간단하게 Boot 경로로 지정해도 됩니다.[디스크 부팅이라면] 왜냐? 쉽게 생각하세요. NTLDR 부트 매니저는 무조건 시스템 파티션에 위치해야 합니다. 디스크로 부팅을 진행하였다면 시스템 파티션은 Boot 경로가 되죠. 고로 NTLDR 도 Boot 경로로 지정할 수 있는 겁니다.
보통 드라이브 문자가 할당되지 않는 시스템 예약 파티션이 포함된 경우에 사용하면 편하겠죠? 마찬가지로 Grub4dos 의 GRLDR.MBR(GRLDR) 파일이 시스템 파티션에 위치해 있다면? 역시나 복잡하게 생각할 것 없이 바로 Boot 경로로 지정하면 되죠.
이건 그냥 잡담인데요. {ntldr} 의 Device 옵션을 Boot 로 지정했는데 부팅이 안 된다? 그럼 둘 중에 하나이죠. NTLDR 부트 매니저 구성이 시스템 파티션에 제대로 설치되어 있지 않거나, Boot.ini 의 설정이 뭔가 잘못되었거나. 보통 만능 고스트를 통해 XP 를 설치한 경우 이런 문제가 많이 발생하죠. 파악은 알아서 해야 하는데 이건 나중에 이야기하죠.
Boot 경로는 어디에서 주로 사용되는가?
그렇다면 Boot 경로가 가장 직접적으로 사용되는 곳은 어디일까요? 그 이야기를 해보죠.
우리가 많이 사용하는 윈도우 PE 는 Bootmgr 부트 매니저 구성을 직접 가지고 있는 상태에서 이를 통해 DVD 와 같은 ODD 매체에서 부팅을 진행하는 것이 일반적입니다. 컴퓨터마다 ODD 장치는 모두 다르죠. 즉, 윈도우 PE 가 DVD 에서 실행되는 경우 절대적인 경로 값을 지정하기가 매우 애매한 상황이 발생하게 됩니다. 그래서 이 문제를 해결하기 위해서 그 때 그 때 상황에 맞게 적용되는 상대적인 경로 값인 Boot 경로가 사용됩니다. 다시 한 번 상기해 보죠.
- Boot 경로의 의미
만약 현재 디스크로 부팅을 진행한다면 시스템 파티션이 Boot 경로가 되는거고, DVD 로 부팅을 진행한다면 DVD 가 Boot 경로가 되는거고, USB 메모리로 부팅을 진행한다면 USB 메모리가 Boot 경로가 되는 겁니다.
이러한 Boot 경로의 상대성을 활용하면 윈도우 PE 가 어떤 매체에 담겨있고 어디에서 부팅을 진행하든 상관없이 Boot 경로를 통해 자기 자신을 가르킬 수 있는 것이죠. [이러한 이유 때문에라도 Bootmgr 부트 매니저 구성을 함께 가지고 다니기도 하겠죠.] 아마 이것 때문에 Bootmgr 부트 매니저를 설계할 대 Boot 경로라는 개념을 만들지 않았나 싶습니다.
아무튼 그래서 윈도우 PE 에 포함된 BCD 의 부팅 항목들을 살펴보면 모든 부팅 항목의 Device 경로 구성이 Boot 경로로 설정되어 있는 것을 확인할 수 있습니다.
뭐 딱히 더 드릴 말이 없네요. Boot 경로에 대한 설명은 여기까지 입니다.
지금까지 글에서 이야기한 Device 의 장치 경로 유형에는 다음의 세 가지가 있었습니다.
1. Partition 유형
device partition=C:
2. VHD 유형
device vhd=[C:]\Example.vhd
3. Ramdisk 유형
device ramdisk=[C:]\Example.wim,{ramdiskoptions}
여기에 더해 Device 의 장치 경로로 자주 사용되는 것이 바로 Boot 유형입니다.
device boot
Boot 경로란?
Boot 경로는 현재 부팅을 진행한 장치를 의미합니다. 다른 식으로 표현하면 펌웨어에서 부팅을 진행한 장치라고 표현할 수도 있겠네요. [이 때 펌웨어는 보통 BIOS] 그래서 만약 디스크 부팅이라면 시스템 파티션이 Boot 경로가 되는 겁니다. 간단하죠?
지금까지의 장치 유형들이 모두 절대적인 경로라면 Boot 경로는 상대적인 경로 형식입니다. 즉, 그 때 그 때 상황에 맞게 바뀌어 적용되는 경로 형식이라는 것이죠.
예를 들어보도록 하겠습니다. 디스크로 부팅을 진행하였습니다. 그럼 지금 시스템 파티션인 첫 번째 디스크의 첫 번째 활성 파티션으로 부팅을 했죠? 그럼 그 첫 번째 디스크의 첫 번째 활성 파티션이 그대로 Boot 경로인 겁니다. 만약 첫 번째 디스크 첫 번째 파티션이 partition=C: 경로라면 아래와 같이 되는 것이죠.
device boot = devie partition=C:
그래서 디스크 부팅이라면 현재 부팅이 진행된 Bootmgr 이 위치한 파티션, 즉 시스템 파티션이 Boot 경로가 되는 겁니다.
디스크 부팅일 때 이건 어디에서 사용할 수 있느냐? 흔히 {ntldr} 부팅 항목을 구성할 때 Device 경로로 Partition 경로로 구성을 많이 하죠. 그럴 필요없이 그냥 간단하게 Boot 경로로 지정해도 됩니다.[디스크 부팅이라면] 왜냐? 쉽게 생각하세요. NTLDR 부트 매니저는 무조건 시스템 파티션에 위치해야 합니다. 디스크로 부팅을 진행하였다면 시스템 파티션은 Boot 경로가 되죠. 고로 NTLDR 도 Boot 경로로 지정할 수 있는 겁니다.
bcdedit /set {ntldr} device boot
bcdedit /set {ntldr} path \ntldr
bcdedit /set {ntldr} path \ntldr
보통 드라이브 문자가 할당되지 않는 시스템 예약 파티션이 포함된 경우에 사용하면 편하겠죠? 마찬가지로 Grub4dos 의 GRLDR.MBR(GRLDR) 파일이 시스템 파티션에 위치해 있다면? 역시나 복잡하게 생각할 것 없이 바로 Boot 경로로 지정하면 되죠.
bcdedit /set {GUID} device boot
bcdedit /set {GUID} path \grldr.mbr
bcdedit /set {GUID} path \grldr.mbr
이건 그냥 잡담인데요. {ntldr} 의 Device 옵션을 Boot 로 지정했는데 부팅이 안 된다? 그럼 둘 중에 하나이죠. NTLDR 부트 매니저 구성이 시스템 파티션에 제대로 설치되어 있지 않거나, Boot.ini 의 설정이 뭔가 잘못되었거나. 보통 만능 고스트를 통해 XP 를 설치한 경우 이런 문제가 많이 발생하죠. 파악은 알아서 해야 하는데 이건 나중에 이야기하죠.
Boot 경로는 어디에서 주로 사용되는가?
그렇다면 Boot 경로가 가장 직접적으로 사용되는 곳은 어디일까요? 그 이야기를 해보죠.
우리가 많이 사용하는 윈도우 PE 는 Bootmgr 부트 매니저 구성을 직접 가지고 있는 상태에서 이를 통해 DVD 와 같은 ODD 매체에서 부팅을 진행하는 것이 일반적입니다. 컴퓨터마다 ODD 장치는 모두 다르죠. 즉, 윈도우 PE 가 DVD 에서 실행되는 경우 절대적인 경로 값을 지정하기가 매우 애매한 상황이 발생하게 됩니다. 그래서 이 문제를 해결하기 위해서 그 때 그 때 상황에 맞게 적용되는 상대적인 경로 값인 Boot 경로가 사용됩니다. 다시 한 번 상기해 보죠.
- Boot 경로의 의미
현재 부팅을 진행한 장치(펌웨어에서 부팅을 진행한 장치).
만약 현재 디스크로 부팅을 진행한다면 시스템 파티션이 Boot 경로가 되는거고, DVD 로 부팅을 진행한다면 DVD 가 Boot 경로가 되는거고, USB 메모리로 부팅을 진행한다면 USB 메모리가 Boot 경로가 되는 겁니다.
이러한 Boot 경로의 상대성을 활용하면 윈도우 PE 가 어떤 매체에 담겨있고 어디에서 부팅을 진행하든 상관없이 Boot 경로를 통해 자기 자신을 가르킬 수 있는 것이죠. [이러한 이유 때문에라도 Bootmgr 부트 매니저 구성을 함께 가지고 다니기도 하겠죠.] 아마 이것 때문에 Bootmgr 부트 매니저를 설계할 대 Boot 경로라는 개념을 만들지 않았나 싶습니다.
아무튼 그래서 윈도우 PE 에 포함된 BCD 의 부팅 항목들을 살펴보면 모든 부팅 항목의 Device 경로 구성이 Boot 경로로 설정되어 있는 것을 확인할 수 있습니다.
뭐 딱히 더 드릴 말이 없네요. Boot 경로에 대한 설명은 여기까지 입니다.