Clover bootloader 와 우분투 Btrfs.

**
아래 내용은 막연한 얘기였고, 좀 더 확실한 사실을 알아내서 정리했다.
아래 글은, 그냥 심심풀이로 남겨둔다.


잊기 전에 간단히만 기록한다. 확실한 건 아직 모르겠다.
이 내용은, 부트로더의 사용이 자유롭지 못한 일부 메인보드(Thinkpad 13 이라든가..)에서, 해킨토시와 우분투(Btrfs)를 동시에 사용할 때 발생할 수 있는 문제점에 대해 정리하고자 한다.

데스크탑용 메인보드에선 이런 문제가 없는 듯 한데, 랩탑 펌웨어들은 EFI/BOOT 에 있지 않은 부트로더들을 인식하지 못하는 듯 하다. 적어도 내가 가지고 있는 것은 그렇다.
물론, EFI/BOOT 에 원하는 것을 설치해놓으면 문제가 없는데, 문제는, 부트로더들의 판올림이 되었을 때 발생한다.
Clover 는 EFI/BOOT 에 기본 efi 파일을 설치하기 때문에, 여기에 설치되어 있는 rEFInd 가 지워진다. 이러면 수동으로 또 파일을 되살려야 하는 불편함이 있다.

이런 불편함을 없애려면 그냥 Clover 만 쓰면 되는데, 그러면 우분투 Btrfs 는 사용을 못한다.
이런 문제들을 대충 정리해봤다.


우분투 계열은, 루트 파티션을 Btrfs 로 설정했을 때 약간 묘한(?) 서브볼륨을 사용한다. OpenSuse Tumbleweed 에서 Btrfs 로 설정했을 때와는 또 다르다. 이 부분은, 다음 글에서 자세히 정리하기로 한다.

간단히 말하자면 이렇다. (그러나, 간단히 말하면 용어에 대한 이해가 없기에, 무슨 말인지 모를 가능성이 크다.)

  • 우분투 계열은 @, @home 을 Subvolume 으로 잡고, default subvolume 을 FS_TREE(Btrfs File System Root) 로 설정한다.
  • Open Suse Tumbleweed 는, @ 을 Subvolume 으로 잡고, defalut subvolume 도 @ 로 설정한다.

위 내용을 보고 바로 이해를 할 수 있다면, 아마도 btrfs 에 대한 지식이 꽤 많다고 해도 무방할 듯 하다. (역시나 자세한 사항은 다음 글에서..)

아무튼, 그 결과로, 우분투 계열의 Root 는 @/ 가 되고, Open Suse 계열의 Root 는 그냥 / 가 된다.
둘 다, @ 을 서브볼륨으로 삼지만, 하나는 default subvolume(btrfs subvolume set-default subvol-id <path>) 작업을 해줬고(Open Suse), 다른 하나는 해주지 않았다(Ubuntu 계열)는 차이가 있다.

‘해주지 않은’ 우분투는, 부트로더에서 편법(?)을 쓰지 않으면 부팅을 시킬 수가 없다. rEFInd 에서는 이 작업을, refind_linux.conf 와 refind.conf 파일을 설정함으로써 가능하게 하고 있다. 다시 말하자면, 루트 디렉토리가 / 가 아닌, @/ 임(refind.conf)과, Btrfs Subvolume(refind_linux.conf) 을 사용하고 있음을 인식시켜주는 작업이 필요하다는 뜻이다.

‘해준’ Open Suse 는 이런 작업이 필요없고, 필요한 파일들을 / 이하에서 바로 읽을 수 있으므로, rEFInd 든, Clover Bootloader 로든 아무런 문제없이 부팅이 된다.


정리하자면, 현재까지 내가 아는 바로는, Clover 는 우분투 Btrfs 를 부팅시키지 못한다. (찾질 못한다는 표현이 더 정확하겠다.) 부팅시키려면, 아직 해보지 않았으나, Default Subvolume 을 바꿔주면 될 듯도 하다. (아마도 되지 않을까?)

따라서, (rEFInd 없이) Clover 만 단독으로 사용하려면, 우분투는, (정확히 말해서 우분투의 / 디렉토리는) Ext4 를 사용하는 편이 이런 저런 문제에서 벗어날 수 있는 방법이 된다.

아니면 Open Suse 를 사용하든가.

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