꽃삽질 : 우분투 일파 Btrfs 설치 + rEFInd(Sata 혹은 NVMe).

2020.08 현재 아래 글은 별 의미가 없다.
refind 0.12 부터는 NVMe 를 잘 인식하여 처리한다.
다음 글 참고.


이 글의 원본은 이글루스에 있고, 그야말로 눈물겨운 삽질기가 포함돼 있다.
그 글을 기반으로, 쓸 데 없는 부분은 지우고, NVMe 를 사용가능하게끔 추가했다.

  • 2019.11 수정판.

이 글은, 우분투 일파를 설치하면서 Grub 을 설치하지 않고, rEFInd 를 설치하는 방법에 대해 설명한다.
다음 글, 리눅스 및 MS 윈도우 다중 환경에서 부트 관리자 rEFInd 설치 및 활용. 과도 연관이 있다. 다만, 여기선 우분투 만을 설치하면서 Grub 없이 설치하는 법을 다룬다.

설치하려는 디스크가 NVMe 일 경우에 대해서는 따로 정리한 적이 있었는데, 이 내용과 그 내용이 상당부분 중복이 됐다. 따라서 두 글을 합쳐서 하나로 정리했다.


준비 및 기본 설치.

우분투 라이브 디스크로 부팅하고, “Try Ubuntu without installing” 으로 진입한다.
GUI 환경이 뜨면, Install Ubuntu 아이콘을 바로 클릭하지 말고, 터미널을 열어 다음 명령을 실행한다.

$ ubiquity -b

위는 설치 프로그램을 실행하되, 부트 관리자(Grub2)를 설치하지 말라는 뜻이다. 그런데, grub 이 아예 설치가 안되는 건 또 아니다. 몇몇 프로그램(grub-common grub-pc-bin grub2-common)들은 여전히 설치가 된다. 이건 그냥 놔두는 게 좋을 듯 하다. (여기에 대해서는 글 말미에 다시 언급한다.)

그리고 기존과 똑같이 설치를 진행한다. /(root) 파티션에 Ext4 를 사용한다면 별 다른 신경을 쓸 게 없다. 그냥 설치하고, rEFInd 만 따로 설치해주면 된다.
그러나, / 를 Btrfs 로 사용한다면 잔재주(?)를 좀 부려야 한다.

먼저 파티션 나누기가 필요한데, 해줘야 할 작업은 다음과 같다.

  • GPT 로 새 파티션 테이블 설정
  • 첫째 파티션에 ESP 설정 (200MB 이상, FAT32)
  • 나머지 파티션 적절히 추가

여러 OS 를 사용할 예정이라면 ESP 를 넉넉히 잡는게 좋다. 500MB 정도.

그런데, 간혹, 새 파티션 테이블을 만들 수 없는 경우가 있다.

우분투 19.04
쿠분투 19.04

우분투에선 ‘새 파티션 테이블’이 활성화되지 않고, 파티션 삭제/추가도 되질 않는다. 이유는 알 수가 없다. 쿠분투에선 되는데, 우분투/쿠분투의 문제는 아닌 듯 하고, 아마도 기존 디스크 설정에 뭔가 문제가 있었던 것으로 보인다.

이럴 경우, 먼저 설치 작업을 일단 끝낸다. 설치 프로그램만 끝내기 어렵다면 재부팅을 하고, 바로 설치로 진입하지 말고, gparted 등 도구를 사용해서 일단 새 파티션 테이블을 gpt 로 만든다. 다른 파티션도 만들면 좋고, 이 작업이 복잡하고 어렵다면 gpt 로 새 파티션테이블만 만든 상태에서 설치를 다시 시작하면, 파티션 작업을 할 수 있게 된다.

파티션 나누기에 어려움이 없다면, 아래 그림과 유사하게 파티션을 만든다. 사용할 파일시스템은 Btrfs 이다.

위에선 전체 디렉토리를 파티션 하나(sda2)에 할당했지만, /, /home, /var, /opt 등을 모두 나눠도 된다.
예를 들면 이렇게.

/ 는 Btrfs, /home 은 xfs

또, 커널 5 부터는 Btrfs 도 스왑파일을 지원한다. 따라서 위에서처럼 스왑파티션이 없이 진행한다면, 나중에 모든 설치가 끝나고 스왑파일을 따로 만들어야 한다.

파티션 작업이 끝나면, 나머지 설치를 진행한다.
설치는 두가지로 나뉜다.

  • refind-install –usedefault
  • refind-install –root

첫번째: refind usedefault 설치 – 권장(VBox 일 경우 더더욱)

  • 명령어 : refind-install --usedefault
  • refind 설치 위치 : EFI/BOOT

설치가 끝나면, 재부팅을 할지, 좀 더 이 상태(우분투 Try)에 머물지를 묻는 대화상자가 뜬다. 여기서 재부팅을 하면, 부트 관리자를 설치하지 않았으므로 부팅하지 못하는 상황에 부딪히게 된다.

따라서, 재부팅하지 말고, ‘체험 계속하기’를 선택한 뒤 부트관리자 rEFInd 를 설치해야 한다.
터미널(아까 열어놓은 터미널도 괜찮고)에서 다음 명령을 실행한다.

$ sudo apt install refind

만약, refind 가 뭔지 모르겠다는 오류가 난다면, Universe 저장소를 추가한뒤 다시 명령을 내린다. (18.04 인가까지는 그냥 됐었는데, 19.04 인가부터 오류가 나기 시작했다.)

# 첫번째
$ sudo sh -c "echo 'deb http://archive.ubuntu.com/ubuntu/ <우분투 코드명> universe' >> /etc/apt/sources.list"

# 두번째 (좀 더 복잡하게 하려면..)
$ sudo sh -c "echo 'deb http://archive.ubuntu.com/ubuntu/ '$(lsb_release --codename | cut -f2)' universe' >> /etc/apt/sources.list"

# 세번째 : 추천!
#/etc/apt/sources.list 를 열고, 다음 행에 universe 를 추가한다.
# 수정 전
deb http://archive.ubuntu.com/ubuntu 배포판 main restricted
# 수정 후
deb http://archive.ubuntu.com/ubuntu 배포판 main restricted universe

# 위 작업이 끝났다면, 저장소 정보 갱신
$ sudo apt update
$ sudo apt install refind

위 방법 중 세번째 방법을 추천한다.

** 여기서 한가지!

꼭 기억해야할 중요한 점이 있다.
지금 이 상태에서 refind 를 설치한다고 해서, 조금 전에 우분투를 설치한 디스크(/dev/sda2 등)에 refind 가 저장되는 것은 아니다. 현재 라이브 시스템에 refind 가 설치되고, 그를 이용해서 ESP 영역에 refind 가 설치된다.
(바로 이 부분에서 SATA 냐 NVME 냐에 따라 문제가 생긴다. 아마도 refind 는 무조건 /dev/sda1 을 ESP 로 지정하는 듯 한데, NVME 에 설치했을 경우는 원치않는 결과가 생긴다.)

따라서, (굳이 안해도 되긴 하지만) 설치가 모두 끝나고, 원 시스템으로 부팅에 성공한 이후, 다시 한번 refind 를 설치할 필요가 있다.

sudo apt install refind 로 인해, 이제 refind 가 설치되는데, 중간에 ESP(EFI System Partition/EFI 파티션)에 refind 를 설치할 것인지를 묻는다.

No 를 선택해야 한다!

여기서, Yes 를 선택하면 간단하고 좋은데, 이 글에선 No 를 택한 경우에 대해 정리하고 있다.

  • Yes : SATA 디스크를 사용하고, 대부분의 데스크탑용 메인보드인 경우.
  • No : NVMe 디스크를 사용하거나, 랩탑 컴퓨터 또는 Virtual Box 에서 EFI 를 사용할 경우.

NVMe 인 경우, Yes 를 선택하면 오류가 발생된다.
아직까지 refind 는 NVMe 에 대한 지원이 부족하다. Yes 를 하면, 아마도 refind 는 /dev/sda1 를 ESP 로 간주하고 진행하려 하는 듯 하다. Sata 디스크에 우분투를 설치했다면, 이게 맞지만, NVMe 라면 문제가 발생한다.
따라서, 적절히 선택해줘야 한다. (물론, Yes 를 했는데 부팅 실패를 했다해도, 다시 refind 만 설치하면 되니 큰 문젠 아니다. 짜증이 나서 그렇지.)

Yes 를 하느냐, No 를 하느냐의 가장 큰 차이는, refind 가 어느 디렉토리에 설치되느냐에 있다.

  • Yes : EFI/refind
  • No : EFI/BOOT (물론, EFI/refind 로 설치도 가능하다.)

지금까지 실험/시험 해본 결과, Gigabyte/Asus 메인보드에선 그냥 설치(Yes)를 해도 문제가 없었지만(Sata 의 경우), 일부 랩탑 펌웨어와 VBox 에서는 EFI/BOOT 디렉토리에 설치가 되어야만 부팅이 가능했다. (자세한 얘기는 뒤에서)
또는, 부팅용 디스크를 펌웨어에서 Enable/Disable 해야할 경우, 또는 디스크 자체를 메인보드에서 제거해야할 필요가 있는 경우에도 EFI/BOOT 영역에 설치해야만 한다.

refind 설치 진행을 위해 몇가지 정보가 필요하다.

  • refind 를 설치할 디스크 ESP 정보 (/dev/nvme0n1, /dev/sda1 등)
  • (우)분투를 설치한 디스크(파티션) 장치명. (/dev/nvme0n1p2, /dev/sda2 등)
  • (우)분투를 설치한 파티션의 UUID (꼭 필요하진 않다.)

* UUID 는 lsblk -f 로 알아낼 수 있다.
* 이 글은 NVMe 사용을 전제하고 있으므로, /dev/nvme0n1 이 기본 ESP 장치가 되겠다.

refind 를 완전히 수동으로 설치할 수도 있다. 그러나 복잡하고, 오류 가능성도 크다. 따라서, refind-install 프로그램을 사용하는 편이 좋다.

기나긴 서론을 지나, 드디어 refind 를 설치할 시간이 왔다.
sudo apt install refind 시에 ‘No’ 를 해준 뒤, 터미널에서 다음 명령을 실행한다.

# Sata 인 경우
$ sudo refind-install --usedefault /dev/sda1 --alldrivers

# NVMe 인 경우
$ sudo refind-install --usedefault /dev/nvme0n1p1 --alldrivers

** 어떤 드라이버 파일이 필요한가?
정확하게, (리눅스의 경우) /boot 가 위치한 파일시스템의 드라이버 파일만 있으면 된다. / 는 btrfs 이고, /boot 는 ext4 라면, ext4_x64.efi 면 충분하다.

?? 버그 ??
버그인지는 모르겠으나, –alldrivers 를 해주지 않으면, 파일 시스템용 드라이버(ext4 등)가 전혀 설치되지 않는다. 따라서 부팅을 할 수 없게 된다.
일단 –alldrivers 로 모두 복사하고, 나중에 불필요한 것들을 지워주면 된다. (안지워도 되지만, 지우는게 여러 면에서 좋다고 한다.)

그리고 나서, 제대로 설치가 됐는지 확인이 필요하다.
refind-install 스크립트는, –usedefault 뒤의 블럭디바이스를 /tmp/refind-install 에 임시로 마운트 하여 refind 를 설치한다.

$ ls -al /tmp/refind_install/EFI

** 어떤 명령을 내렸느냐에 따라 설치 위치가 다르다.

  • refind-install (또는 Yes 를 선택한 경우) : EFI/refind
  • refind-install –usedefault : EFI/BOOT

여기선 –usedefault 를 했으므로, EFI/BOOT 디렉토리 안으로 이동해서 살펴봤을 때, refind.conf 파일, icons 디렉토리 등등이 있다면 설치는 잘 끝났다고 볼 수 있다.

또! 반드시 ‘drivers_x64‘ 디렉토리가 있는지 확인한 후(위에서 –alldrivers 를 선택했다면 이 디렉토리가 생성되고, ext4_x64.efi, btrfs_x64.efi 등등이 복사된다.), 파일시스템용 efi 파일들이 있는지를 살펴봐야 한다.
현재 시스템에 불필요한 efi 파일들(hfs_x64.efi 등등)은 지워준다.
ext4, btrfs 와 MS 윈도우 부팅도 필요하다면 ntfs_x64.efi 를 남기면 된다.

여기서 끝? Ext4 라면 그렇다고 볼 수도 있지만, Btrfs 는 할 일이 아직 남았다.
이에 관해선 아래 ‘Btrfs 설정’ 을 참고.

다음로 가기 전에, EFI/refind 로 설치하는 법을 먼저 알아본다.

두번째 : refind root 설치 (별로 안 권장..)

  • 명령어 : refind-install --root
  • refind 설치 위치 : EFI/refind

apt install refind 시에 ‘YES’ 를 택했다면, EFI/refind 로 refind 가 설치된다.
즉, refind 기본 설치 위치는 여기다. 제작자가 이 위치를 선호한다. 워낙, UEFI 설계 상으로는 여기에 하는게 맞는 듯 하다.
그런데, 여기에 설치하게 되면, 위에서도 설명했듯, 오작동이 발생할 가능성이 있다. (refind 가 부트 매니저에서 사라지는 현상)
일전에 이 문제로 제작자에게 문의를 한 적이 있는데, 오작동의 이유가 refind 에 있다기 보다는 메인보드 제조사들에 있다고 답을 받았었다. 제조사 문제라기 보다는, MS 윈도우에 치우쳐서 설계를 했기 때문이라 했었나.. 아무튼, 이 내용은 제작자의 QA 란에서 찾을 수 있다.

어찌됐든, 이 방식으로 하면 약간 문제가 있을 수 있다.
그렇다면, 어떨 때 refind 로 부팅할 수 없는 상황이 될 수 있는가?

  • 이 디스크를 UEFI 를 통해 잠깐 숨겼다가(Disable) 다시 보이게끔(Enable) 했을 때
  • 보드에서 디스크를 잠시 뽑은 뒤, 다른 디스크를 이 포트에 연결했다가 다시 원래 드라이브를 연결했을 때 등등

이걸 미연에 방지하려면, 첫번째 방식, 즉 usedefault 를 사용하여 EFI/BOOT 에 설치하는 편이 낫다. Clover Bootloader 도 이 위치를 기본으로 하고 있다.
물론, Clover 관련 파일들은 EFI/CLOVER 에 설치되지만, 부트로더 자체(CLOVERX64.efi)는, EFI/BOOT/bootx64.efi 로 이름이 바뀌어 설치된다.

그럼에도 불구하고, ‘정도(正道)’를 고집하겠다고 한다면.. 다음 방법을 따라야 한다.
EFI/refind 에 설치하려면, –root 옵션을 써야하고, 이를 위해서는 다소 복잡한 절차가 필요하다.

** 참고

Hackintosh 용으로는 반드시 Clover Bootloader 를 설치해야 한다. refind 는 순정(?) macOS 는 부팅시킬 수 있지만, Hacked macOS 는 불가능하다.

한 시스템에 Hackintosh, Linux 를 같이 설치했을 경우, Clover Bootloader 와 refind 2개를 모두 같이 설치해도 된다. Clover 만으로도 리눅스가 부팅되기에, 중복된 느낌이긴 하지만, refind 있는 편이 더 익숙하다면 그래도 된다.
또, 리눅스 부팅 세부설정을 refind 에선 어떻게 하는지 알지만, Clover 로는 모른다.

방식은, rEFInd 가 먼저 뜨고, 거기서 Clover/Linux/Windows 를 시동시켜주는 식이다. 즉, Hackintosh 를 실행하려면 두단계를 거쳐야 한다. (rEFInd -> Clover -> macOS)

refind 는 –usedefault 든, –root 로 설치하든 모두 잘 작동한다.
다만, 이렇게 refind 와 Clover 가 모두 설치되어 있으면, refind 는 Clover 를 찾아서 보여주지만, Clover 는 refind 를 인식하지 못하는 듯 하다. (이 부분은 확실하진 않다.)

해야할 일을 간단히 정리하면 다음과 같다.

  • 지금 설치가 끝난 (우)분투 파티션(root partition)을 마운트한다.
  • 이 파티션의 /boot 디렉토리에 ESP 를 마운트한다.
  • refind-install –root 를 실행한다.

먼저, 방금 (우)분투를 설치한 파티션(즉, root Partition)을 마운트해야 한다. /mnt/nvme 에 마운트한다고 가정한다.

  • sudo mount /dev/nvme0n1p2 /mnt/nvme

그리고 root/boot/efi(결국, /mnt/nvme/boot/efi) 에, ESP(EFI system partition, /dev/nvme0n1p1), 즉 refind 를 설치할 파티션을 마운트한다. 여기서, (우)분투를 Ext4 에 설치했는지, Btrfs 에 설치했는지에 따라 위치가 달라진다.

# Ext4 의 경우
sudo mount /dev/nvme0n1p1 /mnt/nvme/boot/efi

# Btrfs 의 경우
sudo mount /dev/nvme0n1p1 /mnt/nvme/@/boot/efi

마운트가 잘 되었는지 확인해본 후, 이상이 없다면 refind 를 설치한다.

# Ext4
sudo refind-install --root /mnt/nvme --alldrivers

# Btrfs
sudo refind-install --root /mnt/nvme/@ --alldrivers

--alldrivers 에 대해선 위에 자세히 써놨으므로 설명은 생략한다.
이 드라이버는 /mnt/nvme/boot/efi/EFI/refind/drivers_x64 에 설치되므로, 불필요한 드라이버는 삭제하는 편이 좋다. ext4, btrfs 면 족하고, MS Windows 가 필요하다면 ntfs_x64.efi 를, CD 부팅이 필요하다면 iso9660_x64.efi 를 남기면 된다.

Btrfs 설정

여기서, Btrfs Subvolume 의 특수성 때문에, 방법은 두가지로 나뉜다.
하나는 refind 제작자가 권하는 방법이고, 다른 하나는 내가 OpenSuse Tumbleweed 에서 사용하는 방법을 보고 적용한 방법이다.
이것에 대한 설명은 다음 글을 참고.

간단하게 언급하면, 우분투는 Btrfs default subvolume 을 따로 지정하지 않고 있고, OpenSuse 는 @ 을 기본 서브볼륨으로 지정하고 있다. 이 차이 때문에 우분투에서 refind 를 사용하여 부팅하려면, refind_linux.conf 를 반드시 작성/수정해야하는 번거로움이 생긴다.

이 두 방법 모두 정리는 하지만, 첫번째 set-default 를 하는 방법을 권장한다. (누가? 내가.)

* Btrfs subvolume set-default 를 사용하는 방법 (OpenSuse 방식)

이를 위해서, 먼저 시스템 루트(예를 들어 nvme0n1p2)를 마운트 하고, 다음 명령을 실행한다.

$ sudo mount /dev/nvme0n1p2 /mnt
$ sudo btrfs subvolume get-default /mnt
ID 5 (FS_TREE)

위와 같이 나왔다면(우분투에선 적어도 19.10 까지는 이런 식이다.), 기본 서브볼륨이 Volume root(이해하기 쉽게 파티션 루트라 생각하면 되겠다.)로 설정되어 있다. 이것을, 시스템 루트인 @ 로 바꿔준다.

$ sudo btrfs subvolume set-default /mnt/@
$ sudo btrfs subvolume get-default /mnt
ID 256 gen 320 top level 5 path @

default 가 ID 5 (FS_TREE) 에서 ID 256 gen 320 top level 5 path @ 으로 바뀌었음을 확인할 수 있다.
여기까지만 해주면, 더 이상 다른 설정을 하지 않아도 부팅엔 아무 문제가 없다.
boot/refind_linux.conf 를 만들지 않아도 되고, fstab 도 수정할 필요가 없다.
그러나, 확실히 하기 위하여 다음을 언급하고 넘어가기로 한다.

먼저 fstab.

fstab 에서 subvol=@ 은 빼도 된다.
기본 설정된 fstab 을 보면 아래와 같다.

$ cat /mnt/@/etc/fstab
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=3708329e-2cae-45bf-ab0b-67f14bec98c8 /               btrfs   defaults,subvol=@ 0       1
UUID=C282-4AA1  /boot/efi       vfat    umask=0077      0       1
UUID=3708329e-2cae-45bf-ab0b-67f14bec98c8 /home           btrfs   defaults,subvol=@home 0       2

시스템 루트는 Btrfs subvolume @ 으로 설정이 되어 있다. 따라서 fstab 에도 저렇게 명시를 했다.
그러나!
위에서 set default 로 @ 를 설정했으므로, 여기선 subvol=@ 을 빼도 된다. (OpenSuse 가 이런 방식을 쓰고 있다.)
따라서 그냥 이렇게만 해도 된다. (물론, subvol 항목을 그냥 넣어둬도 된다.)

UUID=3708329e-2cae-45bf-ab0b-67f14bec98c8 /               btrfs   defaults 0       1

두번째로, refind_linux.conf

/boot/refind_linux.conf(현재 상황에선 /mnt/@/boot/refind_linux.conf) 는, @ 를 set default 설정했을 때는 만들지 않아도 된다. 즉, 이 파일이 아예 없어도 된다.

하지만, 가끔 디스크, 즉 root 파티션을 찾지 못하는 현상이 발생하기도 한다. 따라서 가능한한 만들어 주는게 좋겠다.
이 파일은, set default 를 했다면 Ext4 때와 동일하게 설정한다. 즉, rootflags 는 넣지 않는다.

"Boot with standard options"  "root=UUID=xxxxx ro quiet splash vt.handoff=7"
"Boot to single-user mode"    "root=UUID=xxxxx ro quiet splash vt.handoff=7 single"
"Boot with minimal options"   "root=UUID=xxxxx ro"

UUID 만 확실하게 넣어주면 되고, 나머지 옵션(quiet 등등)은 필요에 따라서 넣어주면 된다. (set-default 를 안했다면, rootflags=subvol=@ 를 넣어줘야 한다. 아래 글에 이 내용이 나와있다.)

Btrfs set-default 관련 설정은 여기서 끝.

* Btrfs set default 없이 refind_linux.conf 만을 사용하는 방법.

여기서는, set-default 를 사용하지 않고, root 디렉토리가 설치된 sub volume 을 그대로 이용하는 방법에 대해 설명한다. (그러나, 이보다는 set default 가 더 좋은 방법으로 보인다.)

시스템 루트로 사용될 파티션(위의 예로 보자면 /dev/nvme0n1p2) 또는 /boot 를 따로 만들었다면 그 파티션을 마운트한다.

$ sudo mount /dev/nvme0n1p2 /mnt
$ cd /mnt/@/boot

여기엔 커널 이미지 파일(vmlinuz-xxx-generic 등)이 있는 곳인데, 여기에 refind_linux.conf 라는 파일을 만들어줘야 한다.
이를 위해서 root 파티션(일반적이라면 /dev/nvme0n1p2)의 UUID 정보가 필요하다.

$ lsblk -f

위 명령으로 UUID 를 알아낸 후, 다음과 같이 refind_linux.conf 문서를 생성/편집한다.
역시, 반드시 필요하지는 않지만, 가능한한 만들어두는 편이 좋다.

Btrfs 인 경우,

"Boot with standard options"  "root=UUID=xxxxx ro rootflags=subvol=@ quiet splash vt.handoff=7"
"Boot to single-user mode"    "root=UUID=xxxxx ro rootflags=subvol=@ quiet splash vt.handoff=7 single"
"Boot with minimal options"   "root=UUID=xxxxx ro rootflags=subvol=@"

rootflags=subvol=@ 을 넣어주는게 핵심이다.
만약 Ext4 를 사용하거나, btrfs 에서 set-defalut 를 했다면, rootflags 항목만 빼면 된다.
설정 끝!


긴 설치가 끝났다.
부팅만 남았다.


재부팅 후..

재부팅해서 우분투로 진입한 후, 다음 두가지를 고려할 필요가 있다.

refind 설치

위에서도 언급했지만, 설치 드라이브로 부팅해서 apt install refind 를 하면, refind 와 관련된 파일은 먼저 설치 드라이브의 /usr/share/refind 로 복사된다. 즉, 현재 우분투 시스템엔 refind 꾸러미가 설치되지 않은 상태다. ESP 에만 설치가 되어 있다.

따라서, 유사 시를 대비해서라도 refind 를 설치하는 편이 좋다.
설치는 동일하고, ESP에 설치하겠느냐는 물음이 나올 때 ‘No’ 를 택해주면 된다.

sudo apt update
sudo apt install refind

grub 관련 꾸러미 삭제?

rEFInd 제작자는 grub 관련 꾸러미를 모두 삭제하고, 가짜 grub 꾸러미를 설치하라고 한다. 그러나 삭제를 해도 주로 커널이 업그레이드 될 때면 관련 grub 꾸러미들이 다시 설치되곤 한다. 따라서, 이 부분은 그야말로 선택.

grub 관련 꾸러미들이 설치되어 있어도, 어떤 역할을 하진 못한다. 그저 종속성 때문에 설치될 뿐.

따라서, ubiquity -b 로 우분투를 설치했을 경우에 기본 설치되는 몇몇 grub 꾸러미들은 지워도 좋고, 그냥 놔둬도 좋다.

efibootmgr 명령

이 내용은 어디 적절하게 끼워넣을 데가 없어서..
간단히 정리한다.

$ efibootmgr #EFI Boot 관리자.
$ efibootmgr -b 7 -B # Boot0007 을 부트 메뉴로부터 지운다.
$ efibootmgr -o 0,1,2 # Boot000, 001, 002 로 부팅 순서 설정
$ efibootmgr -O # Boot Order 모두 삭제

refind-install 을 했을 때는 efibootmgr 작업까지 같이 되기 때문에, 따로 해줄 필요는 없다. 만약, 수동설치를 했을 경우엔 ESP 에 refind 를 추가해주는 아래 작업까지 해줘야 한다.

# EFI/refind 에 설치되어 있을 경우
$ efibootmgr -c -l \\EFI\\refind\\refind_x64.efi -L 'rEFInd Boot Manager'

그런데, 어쩔 때는 이 작업을 해도 부트로더로 등록이 안되는 경우가 있다.
그럴 땐.. 하나씩 다시 해보는 수 밖에.

삽질은 여기까지.


크리에이티브 커먼즈 라이선스


이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

5 Comments

안녕하세요. 글 남겨주셔서 고맙습니다.