GRUB을 설치한 후 Booting 실패에 대한 질문 입니다.
지금 해보고 있는 내용을 간단히 설명드리면요,
USB를 booting 가능하게 만들어서 HDD가 있는 system에서도
일단 USB로 booting을 해보려고 합니다.
일단 USB memory 에 boot directory를 만들고, 다음과 같은 file들을 넣어두었습니다.
config-2.6.29.6 efi grub initrd-2.6.29.6.img initrd.img -> initrd-2.6.29.6.img lost+found System.map -> System.map-2.6.29.6 System.map-2.6.29.6 vmlinuz -> vmlinuz-2.6.29.6 vmlinuz-2.6.29.6
그리고 /boot/grub/device.map은
(fd0) /dev/fd0
(hd0) /dev/hda
(hd1) /dev/sda
(hd2) /dev/sdb
입니다.
grub.conf의 내용은 아래와 같습니다.
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/hda3 # initrd /initrd-version.img #boot=/dev/hda default=1 serial --unit=0 --speed=9600 terminal --timeout=0 console serial timeout=8 #hiddenmenu splashimage=(hd0,0)/grub/splash.xpm.gz title System Kernel - Over VGA port root (hd0,0) kernel /vmlinuz ro root=LABEL=/ PROMPT_NO nmi_watchdog=1 quiet initrd /initrd.img title System Kernel - Over serial port root (hd0,0) kernel /vmlinuz ro root=LABEL=/ PROMPT_NO console=tty0 console=ttyS0,9600 nmi_watchdog=1 quiet initrd /initrd.img
일단 booting을 하면 위의 grub.conf에 설정된 것 같이 2개의 선택사항이 display되고 GRUB은 정상적으로
불리어지는 것 같습니다.
그리고 이 중에 하나를 선택하면 그 때부터 화면이 아무런 error 없이 조용해집니다.
무슨 error라도 나와야 더 볼것 같은데,,그냥 조용해지니,,답답하기만하네요.
일단은 System에는 하나의 hard disk가 있고, 지금 USB memory를 사용해서 booting을 시도 하는 중이었습니다.
따라서 System에는 2개의 disk가 있는 셈입니다.
System Hard Disk는 아무 내용도 없고 format이 된 상태입니다.
'c' command를 이용해서 GRUB의 command line mode로 들어가서
GRUB> find /boot/grub/stage1
이라고 해보면
Error 15 : File not found
라고 나옵니다.
실제로 USB memory에는 /boot/grub/stage1이라는 file은 존재하는데
어떤 이유에서인지 제대로 찾지 못하는 것 같습니다.
어떻게 접근해보는 것이 좋은지 조언을 부탁드리고 싶습니다.
그럼,,미리 감사드립니다.
위에 말씀드린 내용중에,,
'c' command를 이용해서 GRUB의 command line mode로 들어가서
GRUB> find /boot/grub/stage1
이라고 해보면
Error 15 : File not found
라고 나옵니다.
이 부분이 특히 궁금합니다.
다른 것도 모르긴 하지만요.
어떤 것이 잘못되어 있을 때 일어날 수 있는걸까요?
조언 미리 감사드립니다. ^^
잘 모르지만, grub
잘 모르지만, grub 에서의 find 명령은 OS에서 익숙한 find 명령과 다른 형태의 파일을 찾거나, 혹은 C 를 입력하기 전에 커서가 위치한 부팅메뉴의 파티션 위치를 확인할 수 있는 파일들만 찾습니다
예를 들어 확장자가 mod 나 lst 인 apple.mod 나 menu.lst 파일인 경우 그 파일을 찾았을 때 에러 메세지는 나오지 않지만, apple.mod 나 menu.lst 를 출력하는게 아니라 (hd0,2) 와 같이 grub 편집모드로 들어오기 전에 커서가 위치한 부팅메뉴의 파티션 위치를 출력해줄 뿐입니다
따라서 질문자의 파일 형식들은 파티션 위치를 알려주거나 grub 의 find 명령으로 찾을 수 있는 형태의 파일이 아니기에 error 15 메세지만 보여주는게 아닐까 짐작합니다.
하지만, $ find /boot/grub/ 상태에서 Tab 키를 누르면 /boot/grub 디렉토리 안의 파일 목록은 형식에 상관없이 확인할 수 있습니다
확실히 모르기 때문에 답도 개판이 됐는데, 어쨌든 파일 목록 확인하시려면 Tab 키를 누르세요
*******************************
데비안과 세벌식 사용자입니다
*************************************
*******************************
데비안과 세벌식 사용자입니다
*************************************
조언 감사합니다.
설명을 해주신 내용을 잘 이해 못해서 다시 질문을 드립니다.
-------------------------------------------------------
grub 에서의 find 명령은 OS에서 익숙한 find 명령과 다른 형태의 파일을 찾거나, 혹은 C 를 입력하기 전에 커서가 위치한 부팅메뉴의 파티션 위치를 확인할 수 있는 파일들만 찾습니다
-------------------------------------------------------
->
이 말씀은 GRUB에서의 find 명령은 OS에서 사용하는 find명령과 다르다는 의미인가요?
아니면 OS에서 find로 찾을 수 있는 file과는 다른 형태의 file들만 찾을 수 있다는 말씀이신가요?
->
그리고 C를 입력하기 전에 Cursor가 위치한 booting Menu 의 partition 위치를 확인할 수 있는 file들만 찾는다는 의미에 대해서 다시 한번 여쭤보겠습니다.
일단 C를 입력하기 전에 GRUB이 표시해주는 booting menu는 "/boot/grub/grub.conf"에 의해서 표시되는 내용을 따르는 것 같습니다.
그리고 실제로 표시되는 내용도 /boot/grub/grub.conf의 내용이 맞고요.
위에 제가 올렸던 내용에 따른다면 "System Kernel - Over VGA port" 와 "System Kernel - Over serial port" 이렇게
두 가지가 선택될 수 있는 것이겠다고 이해가 됩니다.
그리고 Cursor가 위치한 곳에서 Enter를 누르면 해당 partition이 선택된다는 의미이신거죠?
그렇다면 이 경우에는 두 menu가 모두 (hd0, 0)을 가리키고 있으므로 항상 hd0 가 되겠네요.
그렇다면 Grub에서의 find 명령을 사용해서는 이렇게 선택된 hd0상에서의 file만을 찾을 수 있다는 의미이신거죠?
-------------------------------------------------------------
예를 들어 확장자가 mod 나 lst 인 apple.mod 나 menu.lst 파일인 경우 그 파일을 찾았을 때 에러 메세지는 나오지 않지만, apple.mod 나 menu.lst 를 출력하는게 아니라 (hd0,2) 와 같이 grub 편집모드로 들어오기 전에 커서가 위치한 부팅메뉴의 파티션 위치를 출력해줄 뿐입니다
-------------------------------------------------------------
->
그러므로 제대로 find 명령이 실행된다면 (hd0, 0)과 같은 결과를 얻어야 하는데, 무슨 이유에서인가 제대로 찾지를 못한거네요.
저도 file이름이나 내용이 출력되는 것이 아니고, (hd0,0), (hd0,1) 와 같은 partition의 위치만 표시되는 걸로 이해하고 있었습니다.
----------------------------------------------------------
따라서 질문자의 파일 형식들은 파티션 위치를 알려주거나 grub 의 find 명령으로 찾을 수 있는 형태의 파일이 아니기에 error 15 메세지만 보여주는게 아닐까 짐작합니다.
----------------------------------------------------------
-> 제가 선택했던 file은 실제 usb memory내의 /boot/grub내에 존재하는 file이었고요. 이런 경우에 이 file이 속해있는 Partition의 위치를 알려주는 것이 file의 형태와 관련이 있다는 말씀이신가요?
저는 무슨 이유에서인가 /boot/grub/grub.conf 에 적혀있는 (hd0,0)를 grub이 제대로 찾지 못하고 있다는 생각을 했거든요.
grub.conf에는 (hd0,0)이라고 되어 있는데, 해당 parition을 제대로 찾지 못하니, 당연히 file을 찾지 못하고, 그래서 error 15
가 return된 것이 아닌가 생각을 했습니다.
그리고 그것이 /boot/grub/device.map과 연관이 있는 것은 아닌가 생각했습니다.
위의 글에서 말씀드린대로 /boot/grub/device.map의 내용은
(fd0) /dev/fd0
(hd0) /dev/hda
(hd1) /dev/sda
(hd2) /dev/sdb
입니다.
그리고 지금 System에 USB memory를 포함해서 disk가 2개 있는 셈인데요.
그렇다면 USB memory가 sda로 인식되는 것인지, 아니면 sdb로 인식되는 것인지도 확실하지 않습니다.
그리고 GRUB 이 위의 device.map을 바탕으로 disk를 인식한다면, USB memory가 sda로 인식되어 있다면 grub.conf도 (hd0,0) 이 아닌 (hd1,0)을 가지고 있어야 하는 것은 아닌지, 또는 USB memory가 sdb로 인식되어 있다면 grub.conf에서도 (hd2,0)으로 설정을 해놓아야 하는 것은 아닌지...그걸 잘 모르겠습니다.
-----------------------------------------------------
확실히 모르기 때문에 답도 개판이 됐는데, 어쨌든 파일 목록 확인하시려면 Tab 키를 누르세요
-----------------------------------------------------
->
말씀해 주신대로
GRUB> find /boot/grub/stage1 대신에 GRUB> find boot/grub/이라고 해보았는데요.
똑같이 Error 15가 발생했습니다.
조언 너무 감사드리지만, 아직도 너무 모르는게 많습니다.
조언을 더 주신다면 감사하겠습니다. ^^
되도않는 답으로
되도않는 답으로 오히려 궁금증만 늘려드렸군요
위 댓글의 모든 내용은 제 컴퓨터에서 부팅시 grub에서 find 명령을 실행시켰을 때 나타나는 현상을 적은겁니다.
이유를 알고쓴 글이라기 보다 이미 설치된 컴퓨터에서 나타난 현상을 적은글이라고 이해해주셨으면 합니다.
grub2에는 find 가 search로 대체되었는데, http://grub.enbug.org/CommandList
grub legacy 에서의 이런 기이한 현상때문에 find 가 빠진게 아닐까하고 짐작합니다
grub 0.97 메뉴얼은 http://www.gnu.org/software/grub/manual/legacy/ 여기 있습니다
*******************************
데비안과 세벌식 사용자입니다
*************************************
*******************************
데비안과 세벌식 사용자입니다
*************************************
댓글 달기