USB 드라이브에 설치된 Ubuntu를 부팅하기 위해 GRUB2 메뉴 항목을 추가하는 방법은 무엇입니까?


23

USB에서 LiveCD를 부팅하는 방법을 묻지 않습니다.

컴퓨터의 내부 하드 드라이브와 USB 드라이브에 각각 2 개의 Ubuntu 설치가 있습니다.

나는 USB 플래시 드라이브에 설치 한 우분투 OS를 부팅 (내 내부 하드 드라이브에 GRUB까지) GRUB2 메뉴 항목을 추가하는 방법이 나는 리눅스 커널을 업그레이드 한 후이 같은 메뉴 항목을 여전히 일이이 USB 설치?

답변:


33

외부에서 커널을 업그레이드 할 때마다이를 실행하여 내부 드라이브의 grub에서 부트 스탠자를 업데이트 할 수 있습니다.

sudo update-grub

그러나 특정 커널이 아닌 파티션을 부팅하는 grub2의 40_custom에 부트 스탠자를 추가 할 수도 있습니다. Ubuntu는 / (루트)에 링크를 설치하여 최신 설치를 부팅합니다. 필요한 경우 드라이브 및 파티션에 아래 예를 조정하십시오. grub이있는 부팅 드라이브는 항상 hd0이지만 다른 드라이브는 BIOS에서보고 된 순서대로 달라질 수 있습니다.

다음으로 편집 :

gksudo gedit /etc/grub.d/40_custom

그런 다음 다음을 추가하십시오.

menuentry "Install on sdb1" {
    set root=(hd1,1)
    linux /vmlinuz root=/dev/sdb1 ro quiet splash
    initrd /initrd.img
}

위의 작동 중에 플래시 드라이브 또는 다른 USB 장치를 연결하면 드라이브가 변경 될 수 있습니다. 라벨을 사용하도록 변환하고 있습니다.

menuentry "Cosmic 18.10 on sdb12 test" {
    search --set=root --label cosmic_b --hint hd2,gpt12
    configfile /boot/grub/grub.cfg 
}

1
파티션의 UUID를 사용하는 대신에 방법이 /dev/sdb1있습니까?
키리

sudo update-grub은 훌륭하게 작동했습니다. 감사합니다!
Sergiy Migdalskiy

2
(hd1,1) 대신에 무엇이 있어야하는지 어떻게 알 수 있습니까? 이 숫자를 어디에서 가져 와서 적합합니까? askubuntu.com/questions/573502/…
matt

4
첫 번째 숫자는 BIOS에서보고 한 드라이브입니다. 그러나 부팅 드라이브는 항상 hd0이므로 드라이브 순서가 변경 될 수 있습니다. 그런 다음 두 번째 숫자는 파티션 번호입니다. sda 인 드라이브에서 부팅하는 경우 sda3은 hd0,3입니다. 그러나 sdb에서 부팅하면 hd1,3 일 수 있습니다. 때때로 당신은 실험을해야합니다.
oldfred

sudo update-grub은 Windows 항목 추가와도 작동합니다.
superl2

9

드라이브의 UUID를 사용하는 방법을 알아 냈습니다. 부팅 할 때 여러 개의 드라이브를 연결했을 때 유용합니다. oldfred에게 자신의 메모 /vmlinux/initrd.img심볼릭 링크 에 대한 크레딧 .

이것을 파티션 UUID로 /etc/grub.d/40_custom대체 하여 파일에 추가하십시오 UUID=XXXX-YYYY(명령으로 UUID 가져 오기 blkid).

menuentry "Boot from USB Drive" {
    set root=UUID=XXXX-YYYY
    linux /vmlinuz root=UUID=XXXX-YYYY ro quiet splash
    initrd /initrd.img
}

8
이것은 위의 질문에 대한 답이 아닙니다. oldfred의 답변을 수락 했어야합니다.
Demis Palma ツ

1
@kiri : 다른 사람의 답변을 복사하여 자신에게 신용을주는 것은 나쁜 습관으로 간주됩니다. 예, UUID 부품을 추가 한 경우에도 마찬가지입니다.
Lennart Rolland

2

Ubuntu Live USB 메뉴 항목에서 부팅하려면 /etc/grub.d/40_custom다음과 같이 표시되어야합니다 ( 파티션의 uuid로 교체DRIVE_UUID ).

menuentry "Boot from LIVE USB Drive" {
   search --set=root --fs-uuid DRIVE_UUID
   linux ($root)/casper/vmlinuz boot=casper quiet splash --
   initrd ($root)/casper/initrd.lz
}

변경 사항을 적용하려면 다음을 실행하십시오.

sudo update-grub
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.