まず、現在の設定について説明します。最近、2つのメインドライブをスクラブしてGUIDに変換しました。プライマリドライブ(私の場合はsdb)で、/ dev/sdb1にEFIブートパーティション(ESP)を作成しました。 mint17.1の新規インストールを行った他のパーティションがあり、EFI、次にGRUB2を介して起動するように設定されています。したがって、新しいインストールでは、ESPのefiブートローダーへの登録は問題ありません。
今、私がそのプロセスを明確に理解した場合にのみ!数時間後にUEFIを読んでも、手順の簡単な明確な図がまだありません。それを自分で手動で行う方法と、使用するのに最適なツールは何ですか? 「UEFI/Grub2:Story ofmyNightmare」のようなタイトルの投稿に触発されました。
だから質問:
2番目のドライブの最初のパーティション(sda1)で、このパスを開始する前にmint17(ubuntu14.04)インストールのコピーを復元しました。レガシーを起動するように設定されました。 EFI経由で起動するように変換し、ブートローダー(ESP with .efi)のフォルダー)に登録するにはどうすればよいですか?
別のパーティションにインストールが機能しているということは、USBスティックから起動しなくても、必要な変更を加えることができるということです。
これが私がやりたいことに対して見つけることができる最も役立つ投稿について私が思うことです
https://askubuntu.com/questions/510856/how-to-boot-load-the-kernel-using-efi-stub-efistub-loader
最善のヘルプはステップバイステップの手順です。これを行う方法の私の最も一般的な概念は、fstabを編集してefiパーティションをロードし、a(the)カーネルファイルをコピーし、chroot?を問題のパーティション(OS)にコピーしてgrub2を実行することです。それを実行するには、EFIフォルダーを使用しますか?私がどれほど失われているかを聞くのは楽しいでしょう。:)。
UEFIの起動についてはよく知っていますが、ツールを使用して操作する方法が「秘密」であるように思われるため、完全な回答はコミュニティにとって非常に役立ちます。確信が持てないのは私だけではありませんか?
次に、質問しているときに、EFIブートメニューのエントリ名をどのように変更しますか。 ESP)のEFIディレクトリでディレクトリ名を変更するのと同じくらい簡単だと思いましたが...いいえ。したがって、私が想定しているこれらの.efiファイルを操作するためのツールが必要です。 EFIメニューで使用される起動するOSの名前が含まれていますか?
ところで、Grubチェーンローダーとして使用するための小さなパーティション(1GB)を作成しました。それはより良い解決策ですか?マルチブート用のEFIは気にせず、必要に応じてメニューのrefindを既にロードしています。これを考えさせて、試してみたい場合に備えてパーティションを作成するようにした投稿があります。 http://devil-detail.blogspot.com/2013/07/install-grub2-on-gpt-disk-dedicated-partition.html
うん、悪魔は詳細にあります(それを助けてください)
もう少し粘り強く取り組んだ後、BIOS-LegacyからEFI bbotingに移行するための実行可能なソリューションを段階的に考え出したので、今すぐ自分の質問に答えます。
これは、unbuntu(またはいくつかのフレーバー)の複数のコピーを起動する場合にのみ適用され、新しいドライブまたは再利用されたドライブで最初から始めており、マザーボードがかなり新しいことを前提としています(私のものは2014ヴィンテージです)。新規インストールではなく、現在のbios/mbrインストールを移動する場合は、qt-fsarchiverを使用してfsarchiverでパーティションイメージを作成することをお勧めします。これは、Linuxの現在のインストールがUEFI対応であることを前提としています。 ubunutu(およびフレーバー)の最新リリースはUEFI対応です。
ステップバイステップで、同じマシンにインストールされているプライマリOSのコピーをミラーリングしてテストし、すべて再検索からロードできるようになりました。
Linuxのフレーバーを使用して永続的なUEFIUSBスティックを作成します(以下の注を参照)
そのスティックをUEFIとして起動します。これには、cmos設定を入力し、設定でUEFIが起動することを確認する必要があります。通常、USBがメーカー名でリストされているはずです。確実に行うために、従来の起動オプションをオフにすることをお勧めします。初めて起動すると、ほとんどのOSファイルがcasper-rwパーティションに移動し、ファイルシステムとしてマウントされます。そこに何かを置く前に、それを見つけるために/ mediaフォルダーを調べる必要があります。
起動したスティックからGpartedを使用
a。プライマリドライブとなるものに新しいGPTパーティションテーブルを作成します(ドライブをスクラブします!)
b。次に、ESP用のパーティションを256 MB以上、フォーマットされたFat32で作成し、ESPというラベルを付けます。起動可能としてマークします(現在GPTドライブであるため、EFI起動可能としてマークされます)
REFIndをインストールします。 http://www.rodsbooks.com/refind/ 3つの方法(debパッケージ、スクリプト、または手動)があります。最新のbin.Zipアーカイブをダウンロードすることをお勧めします。それを解凍し、アーカイブされていないrefindディレクトリ内からインストールスクリプトを実行します。
Sudo ./install.sh
新しいESP/EFIパーティションを見つけてマウントします。 efibootmgrが正しく実行されていないと文句を言う場合は、おそらくインストールする必要があります。やった。次に、インストールスクリプトを再実行します。
Sudo apt-get install efibootmgr
最後に、ESP/EFIは引き続きboot/efiにマウントされ、zipアーカイブ内のrefindディレクトリ(同じ相対位置)にあるdrivers_x64ディレクトリ(私の場合は64ビットマシン)をコピーする必要があります。
スティックを取り外して、再起動してみてください。 Cmosに入り、refindが起動可能なUEFIデバイスの1つになったかどうかを確認します。スティックに次ぐ2位になりました。そうすれば、スティックが入っているときはスティックから起動し、そうでない場合はハードドライブESPで再検索します。
これで、作成したスティックのMintのように、(efi)osを別のパーティションにインストールできます。このインストールの/ bootディレクトリには、カスタマイズ可能なrefind_linux.confファイルが含まれている場合があります。名前を変更する(削除する)ことを選択します。必ずしも必要ではなく、設定を誤ると起動の問題が発生する可能性があります。 refindがそれらを取得してメニューで使用するため、クリアパーティションラベルを選択することをお勧めします。これにより、EFI/refindディレクトリにあるメインのrefind.confファイルをカスタマイズする必要がなくなります。私はこれらの行のコメントを外す/変更することだけを選択しました。 rEFIfindのすべてについては、Rodの優れたドキュメントを参照してください。
USBスティックの作成
4GBの最小スティックを使用する
Gpartedを使用してスティックにGPTテーブルを設定し、2 GBのパーティションを作成してfat32にフォーマットし、「boot」というラベルを付け、ブートフラグを設定します(EFIになります)
残りのext4を「casper-rw」のラベルでパーティション分割/フォーマットします。
Efi対応のiso(linux mint 17.1を使用)と「boot」パーティションをマウントし、isoの内容をコピーします。
uSBスティックでboot/grub/grub.cfgを編集し、最初のブートスタンザを編集して、次のように「永続的」オプションを追加します。
linux /casper/vmlinuz file=/cdrom/preseed/linuxmint.seed boot=casper iso-scan/filename=${iso_path} quiet splash persistent --
http://shallowsky.com/blog/linux/install/ubuntu-persistent-live-cd.html
あなたがそれをマウントしている間、私はおそらくこの投稿のURLと一緒にこのテキストをカットアンドペーストしてテキストファイルに貼り付け、そこにも保存します。
Mintの苛立たしい点の1つは、ラップトップ上にない場合でもラップトップディスプレイが読み込まれるため、何も「表示」できないことです。これを修正するには、ターミナルを右クリックして開くか、cntrl-alt-tを使用します。次に、「cinnamon-settings」を実行してディスプレイ設定に移動し、ラップトップディスプレイをオフにして、プライマリディスプレイをデフォルトにします。
後で、USBが起動したら、qtfsarchiverもインストールして、GUIを使用してfsarchiverアーカイブを復元できるようにします。
Fsarchiverアーカイブをパーティションに復元する場合は、復元後に新しいuuidを要求し(gpartedで)、それに応じてfstabを編集し、/ bootディレクトリのrefind_linux.confを削除/修正する必要があります。
更新:不足している再検索メニューからの回復
私はクイックリストアを考え出しました(準備ができたらUSBフラッシュEFIブータブルスティックを使用するのが良いと仮定します)。
N.B. refind ppaを使用して最新の状態に保つことにした場合、更新するたびに構成が失われ、起動することがわかりました。したがって、以下の手順を実行する準備ができたら、手動でアップグレードすることをお勧めします。
失われたマザーボードのNVRAM設定を修正しました(ファームウェアは、起動可能な選択肢としてREFINDをリストしなくなりました)
<user>
==現在のログインユーザー
USBスティックで起動します。 (デスクトップ上に)リカバリディレクトリを作成し、その中にターミナルを開きます。
Sudo mount /dev/sdxx /media/<user>/EFI/boot/efi cp -R /media/<user>/EFI/boot/efi efi-copy-xx-xx-201x
最新のrefindbin.Zipがあるかどうかを確認してください。ダウンロードしない場合(sourceforgeから再検索ブートリカバリフォルダーに抽出
CDを最新の再検索抽出ディレクトリに挿入してインストールします(.10より前のバージョンではinstall.shのみを使用します)
Sudo ./refind-install --root /media/<user>/EFI/boot/efi
Efibootmgrが正しく実行されていないと文句を言う場合は、おそらくインストールする必要があります。やった。次に、インストールスクリプトを再実行します。
Sudo apt-get install efibootmgr
それはそれであるはずです。 USBフラッシュスティックを取り外して再起動すると、再検索ブートメニューが元に戻ります。
まず、いくつかの基本...
BIOSまたはEFIのいずれかで、コンピューターの起動に関係するプログラムには2つの重要なクラスがあります。
GRUBやBIOSで聞いたことがある他のほとんどのLinuxブートローダーを含む一部のプログラムは、実際には両方の機能を実行します。したがって、Linuxユーザーは言語的に少しずさんで、「ブートローダー」を使用する傾向があります。ただし、一部のEFIプログラムは一方の機能のみを実行し、もう一方の機能は実行しないため、区別を理解することはEFIにとって重要です。さらに、EFIは組み込みのブートマネージャーを提供します。残念ながら、EFI仕様はミュートされています。組み込みのブートマネージャが提供する必要のあるユーザーインターフェイスの種類の主題。その結果、一部のマシンではほとんど役に立たず、他のマシンでは扱いにくく、最高のマシンではほとんど耐えられません。
組み込みのEFIブートマネージャーは、EFI変数を編集することでOSから制御できます。 Linuxでは、このタスクはefibootmgr
ユーティリティによって処理されます。これは、典型的な最低限のLinuxコマンドラインツールです。そのため、あまりユーザーフレンドリーではありません。コンピュータを起動するときは、通常、Escキーまたはファンクションキーを押してブートマネージャにアクセスしますが、詳細はマシンごとに異なります。
ギアを少しシフトすると、GRUBはBIOSシステムとEFIシステムの両方でほぼ同じように機能するように設計されています。BIOSでは、GRUBはそれ自体の一部をにインストールしますハードディスクの最初のセクターであるマスターブートレコード(MBR)。BIOSはMBRでコードを実行するようにハードコードされているため、GRUBは、起動時にコンピューターを制御します。メニューをクリックし、カーネルをロードするか、ブートプロセスを別の場所に保存されている別のブートローダーにリダイレクトします。EFIでは、プロセスは少し異なります。GRUBはEFIのNVRAMに登録されます(インストール時にefibootmgr
、コマンドを自分で入力しなかった場合でも)。EFIのブートマネージャーはGRUBを起動します。これにより、メニューが表示され、カーネルが起動されるか、別のブートローダーにリダイレクトされます。
BIOSとEFIのもう1つの重要な違いは、BIOSブートローダーの全体または一部がMBRおよびディスクの他の「非表示」部分に格納されることです。 EFIブートローダーとブートマネージャー(組み込みのブートマネージャーを除く)は、通常のファイルとしてESPに保存されます。これにより、EFIの管理が少し簡単になります。少なくとも理論的には、理解してしまえば。
さて、この理論はすべて邪魔にならないので、私はあなたの質問にもっと直接的に取り組むことができます:Linuxの大部分はブートモードを気にしないので、既存のBIOSモードインストールをEFIモードでブートするように変換するにはEFIブートローダーをインストールする必要がありますLinuxの場合。実際、そのようなプログラムはいくつかあります。あなたはそれらのうちの2つを直接的または間接的にほのめかしましたが、他にもあります:
これらのブートローダーに加えて、オプションの拡張に役立つ専用のEFIブートマネージャーがいくつかあります。
現在のセットアップが何であるかは私には少しわかりませんが、以前はBIOSモードで起動したものを含めて少なくとも2つのLinuxがインストールされているという印象を受けます。その場合は、rEFIndの使用を検討することをお勧めします。デフォルトのブートプログラムとしてインストールされている場合は、システムのカーネルをアクティブにスキャンし、起動のたびにメニューを作成します。カーネルを保持するファイルシステム用のEFIファイルシステムドライバーをインストールする必要がありますが、インストールスクリプトがこの詳細を処理してくれる場合があります。ディストリビューションごとに/boot/refind_linux.conf
という構成ファイルを作成する必要がある場合もあります。このファイルは静的ブートオプションを保持します。 (ただし、これは不要な場合もあります。パーティションのレイアウトとディストリビューション固有のニーズによって異なります。)Linuxでインストールスクリプトを使用してrEFIndをインストールすると、そのディストリビューションに対してrefind_linux.conf
が自動的に作成されますが、必要になる場合があります。他のディストリビューションと同等のものを作成します。 rEFIndのドキュメントには、 Linuxの起動に関するページ が含まれており、これらすべてを行うのに役立ちます。
REFIndを使用したくない場合は、1つのディストリビューションのGRUBを取得して、他のインストールのカーネルを取得できるはずです。GRUBを介して1つのディストリビューションを起動できる場合は、update-grub
(Ubuntuまたは同様のディストリビューションの場合)またはgrub-mkconfig -o /boot/grub/grub.cfg
がその役割を果たします(ただし、その出力パスを変更する必要がある場合があります。grub.cfg
は一部のディストリビューションの別の場所に保存される場合があります)。この2番目のディストリビューションでカーネルを更新する場合は、最初のディストリビューションを起動してGRUB構成ファイルを再構築し、GRUBを認識できるようにする必要があります)新しいカーネル。別の方法は、GRUBを2回、ディストリビューションごとに1回インストールすることです。次に、EFIのブートマネージャーを使用して、起動するGRUBを選択し、または、各GRUBを他のエントリで構成します。
ご覧のとおり、多くのオプションがあります。このトピックの詳細については、Linux用のEFIブートローダーに関する my Webページを参照してください。
これはあなたが望んでいた段階的な手順ではないことを私は理解していますが、物事がどのように機能するかを理解することとあなた自身の正確な設定の知識を組み合わせることは、通常、どんな種類の「クックブック」手順よりもうまく機能します。そのため、プロセスに入る構成の詳細に依存します。