기 타 BCD 에서 ramdiskoptions 을 원하는 이름으로 하기 입니다
2023.07.25 21:29
PE 1회 부팅 관련해서 ramdiskoptions 관련해서 만드시는 분들에 따라서 조금씩 다른 방식을 사용을 하고 계시죠..
저의 경우 ramdiskoptions 옵션 부분은 GUI에서도 그렇지만 별도의 이름을 만들어 등록을 하고 있습니다
이렇게 이름을 다르게 설정해서 하시는 분들이 몇분 있으십니다
아니면..기존의 {ramdiskoptions}를 활용하시거나 새로 {ramdiskoptions}를 만들어 활용을 하시는 경우도 있습니다
만드시는 분에 따라서 다른 방식을 사용을 하시는것은 컴퓨터 상황이나 프로그램을 만드는 스타일에 따라서 2가지로 나어지게 된것
같습니다
{ramdiskoptions}를 활용하는 경우에는 GUID 값을 추출하지 않고 {ramdiskoptions} 이름을 그대로 활용을 하고 있어서 소스가 간단해지
는 장점이 있습니다..
ramdiskoptions 옵션에서 별도의 이름으로 설정은 해서 활용하는 경우 {ramdiskoptions} 처럼 이름을 활용할수가 없어서(이 부분의 경우
저는 이름으로 설정이 되지 않습니다..몰라서 일수도 있고 원래 그런것 같기도 합니다) GUID 값을 추출해서 사용을 해야하기 때문에 {ram
diskoptions} 이름을 활용하는 경우 보다 복잡해집니다
각각 장단점이 있어서 만드시는 분들도 상황에 따라서 다른 모습을 진행이되는것 같습니다
아래는 아래 사용기에서 사용한 PE 1회 부팅 cmd에서 ramdiskoptions 관련된 부분입니다...
:: ramdiskoptions 만들기
for /f "tokens=1-5 delims=-" %%a in ('bcdedit /create /device') do (
set first=%%a
set last=%%e
set GuidDevice=!first:~-9!-%%b-%%c-%%d-!last:~0,13!
)
bcdedit /set %GuidDevice% ramdisksdidevice partition=%~d0
bcdedit /set %GuidDevice% ramdisksdipath %~p0Boot.sdi
bcdedit /set %GuidDevice% description "PEBoot"
:: BCD에 PE 1회 부팅 메뉴 등록
for /f "tokens=1-5 delims=-" %%a in ('bcdedit /create /d "PEBoot" /application osloader') do @(
set first=%%a
set last=%%e
set Guid=!first:~-9!-%%b-%%c-%%d-!last:~0,13!
)
bcdedit /set %Guid% device "ramdisk=[%~d1]%~pnx1,%GuidDevice%"
bcdedit /set %Guid% osdevice "ramdisk=[%~d1]%~pnx1,%GuidDevice%"
{ramdiskoptions} 방식보다는 복잡합니다
먼저 ramdiskoptions 를 만듭니다 이때 이름은 기본 이름으로 Device Options 으로 만들어 집니다
이렇게 만들어 진것에 소스 파란색처럼 description "PEBoot" 이름을 새로 설정을 해주고 있습니다 이 경우 boot.sdi는 내가 있는 폴더로
지정을 하고 있습니다
복잡하지만 기존에 PE가 등록되어 있는 경우에 이 방식이 장점이 있어서 활용을 하고 있습니다
사용기를 뵈시면 이렇게 활용하는 이유를 아실것 같습니다
1. 복구시스템용 RecoveryPE.wim은 설정 프로그램이 따로 있어서 등록시에 boot.sdi가 Backu\Wim\boot.sdi가 설정이 됩니다
2. 처음에 등록할때 ESP 파티션에 boot.sdi를 두고 등록을 해서 Win11 PE는 ESP 파티션에 있는것이 등록이 되어 있습니다
이렇게 기존것들이 등록이 되어 있는 경우가 많을것입니다
3. {ramdiskoptions} 이름이 특별해서 다른 이름의 경우 GUID 값이 보입니다
4. {ramdiskoptions}는 자이 이름을 사용하과 있어서 GUID를 추출할 필요가 없어서 소스가 간편해집니다..이 점이 좋죠..
5. PE 1회 부팅을 해보겠습니다
6. BCD 메뉴에 등록시 GUID 값으로 등록이 되어 있습니다
7. 별도의 이름이어서 GUID로 되어 있습니다 이렇게 별도의 이름으로 등록을 하는 경우 {ramdiskoptions}를 건들지 않기 때문에 나중에
1회 등록 프로그램이 필요없어 PEBootCmd 폴더채 삭제하는 경우에도 {ramdiskoptions}에 등록된 boot.sdi 경로가 바뀌지 않기 때문에
에러가 생기는 것을 방지할수 있습니다
포터블 프로그램처럼 기존 설정은 건들지 않고 PE 1회 부팅되는 부분만 설정을 하고 삭제하는 방식입니다...이런 장점이 있지만 소스 부
분에서는 조금 복잡한것이 단점입니다
8. 원래 설정된 {ramdiskoptions}는 건들지 않습니다..개인적으로 기존 설정은 그대로 두는것이 안전하다고 생각을 하고 있습니다
9. 실제 cmd에 적용된 소스입니다
10. PE로 부팅이 되었습니다
11. PE 1회 부팅에 사용된 것들을 모두 삭제가 되었습니다..BCD는 처음 그대로 입니다...1회 부팅 프로그램이 있는 폴더를 삭제를 해도 아무
런 문제가 없습니다... 1회 부팅시에 기본 설정인 {ramdiskoptions}를 수정하는 경우 PE 1회 부팅에 사용된 폴더를 삭제하면 boot.sdi 경로
에 파일이 없어지게 될수도 있습니다
12. 마무리
PE 1회 부팅에 사용하는 프로그램들의 경우 컴퓨터 환경이나 프로그램을 만드시는 분의 취향에 따라서 결과는 같지만 소스는 조금씩 다른
모습입니다
ramdiskoptions 이름을 만든것에도 각각 방식에 따라서 장단점들이 있는것 같습니다
저의 경우..기본 설정을 건들지 않기 위해서 ramdiskoptions 이름을 따로 만들어 활용을 하고 있습니다 소스가 조금 복잡해지는것이 단점
이기는 합니다.. BCD에 기존에 설정된 것들이 있다면..이 방식을 한번 활용해 보시는것도 재미가 있으실것 같습니다
오늘 하루도 고생이 많으셨습니다
편안하신 시간이 되시길 바랍니다
댓글 [10]
-
개골구리 2023.07.25 21:45
-
우인 2023.07.25 21:46
수고많이하셨습니다.
-
광풍제월 2023.07.25 22:56
수고하셨습니다.
-
고감맨 2023.07.25 22:59
감사합니다
-
단편지식 2023.07.25 23:18
정보 감사합니다.
-
매화꽃 2023.07.25 23:28
수고많으셨습니다.
-
dakija 2023.07.25 23:49
잘보았습니다 수고하셨습니다
-
DengJang 2023.07.26 00:48
더 깔끔하네요~ 그리고 더 정석에 가까운 방법인 것 같네요...
저도 수정해야겠습니다. 감사합니다!
-
상발이 2023.07.26 11:11
수고하셨습니다.
-
스마일^_^ 2023.07.26 15:04
수고하셨습니다.
수고하셨습니다.