유지 관리가 필요 없는 Grub2 메뉴

유지 관리가 필요 없는 Grub2 메뉴

따르다"유지보수가 필요 없는" 문제는 여기에 있습니다., grub2 메뉴 항목을 자동으로 생성하는 방법이 있다는 것을 알고 있지만 때때로 수동으로 편집/추가해야 합니다.

  • 라이브 Linux 시스템에 또는
  • 새 ISO 부팅 항목을 추가하는 경우(다른 디스크에 존재)

거의 모든 grub2 소개 문서는 다음 형식을 사용합니다.

set root=(hd2,gpt7)

나는 때때로 내 컴퓨터 사이에서 하드 드라이브를 이동해야 하고 그런 일이 발생하면 위의 형식이 확실히 손상되기 때문에 이것이 실패할 것이라는 것을 알고 있습니다.

가능하지만UUID를 사용하여 루트 파일 시스템을 지정할 수 없습니다(그리고여기서 실패했습니다역시), 파티션을 포맷하면(새 OS를 설치할 때) 파티션의 UUID가 변경되기 때문에 UUID를 사용하고 싶지 않습니다.

그렇다면 더 나은 옵션은 무엇입니까?

  1. 가장 중요한 것은,GPT 파티션 라벨하드 드라이브를 이동할 때에도 모든 컴퓨터에서 고유한지 확인할 수 있기 때문에 최고의 후보입니다. 하지만,이거 문제가 있는 것 같네요:"PARTLABEL을 사용하여 장치를 설치할 수 없습니다.".
    하지만 희망적이어야 한다. 왜냐하면 나는 할 수 있기 때문이다.바라보다

4.20부터는 PARTLABEL <github.com/torvalds/linux/blob/v4.20/init/do_mounts.c>도 지원되는데, 정말 편리한 것 같아요. 답변을 업데이트할 수도 있습니다. – equaeghe 1월 20일

  1. 두 번째로 좋은 점은PARTUUID. 그러나 인터넷에는 혼란스럽고 상충되는 답변이 떠돌고 있습니다.
    • 여기형식은 다음과 같다고 나와 있지만 PARTUUID=SSSSSSSS-PP정확히 어떤 모양인지는 나와 있지 않습니다.
    • 이것다음 답변예가 제공되지만 형식은 다음과 같습니다.root=PARTUUID=666c2eee-193d-42db-a490-4c444342bd4e

PARTLABEL그렇다면 최신 grub2를 사용할 수 있습니까 PARTUUID?

답변1

grub2에 대한 구성 파일 형식 파일과 항목을 확인하세요.

새 ISO를 편집할 때 항상 sudo update-grub을 실행하는 것을 잊어버립니다. 그래서 모든 항목을 ISO 폴더의 텍스트 파일로 이동하고 하나의 구성 파일 항목을 표준 grub 40_custom으로 이동했습니다. 그런 다음 텍스트 파일을 편집하면 됩니다.

프로필 세부정보는 6.5를 참조하세요. https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config 태그와 프로필을 사용하여 다른 설치 시작

https://askubuntu.com/questions/344125/how-to-add-a-grub2-menu-entry-for-booting-installed-ubuntu-on-a-usb-drive/344359#344359

40_custom을 ISO 폴더(하나는 hd0에, 다른 하나는 hd1에 있음)의 텍스트 파일로 표시하는 구성 파일입니다. 한 드라이브에 ISO가 있고 문제가 덜한 다른 드라이브에 설치할 수 있습니다.

https://ubuntuforums.org/showthread.php?t=2076205&p=13788092#post13788092

https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config

40_custom의 일반적인 항목은 변경되지 않습니다.

menuentry 'Live ISOs on SSD' {
search --set=root --label iso_ssd --hint hd1,gpt5
configfile /livecdimage.cfg
} 

그런 다음 livecdimage.cfg 또는 원하는 파일에서 ISO 또는 기타 설치를 위한 전체 grub2 부팅 섹션을 복사합니다. 모든 grub 섹션은 텍스트 파일에서 찾을 수 있습니다.

다른 예시:

https://ubuntuforums.org/showthread.php?t=2076205&p=14020961#post14020961

내 예제 구성 파일은 livecdimage.cfg이며 일반적으로 ISO 폴더에 여러 항목 또는 여러 ISO를 포함합니다.

# livecdimage.cfg

menuentry "Kubuntu 21.10 Impish Live ISO" {
    set isofile="/ISO/kubuntu-21.10-desktop-amd64.iso"
    loopback loop (hd1,5)$isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile toram noeject
        initrd (loop)/casper/initrd
}

관련 정보