UEFI 기반 시스템에서 GPT 포맷 시스템 드라이브의 * buntu 운영 체제에 LVM을 사용하여 멀티 부트 환경을 작성하려면 어떻게해야합니까?


9

LVM을 사용하는 이유는 재설치, 업그레이드 및 일반적으로 OS 설치로 인해 혼란스러워서 LVM이 위험 부담없이 OS 파티션을 이동, 확장, 복제 및 백업하는 데 환상적인 유연성을 제공한다는 것을 알게되었습니다. 다른 파티션 방법으로. 그러나, 특히 프로세스가 또 다른 수준의 복잡성을 얻는 최신 하드웨어에서는 OS 멀티 부팅을 조금 복잡하고 예측할 수 없게 만듭니다.

내가 말하고있는 것은 3TB + 하드 드라이브 (MBR이 아닌 GPT로 포맷 된 경우)의 모든 잠재력을 사용하고 부팅 할 수있는 새로운 UEFI (BIOS가 아닌) 마더 보드입니다. 컴퓨터에 새 OS를 설치할 때마다 이전 설치의 EFI 부트 로더 (.efi) 파일을 덮어 쓰고 EFI에서 일련의 깨진 항목으로 끝나기 때문에 상황이 매우 복잡하고 엉망이 될 수 있습니다. "BIOS"부트리스트와 파티션에 흩어져있는 많은 예비 그루브 부트 로더. 이것은 많은 수준에서 나에게 기분을 상하게한다.

답변:


6

참고 : 이것은 OP의 답변입니다. CW로 닫았으므로 닫히지 않았습니다. 모드가 이것을 볼 경우, 자체 답변으로 OP에 대한 소유권을 양도하십시오.

아래에서는이 모든 것이 조화롭게 작동하고 혼란을 어느 정도까지 해결하는 방법에 대해 자세히 설명합니다.

1 부 : 설치

컴퓨터에 Windows 7 (또는 8?)을 설치하려면 먼저 하드 드라이브에 설치해야하며 컴퓨터 에 넣을 수 없습니다. 논리 볼륨 그룹. Windows 7 GPT / EFI 설치 프로그램이 매우 기본적이고 여기서 수행 할 작업을 수행 할 수 없기 때문입니다. Windows를 설치 한 후 멀티 부트 설치에 필요한 파티션을 추가하여 크기를 조정하고 다시 파티션 할 수 있습니다. Windows가 생성하는 EFI 시스템 파티션은 아래에 자세히 설명 된 방법을 사용하여 Linux 설치에 항상 재사용 할 수 있습니다.

첫째 , 다른 작업을 수행하기 전에 gparted 등을 사용하여 원하는 시스템 드라이브를 지우고 GPT 디스크로 초기화하는 데 도움이됩니다. 그래픽이 아닌 파티 셔 너를 사용하여 디스크를 처음부터 새로 설정하는 것에 대해 약간 신경이 쓰이면 분명히 가치가 있으며 표준 라이브 데스크탑 USB 또는 CD 설치 프로그램에서 쉽게 수행 할 수 있습니다. Windows에서는하지 마십시오. 이것이 꼭 필요한지는 확실하지 않지만 내가 한 일입니다. 이 단계에서 비 LVM 파티션에 대한 기본 파티션도 수행 할 수 있습니다. 아프지 않고 설치에 적합한 프레임 워크를 제공하기 때문입니다.

이제 설치 CD / USB를 굽습니다. Ubuntu Alternate Desktop ISO (권장)를 사용하는 경우 USB 스틱에서 작동하지 않으므로 CD에 구워야합니다. LVM 설치에 사용될 때 적성 / 태스크가있는 소프트웨어를로드 및 설치하려고하면 심각한 오류가 발생하지 않으므로 CD를 사용하십시오.

  • 우분투 서버는 모든 경우에 USB (AFAIK)에서 완벽하게 설치되지만 서버 위에 우분투 / Mythbuntu 데스크탑 시스템을 구축하려는 경우 모든 종류의 의도하지 않은 쿼크가 발생하여 정렬하는 데 시간이 걸립니다. 따라서 데스크톱을 계속 사용하십시오.

  • Quantal (12.10)은 그래픽 설치 프로그램에서 옵션으로 LVM을 사용하므로 대체 ISO가 사라졌습니다. 그러나 수동 파티션 인터페이스는 융통성이없고 LVM 옵션이 부족하며 멀티 부팅에서는 작동하지 않습니다. 이것은 앞에서 언급 한 USB 문제로 인한 것일 수도 있지만, 솔직히 말해서, 내가 시도한 Quantal 시스템에 너무 많은 문제가있어서 꽤 빨리 포기하고 Precise (12.04.1)로 돌아갔습니다.

  • 다른 주요 옵션은 Net-boot 설치 프로그램을 사용하는 것입니다 .Net-boot 설치 프로그램은 실제 경험이 없지만 (Raspberry Pi 제외) 텍스트 기반 및 GUI (GTK) 설치 프로그램이있는 미니 ISO가 있다고 생각합니다. 태워서 부팅 할 수 있습니다. 이들은 대부분의 설치 파일을 저장소에서 직접 가져 오며 사용자 정의가 가능합니다.

다음으로 , "BIOS"또는 부팅 메뉴 (일반적으로 키보드의 [F8]-[F12] 중 하나) 내의 UEFI 부팅 항목을 사용하여 CD 또는 USB에서 시스템을 부팅해야합니다.

설치 과정의 예비 과정을 밟을 수는 있지만, 일단 파티션 부분에 도달하면 수동 파티션을 선택한 다음 다음 파티션을 생성 (또는 이미 생성 한 경우 수정)하십시오.

  1. 크기 200MB, FAT32, EFI 시스템 파티션, "EFI", 부팅 가능, 포맷이라는 단일 파티션.

  2. 여러 파티션 : 크기 256MB, EXT2, 부팅 가능, 포맷;

    • "OS_01_Boot"... "OS_03_Boot"... 등과 같이 OS에 대해 각각 이름을 지정하거나 레이블을 지정해야합니다.

    • 이들 중 첫 번째를 "/ boot"로 마운트하고 나머지는 "사용하지 않음"으로 마운트하여 시작하십시오.

    • 설치하려는 각 OS에 대해 하나의 파티션을 작성하십시오.

  3. LVM의 볼륨으로 드라이브의 나머지 공간을 차지하는 하나의 파티션.

    • 방금 파티션 한 볼륨에 LVM을 구성하여 모든 OS에 대한 볼륨 그룹을 생성하여 적절한 이름과 충분한 공간을 제공하십시오. 각각의 설치 유형에 따라 각각 40GB 이상을 고려하는 것이 좋습니다.
  4. 시스템의 실제 RAM과 같은 크기 (예 : 8GB)의 논리 볼륨 하나를 "스왑"으로 바꾸고 스왑 형식으로 사용하십시오.

  5. 볼륨 그룹 내의 각 OS에 대해 하나의 논리 볼륨을 작성하여 위에서 제안한대로 크기를 정하고 각각에 이름을 지정하십시오 (예 : "Ubuntu_12.04"등).

    • 각각을 EXT4로 포맷하고 파티션 이름을 지정하거나 레이블을 지정하십시오.

    • 이들 중 첫 번째를 "/"(루트)로 마운트하고 나머지는 "사용하지 않음"으로 마운트하여 시작하십시오.

그게 다야! 이제 시스템을위한 스왑, "/ boot"및 "/"(루트) 파티션과 후속 설치를위한 여분의 파티션이 있습니다. 이제 파티션 테이블에 대한 변경 사항을 커미트하고 나머지 설치를 계속할 수 있습니다.

다음 OS를 설치할 때는 다음 "/ boot"및 "/"(루트) 파티션을 각각 마운트해야합니다. 마지막으로 사용한 것을 포함하여 다른 모든 것을 "사용하지 않음"으로 표시하십시오.

2 부 : UEFI 부팅 파일 백업

새 OS로 부팅하자마자 나중에 사용하기 위해 UEFI 부트 로더를 백업하고 다음 설치에서 덮어 쓰지 않도록해야합니다. 이것은 "/ boot / efi / EFI"의 자체 폴더 (보통 "ubuntu") 내에 있습니다. 문제의 파일 이름은 PC 아키텍처에 따라 "grubx64.efi"와 비슷한 이름을 갖습니다. 내 컴퓨터에 "/boot/efi/EFI/ubuntu/grubx64.efi"를 입력하십시오.

필자의 경우 백업하기 위해 콘솔을 통해 다음과 같이 복사했습니다.

sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/Ubuntu_12.04.1

다음과 같은 경우를 대비하여 홈 폴더 또는 다른 안전한 곳에 추가 사본을 만드는 것이 좋습니다.

cp -r /boot/efi/EFI/ubuntu /home/user/Ubuntu_12.04.1

이 작업이 완료되면 다음 운영 체제를 안전하게 설치할 수 있습니다 (위의 조언에 따름). 원본 파일과 폴더를 덮어 쓰게되고 "BIOS"의 기본 UEFI 부팅 항목이됩니다. 각 폴더마다 다르지만 대표 이름을 지정하여 필요한만큼 프로세스를 다시 반복하십시오.

sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/Server_12.04.1
cp -r /boot/efi/EFI/ubuntu /home/user/Server_12.04.1

3 부 : UEFI "BIOS"에서 UEFI 항목 수정

터미널에서 다음을 입력하십시오.

sudo efibootmgr

다음과 같은 결과가 나타납니다.

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0006,0007,0005
Boot0000* ubuntu
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive

정말 설명이 필요합니다. BIOS 부팅 목록에 표시되는 내용을 반영해야합니다.

다음을 읽으십시오 :

man efibootmgr

명령이 수행하는 작업을 보려면 아래의 예제 명령을 수정하여 부팅 항목을 추가 및 제거하십시오.

먼저 "Boot0000 * ubuntu"줄을 다음과 같이 제거하십시오.

sudo efibootmgr -b 0000 -B

산출:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0006,0007,0005
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive

그런 다음 세 가지 운영 체제에 대한 몇 가지 항목을 추가합니다.

OS # 1 :

sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Ubuntu 12.04.1" -l \\EFI\\Ubuntu_12.04.1\\grubx64.efi

산출:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0006,0007,0005
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive 
Boot0000* Ubuntu 12.04.1

OS # 2 :

sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Ubuntu Server 12.04.1" -l \\EFI\\Server_12.04.1\\grubx64.efi

산출:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0001,0000,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive 
Boot0001* Ubuntu Server 12.04.1

OS # 3 :

sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Mythbuntu 12.04.1" -l \\EFI\\Mythbuntu_12.04.1\\grubx64.efi

산출:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0002,0001,0000,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0001* Ubuntu Server 12.04.1
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive 
Boot0002* Mythbuntu 12.04.1

부팅 순서 변경 하려면

sudo efibootmgr -o 0000,0001,0002,0006,0007,0005

산출:

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0001,0002,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0001* Ubuntu Server 12.04.1
Boot0002* Mythbuntu 12.04.1
Boot0005* Hard Drive 
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive

끝난!

특히 파일 경로와 관련하여 매우 이상한 구문이 있지만, 좋은 가이드가 있다면 매우 간단합니다.

읽어 주셔서 감사합니다. :)

https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#efibootmgr


고마워, AbrahamVan 도움말. 나는 스스로 대답하려고 노력했지만 여기에 너무 많은 멍청한 사람이 있다고 생각합니다. 나중에 정리하려고 노력하겠습니다. 서식이 끔찍 해요! 여기는 오전 1시 30 분이므로 잠시 포기하겠습니다!
Rich.T.

2

이전 또는 다른 OS의 EFI 부트 로더 파일을 지우는 모든 OS 설치 프로그램이 심하게 손상되었습니다. 우분투는 과거 에이 문제가 있었지만 12.04 버전으로 수정되었습니다. (소수의 시스템에서 버그가 여전히 존재한다고 생각하게 만드는이 라인을 따라 몇 가지 문제에 대한보고를 보았 기 때문에 "추정 적으로"라고 말합니다.) 새로운 OS 설치는 유용한 보험 정책입니다. EFI는 부팅 섹터에서 엉망인 코드에 의존하지 않기 때문에 파일 수준 백업이면 충분합니다. (그것은 않는 무언가가 ESP를 삭제하고 새, 작동을 멈출 수있는 EFI의 부트 로더 항목을 작성 그렇다면하지만, 파티션의 GUID에 의존하고 있습니다.)

일반적으로 구성 유형에 따라 ESP, 필요한만큼의 /boot파티션 및 큰 LVM 파티션을 만드는 것이 좋습니다 . 다른 OS와 함께 Linux 배포판을 설치하려면 다양한 크기의 3 개 또는 4 개의 LVM 파티션을 만든 다음 하나의 볼륨 그룹으로 병합하십시오. 이렇게하면 볼륨 그룹에서 하나의 파티션 (논리 볼륨)을 꺼내서 비 Linux OS 전용으로 만들 수 있습니다. 비 LVM /boot파티션은 LVM을 이해하지 못하는 부트 로더 (GRUB2가 아닌 부트 로더)를 사용할 수있는 옵션을 제공합니다.

새 OS를 설치하면 자체 부트 로더가 기본값으로 설치됩니다. 당신과 같은 복잡한 설정에서, 이것은 아마도 대부분의 시간에 잘못된 일입니다. 문제를 해결하려면 선호하는 부트 로더가 설치된 USB 플래시 드라이브 또는 CD-R이 있어야합니다. rEFIt 또는 파생 rEFInd 와 같은 다른 부트 로더를 자동 감지 할 수있는 것이이 컨텍스트에서 잘 작동 할 수 있습니다. rEFIt 웹 사이트의 바이너리는 Mac에서만 작동합니다. rEFInd는 UEFI 기반 PC에서 더 안전한 선택입니다. 또는 파일을 이동할 수 있기 때문에 EFI 셸을 시작하는 방법이 도움이 될 수 있습니다. 부팅 옵션을 조정하고 EFI 셸의 여러 문제를 해결합니다. 많은 EFI 부팅 로더 및 부팅 관리자가 EFI 셸을 시작할 수 있습니다. (보다일부 EFI 셸에 대한 다운로드 링크는 이 Arch Linux 위키 입니다.) rEFIt 및 rEFInd CD 이미지에는 모두 EFI 셸이 포함되어 있습니다.


2

2TB 이상의 디스크를 부팅하기 위해 EFI를 사용할 필요는 없습니다. GPT를 사용하고 2Tb 마크 아래에 1MB bios_grub 파티션을 만들어야합니다. EFI에 문제가있는 것으로 확인되면 더 효과적 일 수 있습니다.

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