내 설정은 다음과 같습니다
-M.2 SSD의 Windows 10
-일반 SSD(sdb)의 Ubuntu 18.04
-아치 리눅스도 sdb에 있지만 다른 파티션에 있습니다.
먼저 grub을 이용해서 ubuntu를 설치하고 나중에 별도의 부트로더를 설치하지 않고 아치리눅스를 추가했는데 설정은 기본적으로 동일합니다이 가이드제안. /etc/default/grub
를 편집하고 실행하여 우분투에 커널 매개변수를 추가 할 수 있습니다 sudo update-grub
. 여기에서 변경한 내용이 지속된다는 것을 확인할 수 있습니다 cat /proc/cmdline
.
그런데, Arch에 etc/default/grub이 있는데 grub.cfg가 없어서 변경사항을 적용할 수 없습니다. sudo grub-mkconfig -o /boot/grub/grub.cfg
출력 해당 파일이나 디렉터리가 없습니다. 분명히 .cfg를 업데이트하면 Archs grub 파일의 변경 사항이 우분투로 전송되지 않으며 ubuntu .cfg가 아치에 대한 매개 변수를 로드하지도 않습니다.
두 번째 grub 인스턴스를 설치하지 않고 아치 설치에 커널 매개변수를 추가할 수 있는 방법이 있습니까?
편집: 우분투의 grub.cfg에서 아치 리눅스 항목을 수동으로 편집하여 아치의 커널 매개 변수를 영구적으로 변경할 수 있었지만 그것이 실제 해결책이라고 생각하지 않습니까? 달릴 때마다 다시 해야 하지 않나요 update-grub
?
답변1
"다른 배포판의 grub.cfg"라고 말하는 것은 이상합니다. 이는 배포판의 관련 패키지 구성(grub이라는 이름이 있지만 부팅 중에는 절대 사용되지 않는)이 아니라 grub의 구성(실제 부팅 프로세스 중에 사용됨)입니다. grub 설치 프로그램과 구성 도구만 있으면 됩니다.)
Arch를 사용하여 Grub을 설치하거나 구성하지 않는 것이 좋습니다. Arch에 관련 패키지를 설치할 필요도 없습니다. Ubuntu에 관련 패키지를 설치하고 Ubuntu에서 실행할 때마다 Archlinux 커널을 자동으로 감지하도록 구성하십시오 update-grub
. 패키지는 배포판에 따라 동작이나 구성이 다르므로 두 가지를 모두 사용하면 문제가 발생할 수 있습니다.
답변2
Ubuntu에서 Arch가 GRUB에 표시되도록 하기 위해 가장 먼저 무엇을 했습니까?
/etc/grub.d/40_custom
Ubuntu를 편집 했거나 /etc/grub.d/
Ubuntu 디렉토리에 다른 파일을 추가했 습니까 ? 그런 다음 파일은 Arch를 시작할 때 사용된 실제 커널 옵션을 보유하고 파일을 편집하고 sudo update-grub
Ubuntu에서 실행할 것입니다.
sudo update-grub
아니면 Ubuntu에서 Arch 시작 항목을 실행할 때 자동으로 나타납니까? 이 경우 os-prober
Ubuntu의 스크립트( /etc/grub.d/30_os-prober
on 으로 호출됨 sudo update-grub
)는 자동으로 Arch 설치를 감지할 수 있습니다. 실제로는 발견된 다른 Linux 설치를 찾는 것처럼 보이 /boot/grub/grub.cfg
므로 Arch에서 스크립트를 만든 다음 sudo update-grub
Ubuntu를 실행하면 실제로 선택됩니다. Arch 측에서 이 파일에 지정된 커널 부팅 옵션은 Arch에 GRUB의 "실제" 두 번째 복사본이 설치되어 있지 않더라도 마찬가지입니다. 예상 위치에 GRUB 구성 파일을 두는 것만으로도 충분합니다.