LVMを使用する理由は、再インストール、アップグレード、および一般的にOSインストールをいじくり回すことであるため、LVMを使用すると、リスクを伴わずにOSパーティションを自由に移動、拡張、複製、およびバックアップすることができます。他のパーティション方法を使用します。ただし、OSのマルチブートは少し複雑で予測不可能な場合があります。特に、プロセスがさらに複雑になる新しいハードウェアでは特にそうです。
私が話しているのは、新しいUEFI(BIOSではなく)マザーボードです。これにより、3TB以上のハードドライブを最大限に活用し、そこから起動できます(MBRではなくGPTでフォーマットした場合)。マシンに新しいOSをインストールするたびに、以前のインストールのEFIブートローダー(.efi)ファイルが上書きされ、EFIで一連の破損したエントリが作成されるため、事態は非常に複雑で混乱する可能性があります「BIOS」ブートリストと、パーティションに散らばるかなり冗長なgrubブートローダーの負荷。これは非常に多くのレベルで私を怒らせます。
注:これはOPの答えでした。 CWとしてここに移動したため、閉じられませんでした。 MODがこれを見つけた場合、自己回答としてOPの所有権を親に変更してください。
以下では、これらすべてをある程度調和させて、ある程度混乱を整理する方法を詳しく説明します。
Windows 7(または8?)をマシンにインストールする場合、おそらくインストールする必要があることに注意してくださいfirst、できれば独自のハードドライブ上にあり、論理ボリュームグループに配置することはできません。これは、Windows 7 GPT/EFIインストーラーが非常に基本的であり、ここで行うようなことを実行できないためです。 Windowsのインストール後、マルチブートインストールに必要なパーティションを追加して、サイズの変更とパーティションの再作成を行うことができます。 Windowsが作成するEFIシステムパーティションは、以下で説明する方法のバリエーションを使用して、Linuxインストールにいつでも再利用できます。
まず、gparted(など)を使用して目的のシステムドライブを消去し、GPTディスクとして初期化してから他の操作を行います。非グラフィカルパーティショナーを使用してディスクをゼロからセットアップすることに少し不安がある場合、これは間違いなく価値があり、標準のライブデスクトップUSBまたはCDインストーラーから簡単に実行できます。 Windowsでは実行しないでください。これが絶対に必要かどうかはわかりませんが、私がやったことです。また、この段階で非LVMパーティションの基本的なパーティション分割を実行することもできます。これにより、インストールが適切に行われるためのフレームワークが提供されます。
インストールCD/USBを作成します。 Ubuntu代替デスクトップISOを使用している場合(推奨)、これをCDに書き込む必要があります。USBスティックでは動作しないためです。 LVMのインストールに使用する場合、aptitude/taskselでソフトウェアのロードとインストールを開始しようとすると重大なエラーで停止するため、何が良いかわかっている場合はCDを使用してください。
Ubuntu Serverはすべての場合にUSBから完全にインストールできます(AFAIK)が、サーバー上にUbuntu/Mythbuntuデスクトップシステムを構築する場合、並べ替えに時間がかかるさまざまな意図しない動作が発生することがわかりました。だから、もしそれがあなたが望んでいるのであれば、デスクトップに固執する。
Quantal(12.10)には、グラフィカルインストーラーのオプションとしてLVMがあり(これは素晴らしいです!)、代替ISOは廃止されました。しかし、手動パーティションインターフェイスは柔軟性がなく、LVMオプションが不足しており、マルチブートでは機能しませんでした。これは、前述のUSBの問題が原因である可能性がありますが、正直なところ、私は試したQuantalシステムに非常に多くの問題があったため、すぐにgaveめてPrecise(12.04.1)に戻りました。
もう1つの主なオプションは、Net-bootインストーラーを使用することです。これは(Raspberry Piを除く)実際の経験はありませんが、テキストベースおよびGUI(GTK)インストーラーを備えたミニISOがあると思います。焼いて起動することができます。これらはほとんどのインストールファイルをリポジトリから直接プルし、高度にカスタマイズ可能です。
次に、「BIOS」またはブートメニュー内のUEFIブートエントリを使用してCDまたはUSBからシステムを起動する必要があります(通常は[F8 ]-[キーボードの[F12])。
インストールプロセスの予備知識を取得するのはあなたに任せますが、パーティション分割の部分に到達したら、手動パーティション分割を選択し、これらのパーティションを作成(または既に作成している場合は変更)します。
サイズが200MBの単一パーティション、FAT32、EFIシステムパーティション、名前付き/ラベル付きの「EFI」、ブート可能、フォーマット。
複数のパーティション:サイズ256 MB、EXT2、ブート可能、フォーマット。
それらが表すOS、つまり「OS_01_Boot」...「OS_03_Boot」...などのそれぞれに名前/ラベルを付ける必要があります。
これらの最初を「/ boot」としてマウントし、他のすべてを「使用しない」としてマウントすることから始めます。
インストールするOSごとに1つのパーティションを作成します。
ドライブの残りのスペースをLVMのボリュームとして使用する1つのパーティション。
システムの物理RAMと同じサイズ、つまり8GBの論理ボリュームを1つ作成し、「スワップ」と名付け、スワップとして使用、フォーマットします。
ボリュームグループ内のOSごとに1つの論理ボリュームを作成し、上記のようにサイジングし、それぞれに名前を付けます(例:「Ubuntu_12.04」など)。
それぞれをEXT4にフォーマットし、パーティションに名前を付けてラベルを付けます。
最初にこれらの最初を「/」(ルート)としてマウントし、他のすべてを「使用しない」としてマウントします。
それだけです!これで、システム用のスワップ、「/ boot」および「/」(ルート)パーティションと、後続のインストール用のスペアができました。 。これで、パーティションテーブルへの変更をコミットし、残りのインストールを続行できます。
次のOSのインストールに関しては、次の「/ boot」パーティションと「/」(root)パーティションをそれぞれマウントするようにしてください。前回使用したものも含めて、他のすべてを「使用しない」としてマークしてください。
新しいOSを起動したらすぐに、後で使用できるようにUEFIブートローダーをバックアップし、次回のインストールで上書きされないようにする必要があります。これは、通常「ubuntu」という名前の独自のフォルダー内の「/ boot/efi/EFI」にあります。問題のファイルは、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
ターミナルから、次を入力します。
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
次に、3つのオペレーティングシステムのエントリをいくつか追加します。
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
Toブート順序を変更するには:
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
以前または他のOSのEFIブートローダーファイルを消去するOSインストーラーは、すべて破損しています。 Ubuntuには過去にこの問題がありましたが、バージョン12.04で修正されたと思われます。 (これらの行に沿って、少数のシステムでバグがまだ存在していると思わせる問題の報告をいくつか見たので、「おそらく」と言います。)とはいえ、EFI System Partition(ESP)をバックアップする前に新しいOSのインストールは便利な保険です。 EFIはブートセクタで駆逐されたコードに依存しないため、ファイルレベルのバックアップで十分です。 (ただしdoesはパーティションのGUIDに依存するため、何かがESPを削除して新しいものを作成すると、EFIのブートローダーエントリが機能しなくなる可能性があります。)
大まかに言って、構成のタイプに応じて、必要と思われる/boot
パーティションと、大きなLVMパーティションを作成することをお勧めします。 Linuxディストリビューションを他のOSと一緒にインストールする場合は、サイズが異なる3つまたは4つのLVMパーティションを作成し、1つのボリュームグループにマージします。そうすれば、ボリュームグループから1つのパーティション(論理ボリューム)を引き出して、それを非Linux OS専用にすることができます。非LVM /boot
パーティションは、LVMを理解しないブートローダー(つまり、非GRUB2ブートローダー)を使用するオプションを提供します。
新しいOSをインストールすると、おそらく独自のブートローダーがデフォルトとしてインストールされます。あなたのような複雑なセットアップでは、これはほとんどの場合、おそらく間違ったことです。修正するには、USBフラッシュドライブまたはCD-Rに好みのブートローダーをインストールしておくと役立ちます。 rEFIt またはその派生物 rEFInd、 など、他のブートローダーを自動検出できるものは、このコンテキストでうまく機能する可能性があります。 (rEFIt WebサイトのバイナリはMacでのみ機能することに注意してください。rEFIndはUEFIベースのPCにとってより安全な選択肢です。)あるいは、またはさらに、EFI Shellを起動する方法が役立ちます。ブートオプションを調整し、EFIシェルからの多くの問題を修正します。多くのEFIブートローダーとブートマネージャーは、EFIシェルを起動できます。 (一部のEFIシェルへのダウンロードリンクについては、 このArch Linux wiki を参照してください。)rEFItおよびrEFInd CDイメージの両方にEFIシェルが含まれています。
EFIを使用して2 + TBディスクを起動する必要はありません。 GPTを使用して、2Tbマークの下に1 MBのbios_grubパーティションを作成するだけです。 EFIに問題があると思われる場合は、これでうまくいくかもしれません。