Как создать мультизагрузочную среду с использованием LVM для ваших операционных систем * buntu на системном диске, отформатированном в GPT, в системе на основе UEFI?

Моя причина использования LVM заключается в том, что я переустанавливаю, модернизирую и, как правило, возиться с установками моей ОС настолько, что обнаружил, что LVM дает мне фантастическую гибкость в перемещении, расширении, клонировании и резервном копировании разделов ОС на моем свободном месте риски, связанные с другими методами разделения. Это, однако, делает мультизагрузку ваших ОС иногда немного сложной и непредсказуемой, особенно на более новом оборудовании, где процесс приобретает другой уровень сложности.

Я говорю о новых материнских платах UEFI (в отличие от BIOS), которые позволяют использовать весь потенциал жестких дисков объемом 3 ТБ и загружаться с них (при форматировании в GPT, а не в MBR). Вещи могут быть невероятно сложными и запутанными, потому что каждый раз, когда вы устанавливаете новую ОС на свой компьютер, она перезаписывает файлы загрузчика EFI (.efi) предыдущей установки, и в результате вы получите ряд неработающих записей в вашей EFI. «BIOS» загрузочный список и множество довольно избыточных загрузчиков grub, разбросанных по вашим разделам. Это оскорбляет меня на многих уровнях, не в последнюю очередь на эстетическом уровне.

9
задан 9 December 2012 в 05:16

3 ответа

Примечание: Это было ответом OP. Я переместил его сюда как CW, таким образом, это не стало закрытым. Если модификация видит это, повторно породите владение к OP как самоответ.

Ниже, я детализирую, как заставить это все работать несколько гармонично и улаживать путаницу в некоторой степени.

Часть первая: установка.

Обратите внимание на то, что, если Вы собираетесь иметь Windows 7 (или 8?) установленный на Вашей машине, необходимо будет, вероятно, установить его сначала, предпочтительно на своем собственном жестком диске, и Вы не сможете поместить его в свою группу логического тома. Это вызвано тем, что установщик Windows 7 GPT/EFI является очень простым и не позволит Вам сделать виды вещей, которые Вы будете делать здесь. После установки окон можно изменить размер и повторное разделение, добавив разделы, в которых Вы нуждаетесь для установки мультиначальной загрузки. Системный раздел EFI, который создает Windows, может всегда снова использоваться для установок Linux, с помощью изменения метода, подробно изложенного ниже.

Во-первых, это помогает вытереть Ваш намеченный системный диск с помощью gparted (и т.п.) и инициализировать его как диск GPT, прежде, чем сделать что-либо еще. Если Вы немного озабочены использованием неграфического partitioner для установки диска с нуля, то это определенно стоит и является easly, сделанным от стандартного живого Рабочего стола установщик CD или USB. Не делайте этого в Windows. Я не уверен, что это абсолютно необходимо, но это - то, что я сделал. Можно также выполнить основное разделение для non-LVM разделов на данном этапе также, поскольку оно не повредило бы и дает Вам платформу для надлежащей установки.

Теперь запишите свою установку CDs/USBs. Если Вы используете Рабочий стол Альтернативы Ubuntu (рекомендуемый) ISO, то необходимо записать это на CD, поскольку он просто не отделается карты с интерфейсом USB. При использовании для установки LVM она останавливается с критической ошибкой, когда она пытается начать загружать и устанавливать программное обеспечение с aptitude/tasksel, так используйте CD, если Вы знаете то, что хорошо для Вас!

  • Установки Сервера Ubuntu, абсолютно прекрасные от USB во всех случаях (AFAIK), но я нахожу, что, если я хочу создать настольную систему Ubuntu/Mythbuntu сверху Сервера, он представляет все виды непреднамеренных причуд, которым затем нужно потраченное разбирание времени. Так придерживаются Рабочего стола, если это - то, что Вы после.

  • Quantal (12.10) имеет LVM как опцию в графическом установщике (который является большим!) и так Альтернатива с ISO покончили. Однако я нашел ручной интерфейс разделения негибким, недоставая опций LVM, и просто не работал на мультиначальную загрузку. Это, возможно, произошло из-за проблемы USB, упомянутой ранее, но честно говоря, у меня было столько проблем с системой Quantal, которую я попробовал, который я бросил довольно быстро и вернулся к Точному (12.04.1).

  • Другая основная опция состоит в том, чтобы использовать установщик Сетевой начальной загрузки, который у меня нет реального опыта (за исключением моего Raspberry Pi), но я полагаю, что существуют мини-ISOs с основанным на тексте и GUI (GTK) установщики, которые могут быть записаны и загружены от. Они вытягивают большинство файлов установки непосредственно из репозитория и высоконастраиваемы.

Затем, необходимо загрузить систему с CD или использования USB, это - запись загрузки UEFI из "BIOS" или меню начальной загрузки (обычно один из [F8] - [F12] на клавиатуре).

Я оставлю его до Вас для прохода через предварительные выборы процесса установки, но после того как Вы добираетесь до части разделения, выбираете Manual Partitioning и затем создаете (или измените, если Вы уже создали некоторых из них), эти разделы:

  1. Единственный раздел размера 200 МБ, FAT32, Системного Раздела EFI, назвал/маркировал "EFI", Загрузочный, Формат.

  2. Несколько разделов: Размерные 256 МБ, EXT2, Загрузочный, Формат;

    • Необходимо назвать/маркировать их каждым для ОС, которую они представят, т.е. "OS_01_Boot"... "OS_03_Boot"... и т.д.

    • Запустите путем монтирования первого из них как "/начальная загрузка" и все, что другие как "не используют".

    • Создайте один раздел для каждой ОС, которую Вы намереваетесь установить.

  3. Один раздел, поднимая остальную часть пространства диска, как объем для LVM.

    • Настройте LVM на объеме, который Вы только что разделили, создав группу объема для всех Ваших Ose, дав ему подходящее имя и много пространства для всех них. Я рекомендовал бы включить по крайней мере в 40 ГБ для каждого, в зависимости от типа установки, которую Вы планируете каждого.
  4. Создайте один логический том тот же размер как физическая RAM в Вашей системе т.е. 8 ГБ, назовите это "Подкачкой", используйте в качестве подкачки, формата.

  5. Создайте один логический том для каждого из Ose в группе объема, измерив их, как предложено выше и дав им каждого имя т.е. "Ubuntu_12.04" и т.д.

    • Формат каждый к EXT4, называя/маркируя разделы, когда Вы идете.

    • Запустите путем монтирования первого из них как "/" (корень) и все, что другие как "не используют".

Именно! Теперь у Вас есть подкачка, "/загружаются" и "/" (корневой) раздел для Вашей системы и запчасти для Ваших последующих установок. Можно теперь передать изменения в таблице разделов и продолжить остальную часть установки.

Когда дело доходит до установки Вашей следующей ОС просто удостоверьтесь, что Вы монтируете следующее "/начальная загрузка" и "/" (корневой) раздел, соответственно. Удостоверьтесь, что Вы отмечаете все, что другие как "не используют", включая тех, что Вы использовали прошлый раз.

Часть вторая: Резервное копирование загрузочных файлов UEFI.

Как только Вы загрузились в свою новую ОС, необходимо скопировать загрузчик UEFI для более позднего использования и удостоверяться, что это не перезаписывается в следующей установке. Это может быть найдено в "/boot/efi/EFI", в его собственной папке, обычно названной "человечностью". Рассматриваемый файл будет иметь имя подобным "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

После того как это сделано, можно безопасно установить следующую операционную систему (следующий совету выше), который, скорее всего, перезапишет исходный файл и папку и также сделает себя записью загрузки UEFI по умолчанию в "BIOS". Повторите процесс снова и так много раз, как необходимо, давая каждой папке различное, но представительное имя:

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

Часть третья: Изменение записей 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* человечность" строка с:

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

Затем мы добавим некоторые записи для трех операционных систем.

ОС № 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

ОС № 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

ОС № 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

6
ответ дан 9 December 2012 в 05:16

Любой установщик ОС, который удаляет файлы загрузчика EFI предыдущих или других ОС, сильно поврежден. У Ubuntu была эта проблема в прошлом, но она была предположительно исправлена ​​в версии 12.04. (Я говорю «предположительно», потому что я видел пару сообщений о проблемах такого рода, которые заставляют меня думать, что ошибка может существовать для меньшинства систем.) Тем не менее, резервное копирование системного раздела EFI (ESP) перед Установка новой ОС - полезный страховой полис. Резервной копии на уровне файлов должно быть достаточно, так как EFI не полагается на код, сжатый в загрузочных секторах. (Он действительно полагается на GUID раздела, поэтому, если что-то удаляет ESP и создает новый, записи загрузчика EFI могут перестать работать.)

Вообще говоря, для вашего Тип конфигурации, я рекомендую создать ESP, столько разделов /boot, сколько вам нужно, и большой раздел LVM. Если вы планируете устанавливать дистрибутивы Linux вместе с другими операционными системами, создайте три или четыре раздела LVM различного размера, которые затем объедините в одну группу томов; таким образом, вы можете извлечь один раздел (логический том) из группы томов и выделить его для ОС, отличной от Linux. Разделы не-LVM /boot дают вам возможность использовать загрузчики, которые не понимают LVM (то есть загрузчики не-GRUB2).

Когда вы устанавливаете новую ОС, она, вероятно, установит собственный загрузчик по умолчанию. В такой сложной обстановке, как ваша, большую часть времени это, вероятно, неправильно. Чтобы исправить, полезно иметь флэш-накопитель USB или CD-R с установленным на нем предпочтительным загрузчиком. То, что может автоматически определять другие загрузчики, такие как rEFIt или его производные rEFInd, , вероятно, будет хорошо работать в этом контексте. (Обратите внимание, что двоичные файлы на веб-сайте rEFIt работают только на Mac; rEFInd является более безопасным выбором для ПК на основе UEFI.) В качестве альтернативы или дополнения может быть полезен способ запуска оболочки EFI, поскольку вы можете перемещать файлы, настройте параметры загрузки и исправьте ряд проблем из оболочки EFI. Многие загрузчики EFI и менеджеры загрузки могут запускать оболочки EFI. (См. в этой вики-версии Arch Linux ссылки для скачивания некоторых оболочек EFI.) Образы CD rEFIt и rEFInd включают оболочки EFI.

0
ответ дан 9 December 2012 в 05:16

Вам не нужно использовать EFI для загрузки диска 2+ ТБ; вам просто нужно использовать GPT и создать раздел bios_grub размером 1 МБ ниже отметки 2 ТБ. Если вы считаете, что EFI проблематичен, это может помочь вам лучше.

0
ответ дан 9 December 2012 в 05:16

Другие вопросы по тегам:

Похожие вопросы: