-
-
출처
_( duckduckgo: uefi boot grub )_
https://superuser.com/questions/1247300/how-to-make-uefi-bios-start-grub-not-windows
-
_( duckduckgo: help efibootmgr )_
https://stackoverflow.com/questions/44919190/windows-equivalent-to-efibootmgr
-
~#
efibootmgr > efiboot-info.txt
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0002,0001,0000
Boot0000* Windows Boot Manager
Boot0001* Hard Drive
Boot0002* Windows Boot Manager
Boot0003* Endless OS
~#
efibootmgr -v > efiboot-info-verbose.txt
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0002,0001,0000
Boot0000* Windows Boot Manager HD(1,GPT,4e527ba8-51f5-4ecd-bc88-181b67e5c748,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0001* Hard Drive BBS(HD,,0x0)..GO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.6.0. .E.V.O. .2.5.0.G.B....................A...........................>..Gd-.;.A..MQ..L.3.S.K.Y.X.N.M.1.1.1.0.8.5.6. .E. . . . ........BO
Boot0002* Windows Boot Manager HD(1,GPT,d0b062f0-198d-4b0b-8af8-fad7dbd499cf,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)..BO
Boot0003* Endless OS HD(1,GPT,d0b062f0-198d-4b0b-8af8-fad7dbd499cf,0x800,0x32000)/File(\EFI\ENDLESS\BOOTX64.EFI)
-
grub customizer
https://askubuntu.com/questions/148095/how-do-i-set-the-grub-timeout-and-the-grub-default-boot-entry
-
가 나온다.
easy UEFI 소프트웨어 trial 을 사용해 본다. 하지만, 일단 잘 읽어보자.
https://support.endlessm.com/hc/en-us/articles/115002335646-After-installing-Endless-OS-the-GRUB-menu-does-not-appear-and-it-starts-directly-in-Windows
-
그런데, 읽어보고 나니, 이것은 UEFI에서 Endless OS의 부트 매니저인 grub _으로 가기 전까지의 과정을 제대로 수행하게 만드는 것이다. 그러나, 내가 원하는 것은 일단 이것으로 간 후에, grub에서의 메뉴 옵션과 디폴트 항목과 그 항목의 타임아웃(timeout) 시간 설정을 바꾸고자 하는 것이니까 UEFI의 것은 필요 없다. 나는 지금은 이것까지는 아주 잘 진행되고 있으니까 그렇다. 그래서, grub 자체의 설정방법을 알아봐야겠다.
-
https://skylit.tistory.com/87
-
이것이 그것인 듯하다.
-
찾아봤는데, /etc/default/... 에 있는 파일은 그냥 쓰레기인 듯 (junk)...
endlessOS에서 동작하고 있는 것과는 상관없는 각종 여러가지의 (전통적인.. 오래전에 쓴 것으로 느껴지는..) debianOS 관련이나, 원격 설정, 다국어 설정 등등으로 보이는
실제로 endlessOS에서 사용하는 것은 이것이 아닌 것이라고 느껴지는 아주 아주 많고, 여러 다른 설정을 사용하도록 고안되었지만, 결국 쓸모 없이 버려진 아주 긴 shell script 등이 발견되었다.
대신 실제로 endlessOS에서 사용하는 것으로 보이는 것은 아래의 위치에 있었다.
/boot/grub/grub.cfg
이 파일이었다. 내용은 아래와 같다.
endless OS 에서는 어떻게 한다는 내용이 많이 보인다.
-------/boot/grub/grub.cfg 내용 시작
function load_video {
insmod all_video
}
function savedefault {
if test "$should_savedefault" ; then
saved_entry="${chosen}"
save_env -f $grubenv saved_entry
fi
if ! test "$eosimage" ; then
recordfail=1
save_env -f $grubenv recordfail
fi
}
if [ "x${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 1 ; then
set timeout=0
fi
fi
fi
if test "$eosimage" ; then
set grubenv=($eosimage)/endless/grub/grubenv
# ISO
if test -f ($eosimage)/endless/endless.squash ; then
loopback loop_squash ($eosimage)/endless/endless.squash
loopback loop_img (loop_squash)/endless.img
set image_path="/endless/endless.squash"
# Dual boot
elif test -f ($eosimage)/endless/endless.img ; then
loopback loop_img ($eosimage)/endless/endless.img
set image_path="/endless/endless.img"
fi
set root=(loop_img,gpt3)
probe -u $eosimage --set=image_dev_uuid
set kparams="endless.image.device=UUID=$image_dev_uuid endless.image.path=$image_path nohibernate"
# test for Windows hibernation
if test -f ($eosimage)/hiberfil.sys ; then
if file --is-hibernated-hiberfil ($eosimage)/hiberfil.sys ; then
set hibernation=true
fi
fi
if test -f ($eosimage)/eosldr ; then
# If we can't boot Endless OS, provide a dummy Windows entry which
# reboots to the Windows boot menu.
if test "$hibernation" ; then
set found_windows=true
menuentry "Microsoft Windows" {
reboot
}
fi
elif test -f ($eosimage)/endless/live ; then
set kparams="$kparams endless.live_boot"
set is_live=true
export is_live
else
set should_savedefault=true
export should_savedefault
# search for other OSes
insmod regexp
for dev in ($bootdev,*); do
regexp -s device '\((.*)\)' $dev
if test "$grub_platform" == "efi"; then
if test -f ($device)/EFI/MICROSOFT/BOOT/BOOTMGFW.EFI ; then
set found_windows=true
menuentry "Microsoft Windows" $device {
set booting_windows=true
savedefault
set root=$2
chainloader ($root)/EFI/MICROSOFT/BOOT/BOOTMGFW.EFI
}
fi
else
probe -s is_bootable -b ($device)
if test "$is_bootable" == "none"; then
continue
fi
if test ( -f ($device)/bootmgr -a -f ($device)/Boot/BCD ) ; then
set found_windows=true
# Windows Vista or later
menuentry "Microsoft Windows" $device {
set booting_windows=true
savedefault
set root=$2
chainloader +1
}
elif test ( ( -f ($device)/ntldr -o -f ($device)/NTLDR ) -a ( -f ($device)/ntdetect.com -o -f ($device)/NTDETECT.COM ) -a ( -f ($device)/boot.ini -o -f ($device)/BOOT.INI ) ) ; then
set found_windows=true
# Windows XP
menuentry "Microsoft Windows" $device {
set booting_windows=true
savedefault
set root=$2
regexp -s devnum 'hd([0-9]+)' $root
if test "$devnum" != "0"; then
drivemap -s hd0 $root
fi
chainloader +1
}
elif test "$eosimage" ; then
set found_windows=true
# Other Windows flavour?
menuentry "Unknown OS" $device {
set booting_windows=true
savedefault
set root=$2
chainloader +1
}
fi
fi
done
fi
else
probe -u $root --set=rootuuid
set grubenv=($root)/boot/grub/grubenv
fi
export grubenv
if test -f $grubenv ; then
load_env -f $grubenv
fi
# load last selection. savedefault() only writes this entry on dual-boot
# systems.
if test "$saved_entry" ; then
set default="${saved_entry}"
else
set default=0
fi
# Show menu if we need to offer Windows, or if the last boot failed.
if test ( "$found_windows" -o "$recordfail" ) ; then
set timeout=30
fi
# Increment loglevel if the last boot failed.
if test "$recordfail" ; then
set kparams="$kparams loglevel=6"
fi
if test "$hibernation"; then
menuentry "Endless OS (unavailable)" {
echo -------------------------------------------------------------
echo Endless OS is unavailable whilst Windows is hibernated.
echo Please select Windows and shut down or reboot to use Endless.
echo -------------------------------------------------------------
echo
echo Press ENTER to continue ...
read
}
else
insmod blscfg
bls_import
fi
-------/boot/grub/grub.cfg 내용 끝
이렇다. 아마도 여기의 5번 나온 timeout 단어 중 맨 마지막의 set timeout=30 값을 ...=5 정도로 바꿔야 하지 않을까 생각된다.
-
위 처럼 시도해 봤지만, 바뀌지 않았다. 역시.. 조금 헐렁해 보이는 script 및 위치였다.
-
한참 뒤에 다시 검색을 시도했다.
_( duckduckgo: how to change timeout in grub at endlessos )_
결과는 처음에 나온 것은 ubuntu OS 관련된 것이라, endless OS에는 직적 관련이 없고, 아까 위에서 처럼 직접 endless OS 에 관련된 부분이라야 효과가 있을 것으로 보여서 고려대상에서 제외했다.
좀 더 아래쯤에 있는 검색결과에서 endless os 에 관련된 내용이 있었다.
-
https://community.endlessos.com/t/dualboot-set-boot-time/5480/2
-
내용은 윈도의
C:\endless\grub\grub.cfg
위치에 있는 파일에서 timeout 값을 조정할 수 있다는 것인데, 놀라웠다. 정말일까?
-
결론은 맞는 것이다. 그렇다고 쉽게 내가 목적하는 바를 이뤘는가 하면 결코 그렇지 않다.
경고는 보이지 않게 되어 있다고 하는 것이었다. 여기부터는 엄청난 어려움을 겪은 것을 적는다.
C:\endless 폴더 까지는 쉽게 찾을 수 있었다.
그 속에는 grub 폴더가 보이지 않았다. 없는 것일까? 아니었다.
윈도 파일 탐색기 주소창에 직접 C:\endless\grub 라고 타이핑해서 입력하면 없는 척하던 grub 서브폴더(sub-folder)로 들어갈 수 있었다. 그 속에는 grub.cfg 라는 파일과 다른 파일 하나, 그 속에 또 다른 서브폴더가 있었다. 들어가서 봤는데, 별로 내 목적에는 쓸모가 없는 것들이었다. 언급하지 않겠다.
c:\endless\grub\grub.cfg 파일의 내용은, 위에 언급된 endless OS 설치된 속에 들어 있는 /boot/grub/grub.cfg 파일의 내용과 같은 것이 들어있었다. 하지만, 이것을 알아보는 것도 쉽지 않게 된 것이, 일반 노트패드 프로그램(텍스트 파일 편집기)으로 열면, 줄바꿈이 [LF]로만 되어 있어서 줄바꿈 없이 쭉-- 이어진 파일로 표시가되기 때문에 알아보기도 너무 어려웠다. 유닉스 스타일 줄바꿈을 지원하는 다른 프로그램을 설치한 후에 다시 열어보니 ( 열기대화상자에서 숨겨진 파일 폴더 위치를 직접 넣어야 찾아낼 수 있고, 열 수 있다. ) 읽기 전용으로만 보안 권한설정이 되어 있어서 아무것도 할 수 없었다.
시스템 관리자의 권한 설정을 완화해서 쓰기/변경도 되도록 폴더와 파일의 권한을 변경 했는데도 안되었다. (시스템 관리자) 관리자 권한으로 열기 등등을 해도 안되어서 상당한 좌절을 겪었다. 있는 ...\grub.cfg 파일을 사본으로 복사를 하려고 했지만, 이것마저도 안되었다.
권한 설정을 완화해서 쓰기 권한을 설정하려고 해도 잘 안되었다.
C:\endless\grub 폴더는 숨겨진 상태였기 때문에, 폴더의 권한을 바꾸려면 C:\endless 폴더에서 grub 폴더를 마우스 오른쪽으로 선택을 할 수 없었다.
그냥 grub 폴더까지 들어가서 (C:\endless\grub 내부) 탐색기 창의 빈 자리를 마우스 오른쪽 버튼으로 클릭했더니, grub 서브폴더의 보안권한을 바꿀 수 있었다.
그런데, 원본 백업 복사도 안되고, 파일 변경도 안되고 좌절하고 있는데, 에러메시지가 이렇게 나온 것을 읽었다. 똑같은 것은 아니다.
_( (이 컴퓨터 이름) 의 (내가 로그인한 사용자 이름)사용자는 권한이 없습니다. )_
이런 내용을 좀 무시하고 깨닫지 못하다가....
파일 탐색기 프로그램과 편집 프로그램도 모두 관리자권한으로 실행했는데도, 폴더와 파일의 권한을 모두 관리자 권한을 줬는데도 권한이 없어서 안된다고 해서,
지금 내가 자동 로그인된 사용자 이름의 권한을 추가하고, 읽기/쓰기/변경 권한을 추가했더니 편집 프로그램으로 grub.cfg 파일을 변경할 수 있고, 백업 복사본도 만들 수 있었다.
그리고, 재부팅했더니, 변경한 timeout 시간 값으로 작동하는 것을 확인할 수 있었다.
그 이후에 보안권한들을 원래의 값인, 읽기만 있고, 쓰기/변경을 없는 것으로 바꾸고, 현재 로그인된 사용자의 권한을 통째로 삭제했다.
---
2초로 시간을 정한 뒤로, 한 아이가 Endless OS 로 들어갔다가 끈 적이 있을 때에 다른 아이가 켜서 문제가 생겼다. 그래서, 이번에는 이전에 Endless 로 들어갔을 때와 다른 time out 값을 설정하도록 변경했다.
변경한 부분만 발췌하면, 아래와 같다.
-
원래는 set timeout=2 로 변경했다가 다시 바꾼 부분이다.
######################## set timeout=30
if test "$saved_entry" == "Microsoft Windows" ; then
set timeout=2
else
set timeout=30
fi
-
직전에 윈도로 부팅했었으면 timeout=2, 아니면 timeout=30 으로 하는 것이고, 내가 의도했던대로 잘 작동했다. 하지만, 디폴트를 그냥 윈도로하는 것이 나을지, 아니면 이것을 그냥 다 없앨지 고민된다.
-
-
-
출처
_( duckduckgo: uefi boot grub )_
https://superuser.com/questions/1247300/how-to-make-uefi-bios-start-grub-not-windows
-
_( duckduckgo: help efibootmgr )_
https://stackoverflow.com/questions/44919190/windows-equivalent-to-efibootmgr
-
~#
efibootmgr > efiboot-info.txt
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0002,0001,0000
Boot0000* Windows Boot Manager
Boot0001* Hard Drive
Boot0002* Windows Boot Manager
Boot0003* Endless OS
~#
efibootmgr -v > efiboot-info-verbose.txt
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0002,0001,0000
Boot0000* Windows Boot Manager HD(1,GPT,4e527ba8-51f5-4ecd-bc88-181b67e5c748,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0001* Hard Drive BBS(HD,,0x0)..GO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.6.0. .E.V.O. .2.5.0.G.B....................A...........................>..Gd-.;.A..MQ..L.3.S.K.Y.X.N.M.1.1.1.0.8.5.6. .E. . . . ........BO
Boot0002* Windows Boot Manager HD(1,GPT,d0b062f0-198d-4b0b-8af8-fad7dbd499cf,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)..BO
Boot0003* Endless OS HD(1,GPT,d0b062f0-198d-4b0b-8af8-fad7dbd499cf,0x800,0x32000)/File(\EFI\ENDLESS\BOOTX64.EFI)
-
grub customizer
https://askubuntu.com/questions/148095/how-do-i-set-the-grub-timeout-and-the-grub-default-boot-entry
-
https://bagjunggyu.blogspot.com/2012/11/grub-customizer-grub.html
-
http://blog.daum.net/bagjunggyu/31
-
_( google: grub setting in endless os with windows )_ 하면,
https://support.endlessm.com/hc/en-us/articles/115002335646-After-installing-Endless-OS-the-GRUB-menu-does-not-appear-and-it-starts-directly-in-Windows
--
http://blog.daum.net/bagjunggyu/31
-
_( google: grub setting in endless os with windows )_ 하면,
https://support.endlessm.com/hc/en-us/articles/115002335646-After-installing-Endless-OS-the-GRUB-menu-does-not-appear-and-it-starts-directly-in-Windows
가 나온다.
easy UEFI 소프트웨어 trial 을 사용해 본다. 하지만, 일단 잘 읽어보자.
https://support.endlessm.com/hc/en-us/articles/115002335646-After-installing-Endless-OS-the-GRUB-menu-does-not-appear-and-it-starts-directly-in-Windows
-
그런데, 읽어보고 나니, 이것은 UEFI에서 Endless OS의 부트 매니저인 grub _으로 가기 전까지의 과정을 제대로 수행하게 만드는 것이다. 그러나, 내가 원하는 것은 일단 이것으로 간 후에, grub에서의 메뉴 옵션과 디폴트 항목과 그 항목의 타임아웃(timeout) 시간 설정을 바꾸고자 하는 것이니까 UEFI의 것은 필요 없다. 나는 지금은 이것까지는 아주 잘 진행되고 있으니까 그렇다. 그래서, grub 자체의 설정방법을 알아봐야겠다.
-
https://skylit.tistory.com/87
-
이것이 그것인 듯하다.
-
찾아봤는데, /etc/default/... 에 있는 파일은 그냥 쓰레기인 듯 (junk)...
endlessOS에서 동작하고 있는 것과는 상관없는 각종 여러가지의 (전통적인.. 오래전에 쓴 것으로 느껴지는..) debianOS 관련이나, 원격 설정, 다국어 설정 등등으로 보이는
실제로 endlessOS에서 사용하는 것은 이것이 아닌 것이라고 느껴지는 아주 아주 많고, 여러 다른 설정을 사용하도록 고안되었지만, 결국 쓸모 없이 버려진 아주 긴 shell script 등이 발견되었다.
대신 실제로 endlessOS에서 사용하는 것으로 보이는 것은 아래의 위치에 있었다.
/boot/grub/grub.cfg
이 파일이었다. 내용은 아래와 같다.
endless OS 에서는 어떻게 한다는 내용이 많이 보인다.
-------/boot/grub/grub.cfg 내용 시작
function load_video {
insmod all_video
}
function savedefault {
if test "$should_savedefault" ; then
saved_entry="${chosen}"
save_env -f $grubenv saved_entry
fi
if ! test "$eosimage" ; then
recordfail=1
save_env -f $grubenv recordfail
fi
}
if [ "x${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 1 ; then
set timeout=0
fi
fi
fi
if test "$eosimage" ; then
set grubenv=($eosimage)/endless/grub/grubenv
# ISO
if test -f ($eosimage)/endless/endless.squash ; then
loopback loop_squash ($eosimage)/endless/endless.squash
loopback loop_img (loop_squash)/endless.img
set image_path="/endless/endless.squash"
# Dual boot
elif test -f ($eosimage)/endless/endless.img ; then
loopback loop_img ($eosimage)/endless/endless.img
set image_path="/endless/endless.img"
fi
set root=(loop_img,gpt3)
probe -u $eosimage --set=image_dev_uuid
set kparams="endless.image.device=UUID=$image_dev_uuid endless.image.path=$image_path nohibernate"
# test for Windows hibernation
if test -f ($eosimage)/hiberfil.sys ; then
if file --is-hibernated-hiberfil ($eosimage)/hiberfil.sys ; then
set hibernation=true
fi
fi
if test -f ($eosimage)/eosldr ; then
# If we can't boot Endless OS, provide a dummy Windows entry which
# reboots to the Windows boot menu.
if test "$hibernation" ; then
set found_windows=true
menuentry "Microsoft Windows" {
reboot
}
fi
elif test -f ($eosimage)/endless/live ; then
set kparams="$kparams endless.live_boot"
set is_live=true
export is_live
else
set should_savedefault=true
export should_savedefault
# search for other OSes
insmod regexp
for dev in ($bootdev,*); do
regexp -s device '\((.*)\)' $dev
if test "$grub_platform" == "efi"; then
if test -f ($device)/EFI/MICROSOFT/BOOT/BOOTMGFW.EFI ; then
set found_windows=true
menuentry "Microsoft Windows" $device {
set booting_windows=true
savedefault
set root=$2
chainloader ($root)/EFI/MICROSOFT/BOOT/BOOTMGFW.EFI
}
fi
else
probe -s is_bootable -b ($device)
if test "$is_bootable" == "none"; then
continue
fi
if test ( -f ($device)/bootmgr -a -f ($device)/Boot/BCD ) ; then
set found_windows=true
# Windows Vista or later
menuentry "Microsoft Windows" $device {
set booting_windows=true
savedefault
set root=$2
chainloader +1
}
elif test ( ( -f ($device)/ntldr -o -f ($device)/NTLDR ) -a ( -f ($device)/ntdetect.com -o -f ($device)/NTDETECT.COM ) -a ( -f ($device)/boot.ini -o -f ($device)/BOOT.INI ) ) ; then
set found_windows=true
# Windows XP
menuentry "Microsoft Windows" $device {
set booting_windows=true
savedefault
set root=$2
regexp -s devnum 'hd([0-9]+)' $root
if test "$devnum" != "0"; then
drivemap -s hd0 $root
fi
chainloader +1
}
elif test "$eosimage" ; then
set found_windows=true
# Other Windows flavour?
menuentry "Unknown OS" $device {
set booting_windows=true
savedefault
set root=$2
chainloader +1
}
fi
fi
done
fi
else
probe -u $root --set=rootuuid
set grubenv=($root)/boot/grub/grubenv
fi
export grubenv
if test -f $grubenv ; then
load_env -f $grubenv
fi
# load last selection. savedefault() only writes this entry on dual-boot
# systems.
if test "$saved_entry" ; then
set default="${saved_entry}"
else
set default=0
fi
# Show menu if we need to offer Windows, or if the last boot failed.
if test ( "$found_windows" -o "$recordfail" ) ; then
set timeout=30
fi
# Increment loglevel if the last boot failed.
if test "$recordfail" ; then
set kparams="$kparams loglevel=6"
fi
if test "$hibernation"; then
menuentry "Endless OS (unavailable)" {
echo -------------------------------------------------------------
echo Endless OS is unavailable whilst Windows is hibernated.
echo Please select Windows and shut down or reboot to use Endless.
echo -------------------------------------------------------------
echo
echo Press ENTER to continue ...
read
}
else
insmod blscfg
bls_import
fi
-------/boot/grub/grub.cfg 내용 끝
이렇다. 아마도 여기의 5번 나온 timeout 단어 중 맨 마지막의 set timeout=30 값을 ...=5 정도로 바꿔야 하지 않을까 생각된다.
-
위 처럼 시도해 봤지만, 바뀌지 않았다. 역시.. 조금 헐렁해 보이는 script 및 위치였다.
-
한참 뒤에 다시 검색을 시도했다.
_( duckduckgo: how to change timeout in grub at endlessos )_
결과는 처음에 나온 것은 ubuntu OS 관련된 것이라, endless OS에는 직적 관련이 없고, 아까 위에서 처럼 직접 endless OS 에 관련된 부분이라야 효과가 있을 것으로 보여서 고려대상에서 제외했다.
좀 더 아래쯤에 있는 검색결과에서 endless os 에 관련된 내용이 있었다.
-
https://community.endlessos.com/t/dualboot-set-boot-time/5480/2
-
내용은 윈도의
C:\endless\grub\grub.cfg
위치에 있는 파일에서 timeout 값을 조정할 수 있다는 것인데, 놀라웠다. 정말일까?
-
결론은 맞는 것이다. 그렇다고 쉽게 내가 목적하는 바를 이뤘는가 하면 결코 그렇지 않다.
경고는 보이지 않게 되어 있다고 하는 것이었다. 여기부터는 엄청난 어려움을 겪은 것을 적는다.
C:\endless 폴더 까지는 쉽게 찾을 수 있었다.
그 속에는 grub 폴더가 보이지 않았다. 없는 것일까? 아니었다.
윈도 파일 탐색기 주소창에 직접 C:\endless\grub 라고 타이핑해서 입력하면 없는 척하던 grub 서브폴더(sub-folder)로 들어갈 수 있었다. 그 속에는 grub.cfg 라는 파일과 다른 파일 하나, 그 속에 또 다른 서브폴더가 있었다. 들어가서 봤는데, 별로 내 목적에는 쓸모가 없는 것들이었다. 언급하지 않겠다.
c:\endless\grub\grub.cfg 파일의 내용은, 위에 언급된 endless OS 설치된 속에 들어 있는 /boot/grub/grub.cfg 파일의 내용과 같은 것이 들어있었다. 하지만, 이것을 알아보는 것도 쉽지 않게 된 것이, 일반 노트패드 프로그램(텍스트 파일 편집기)으로 열면, 줄바꿈이 [LF]로만 되어 있어서 줄바꿈 없이 쭉-- 이어진 파일로 표시가되기 때문에 알아보기도 너무 어려웠다. 유닉스 스타일 줄바꿈을 지원하는 다른 프로그램을 설치한 후에 다시 열어보니 ( 열기대화상자에서 숨겨진 파일 폴더 위치를 직접 넣어야 찾아낼 수 있고, 열 수 있다. ) 읽기 전용으로만 보안 권한설정이 되어 있어서 아무것도 할 수 없었다.
시스템 관리자의 권한 설정을 완화해서 쓰기/변경도 되도록 폴더와 파일의 권한을 변경 했는데도 안되었다. (시스템 관리자) 관리자 권한으로 열기 등등을 해도 안되어서 상당한 좌절을 겪었다. 있는 ...\grub.cfg 파일을 사본으로 복사를 하려고 했지만, 이것마저도 안되었다.
권한 설정을 완화해서 쓰기 권한을 설정하려고 해도 잘 안되었다.
C:\endless\grub 폴더는 숨겨진 상태였기 때문에, 폴더의 권한을 바꾸려면 C:\endless 폴더에서 grub 폴더를 마우스 오른쪽으로 선택을 할 수 없었다.
그냥 grub 폴더까지 들어가서 (C:\endless\grub 내부) 탐색기 창의 빈 자리를 마우스 오른쪽 버튼으로 클릭했더니, grub 서브폴더의 보안권한을 바꿀 수 있었다.
그런데, 원본 백업 복사도 안되고, 파일 변경도 안되고 좌절하고 있는데, 에러메시지가 이렇게 나온 것을 읽었다. 똑같은 것은 아니다.
_( (이 컴퓨터 이름) 의 (내가 로그인한 사용자 이름)사용자는 권한이 없습니다. )_
이런 내용을 좀 무시하고 깨닫지 못하다가....
파일 탐색기 프로그램과 편집 프로그램도 모두 관리자권한으로 실행했는데도, 폴더와 파일의 권한을 모두 관리자 권한을 줬는데도 권한이 없어서 안된다고 해서,
지금 내가 자동 로그인된 사용자 이름의 권한을 추가하고, 읽기/쓰기/변경 권한을 추가했더니 편집 프로그램으로 grub.cfg 파일을 변경할 수 있고, 백업 복사본도 만들 수 있었다.
그리고, 재부팅했더니, 변경한 timeout 시간 값으로 작동하는 것을 확인할 수 있었다.
그 이후에 보안권한들을 원래의 값인, 읽기만 있고, 쓰기/변경을 없는 것으로 바꾸고, 현재 로그인된 사용자의 권한을 통째로 삭제했다.
---
2초로 시간을 정한 뒤로, 한 아이가 Endless OS 로 들어갔다가 끈 적이 있을 때에 다른 아이가 켜서 문제가 생겼다. 그래서, 이번에는 이전에 Endless 로 들어갔을 때와 다른 time out 값을 설정하도록 변경했다.
변경한 부분만 발췌하면, 아래와 같다.
-
원래는 set timeout=2 로 변경했다가 다시 바꾼 부분이다.
######################## set timeout=30
if test "$saved_entry" == "Microsoft Windows" ; then
set timeout=2
else
set timeout=30
fi
-
직전에 윈도로 부팅했었으면 timeout=2, 아니면 timeout=30 으로 하는 것이고, 내가 의도했던대로 잘 작동했다. 하지만, 디폴트를 그냥 윈도로하는 것이 나을지, 아니면 이것을 그냥 다 없앨지 고민된다.
-
-
Comments
Post a Comment