[해결] grub.cfg 편집하려면 어떻게 해야하나요?

우분투를 외장하드에 담아서 들고 다니면서 쓰는데 집에서는 멀쩡하게 잘 부팅되다가 연구실 노트북인 Xnote E500에 붙여서 돌리면 무조건 뻗더군요. 검색해보니 노트북에서 뻗는 경우는 보통 acpi 문제여서 커널행에 acpi=off 옵션을 주면 해결된다고 하더라구요.
그런데 grub에서 옵션을 줘봤는데도 뻗는겁니다.
제가 옵션을 주는 방법이 잘못됐나해서 acpi=off, noapic acpi=off, acpi=off apm=force, noapic nolapic acpi=off 등등 해결책으로 언급된 온갖 옵션을 줘서 한 재부팅을 30번은 한 것 같습니다.

결국 부팅은 계속해서 실패하고, 어디서 뻗나 보자 하고 quiet splash 옵션을 삭제하고 부팅시켰는데 그냥 부팅이 되는 것입니다;
그 때의 허탈감과 분노란…ㅎㅎ 뭐가 문제인가해서 확인해보니 알고보니 문제는 splash 였습니다.
splash 옵션만 지우면 부팅이 되더군요. 노트북이 와이드라 해상도 때문에 문제가 생긴건가 하고 추측해보고 있습니다.

제가 알기로는 splash 옵션은 그저 부팅 화면을 예쁘게(?) 꾸며주는 옵션으로 알고 있어서 아예 없애도 될 것 같은데요. 코알라 클린설치라 grub2라서 menu.lst가 없더라구요. grub.cfg를 편집해야할 것 같은데 sudo gedit grub.cfg 해서 편집하려고 하면 읽기 전용이라 안된다고 뜨네요. 혹시 어떻게 해야 편집할 수 있을까요?

참, 그리고 제가 단시간에 프리징+재부팅을 너무 많이 반복해서 걱정스러운데 외장하드에 무리가 가진 않았을까요?ㅠ

/boot/grub/grub.cfg 파일은 ls -l 해보시면 아시겠지만
읽기만 가능하도록 되어 있습니다.
또 실제로 이 파일을 쓰기 가능하도록 만든후 편집해도
update-grub 해버리면 편집했던게 날라가 버립니다.
커널 업데이트때 주로 그러죠 :)

그럼 이 파일 내용 바꾸고 싶을땐 어찌하면 될까?
간단합니다.40_custom 파일에다 필요한 내용을 추가해주면 됩니다.

sudo gedit /etc/grub.d/40_custom

예를 들어 /boot/grub/grub.cfg 에 있는

menuentry "Ubuntu, linux 2.6.30-8-generic" {
set root=(hd0,7)
search --fs-uuid --set cdcc713f-58e0-4ad8-b61c-d4fedae073db
linux /boot/vmlinuz-2.6.30-8-generic root=UUID=cdcc713f-58e0-4ad8-b61c-d4fedae073db ro quiet splash
initrd /boot/initrd.img-2.6.30-8-generic
}

splash 부분을 없애고 싶으면

/etc/grub.d/40_custom 파일에다

menuentry "Ubuntu, linux 2.6.30-8-generic-my" {
set root=(hd0,7)
search --fs-uuid --set cdcc713f-58e0-4ad8-b61c-d4fedae073db
linux /boot/vmlinuz-2.6.30-8-generic root=UUID=cdcc713f-58e0-4ad8-b61c-d4fedae073db ro quiet
initrd /boot/initrd.img-2.6.30-8-generic
}

라고 만들어 넣어 준뒤

sudo update-grub

해주면 /boot/grub/grub.cfg 맨 아랫 부분에
추가한 내용이 들어가 있을겁니다.

이제 부팅할때 Ubuntu, linux 2.6.30-8-generic-my 를 선택해서 부팅하시면 됩니다.

아 그리고 재부팅은 정상적으로 reboot하시면
자주 하시더라도 별 무리는 없을 테지만

reset버튼으로 리부팅 자주 하시는 건 문제가 되겠네요 :)

9.10 설치 하면서 grub2 사용법 때문데 상당히 헷갈렸어요.
이번 팁으로 거의 나올 건 다 나온 것 같네요.
좋은 내용 감사합니다.
매번 잘 보고 있습니다. :P

reandr/

친절한 답변에 감사드립니다! 덕분에 매번 Grub 메뉴 띄우는 일이 줄었네요 :D