저는 Lubuntu, Xubuntu 및 Puppy Linux가 설치된 FS 노트북을 사용하고 있습니다. 저는 GRUB 부트로더를 사용하고 있으며 위에서 설명한 대로 잘 작동합니다.
나는 데비안을 사용해보고 싶어서 HD의 빈 파티션에 설치했습니다. 기존 GRUB 구성을 엉망으로 만들고 싶지 않았기 때문에 설치 중에 GRUB를 설치하지 않고 나중에 수동으로 설치하려고 했습니다. 그러나 나는 그것을 작동시킬 수 없습니다. 내 menu.lst에 이것을 추가했습니다.
title Debian
uuid 5329c69c-c525-4e0e-8026-3418a0db8fb2
kernel vmlinuz root=/dev/sda6 ro
initrd initrd.img
"Debian"이 표시되지만 이를 선택하면 "파일 이름은 절대 경로 이름이거나 차단 목록이어야 합니다." 오류가 발생합니다.
누군가 menu.lst 항목에 어떤 문제가 있는지 말해 줄 수 있나요? uuid 코드가 올바른지 확인했습니다(파티션 번호도 마찬가지).
답변1
다른 사람이 이 문제를 해결하려고 할 경우를 대비해 내 질문에 답하고 있습니다. 내 부분에서 두 가지 오류를 발견했습니다. a) 잘못된 경로 - kernel /boot/vmlinuz
b) 잘못된 커널 및 initrd 이름을 사용해야 했습니다 . 현재 다음이 실행 중입니다.
title Debian
uuid 5329c69c-c525-4e0e-8026-3418a0db8fb2
kernel /boot/vmlinuz-3.16.0-4-586 root=/dev/sda6 ro
initrd /boot/initrd.img-3.16.0-4-586
답변2
지정해야 합니다.절대 경로커널 파일에. 절대 경로는 루트 디렉터리에서 시작하여 로 끝납니다 /
. /boot
루트 파티션에 있는 경우 이는 .
kernel /boot/vmlinuz
/boot
별도의 파티션에 있는 경우 이는 다음을 의미합니다.
kernel /vmlinuz
마찬가지이다 initrd.img
.
root
또한 Grub이 이러한 파일이 있는 파티션을 가리키도록 하는 명령문이 필요할 수도 있습니다 . Grub 전통에서 이는 root (hd0,5)
Linux 용어 와 유사합니다 /dev/sda6
(Grub은 파티션 번호를 0부터 시작하고 Linux는 파티션 번호를 1부터 지정합니다). uuid
이 지시문은 Grub 버전이 이를 지원하는 경우 동일한 작업을 수행합니다.
일반 데비안 설치에서 /boot/vmlinuz
및 /boot/initrd.img
는 (각종)이라는 파일에 대한 심볼릭 링크입니다.vmlinuz-VERSION
initrd.img-VERSION
버전설치된 최신 커널 버전을 지정합니다. 구성에 따라 이러한 기호는 루트 디렉터리에 있을 수 있습니다(그러나 /boot
별도의 파티션에 있는 경우에는 효과가 없습니다). Grub은 심볼릭 링크를 읽을 수 있으므로(동일한 파티션 내에 있는 경우) 이를 사용하여 부트로더 구성에서 커널 버전 번호를 하드코딩하는 것을 방지할 수 있습니다.