Ubuntuを外部ハードドライブにインストールすることはUEFIでは不可能であるように見えます。MBRの場合と同様に、外部と内部で大きな違いはありませんでした。それは本当ですか、それとも可能ですか?
両方の起動方法を組み合わせることもできますか?
Ubuntuを外部ハードドライブにインストールすることはUEFIでは不可能であるように見えます。MBRの場合と同様に、外部と内部で大きな違いはありませんでした。それは本当ですか、それとも可能ですか?
両方の起動方法を組み合わせることもできますか?
回答:
実際可能です。
続行する前に、これらの手順は空のEFIシステムパーティション(ESP)向けであり、おそらく既存のファイルを上書きするか、期待どおりに機能しません。少なくともバックアップを作成してください!
プラットフォーム:レガシーPC、UEFIベースのWindowsコンピューター、アップルコンピューター
別のインストールまたはライブメディアからこれらの指示に従う必要があります。
grub-efi-amd64-bin
パッケージをインストールします。これにより、必要なリソースのみがインストールされます。既存のMBRスタイルのインストールをUEFIに切り替えて、上下を逆にすることはありません。
であなたのUbuntuのパーティションを縮小GPartedの ESPのためのスペースを作るために。ESPの推奨サイズの範囲は100 MBから500 MBですが、ここでこれらの指示に従って作成されたファイルは、2メガバイトから5メガバイトを超える必要はありません。
注:ESPがディスク上のどこに配置されているかは関係ありません。Ubuntuパーティションを最後から数メガバイト縮小すると、すばやく安全になります。最初の収縮は安全ではありません。ただし、ESPはプライマリパーティションであり、拡張パーティションまたは論理ボリュームの一部ではないことに注意してください。1から4までのパーティション番号は問題ありません。上記の番号は、MBRパーティションテーブルの拡張パーティションを示します。
ファイルシステムとしてFAT32を選択し、ブートフラグを設定します。
作成したESPと縮小したルートファイルシステムをマウントします。
mkdir -p /mnt/esp
mount $esp_device /mnt/esp
mkdir -p /mnt/rootfs
mount $root_device /mnt/rootfs
注:交換する
$esp_device
と$root_device
して適切なデバイス、たとえば/dev/sdb2
と/dev/sdb1
。マウントポイント/mnt/esp
とは、/mnt/rootfs
この答えの残りの部分との仕事に選ばれただけの例です。
GRUBのEFIイメージと最小構成ファイルを次のようにインストールします。
grub-install --efi-directory /mnt/esp --boot-directory /mnt/rootfs/boot --target x86_64-efi --removable $device
パーティションではなく、
$device
デバイス全体であることに注意してください/dev/sdb
。
これで完了です。もう少し説明します。
パラメーター--target x86_64-efi
は、UEFIイメージとモジュールが指定されたパスにインストールされることを保証します。ディストリビューション固有のパスではなく、リムーバブルメディアの--removable
ハードコードされたパスにUEFIイメージをインストールし\EFI\BOOT\BOOT{arch}.EFI
ます。あなたのgrub.cfg
中には、/boot/grub/
起動方法や名前の新しいフォルダの両方で動作するはずですx86_64-efi
、今隣に存在している必要がありますi386-pc
。
完全を期すために、これはプラットフォームのNVRAMエントリに書き込みおよび依存するリムーバブルメディア以外のコマンドです。
grub-install --efi-directory /mnt/esp --boot-directory /mnt/rootfs/boot --target x86_64-efi --bootloader-id "Ubuntu" $device
適切なUEFIインストールには、以下ののような行が含まれて/etc/fstab
いますが、セットアップは機能せず、UEFIイメージ(MBRブートローダーと同様)は通常、OSのインストール時にのみ書き込み/更新されます。
UUID=1234-567F /boot/efi vfat defaults 0 1
GPTパーティションドライブのレガシーインストールにESPを追加することは、上記と非常に似ています。
grub-efi-amd64-bin
パッケージをインストールします。boot
フラグを設定し、上記の手順と同様のFAT32ファイルシステムでパーティションを作成します。grub-install
、--removable
パラメーターを含む上記のコマンドを実行します。これは、既存のUEFIインストールを別のコンピューターで起動する場合にも機能します。
GRUB用のBIOSブート可能パーティション(BBP)の作成は少し異なります。
grub-pc-bin
パッケージをインストールします。
ルートパーティションのサイズを変更して上記の手順と同様のパーティションを作成し、bios_grub
フラグを設定します。ファイルシステムを選択せず、フォーマットしないでください。
/etc/default/grub
管理者権限で構成ファイルを編集GRUB_DEVICE=/dev/sdb6
し、最後に追加します。を/dev/sdb6
BBPの実際のデバイス名に置き換えます。コマンドラインエディタnanoを使用して、物事をシンプルに保つことができます。
以下を使用して、GRUB MBRイメージをBBPにインストールします。
grub-install --boot-directory /mnt/test/boot/ --target i386-pc $device
この行を削除またはコメント化し/etc/default/grub
て、実際のインストールに追加することができます。
私がテストした非常に新しいMac(Mac Mini A1347 EMC 2840)は、MBRからでも、標準のFAT32 ESPから起動できることがわかりました。とにかく、ここに行きます:
インストールしgrub-efi-amd64-bin
、hfsprogs
、mactel-boot
およびmactel-boot-logo
(オプション)パッケージ。ユニバースリポジトリを有効にし(コマンドラインから「ユニバース」リポジトリを有効にするにはどうすればよいですか?)、現在のMactelサポートPPA(詳細についてはMactelサポートコミュニティチームを参照)を追加して、それらすべてをインストールする必要があります。
ルートパーティションのサイズを変更して、上記の手順と同様のHFS +ファイルシステムでパーティションを作成します。今回はさらに数メガバイトのスペースが必要なので、以前は5メガバイト以下しかなかった場合は、ESPのサイズを2倍にします。フラグは必要ありません。
パーティションをマウントします。
mkdir -p /mnt/esp-mac
mount $esp-mac_device /mnt/esp-mac
mkdir -p /mnt/rootfs
mount $root_device /mnt/rootfs
注:競合を回避するために選択
$esp-mac_device
し/mnt/esp-mac
ました。
パラメータgrub-install
を含むコマンドを実行し--removable
ます。
grub-install --efi-directory /mnt/esp-mac --boot-directory /mnt/rootfs/boot --target x86_64-efi --removable $device
最後に、Macが期待するとおりにパーティションをセットアップします。
sudo hfs-bless /mnt/esp-mac/EFI/BOOT/bootx64.efi
sudo cp -v /mnt/esp-mac/EFI/BOOT/bootx64.efi /mnt/esp-mac/System/Library/CoreServices/boot.efi
sudo cp -v /mnt/esp-mac/EFI/BOOT/grub.cfg /mnt/esp-mac/System/Library/CoreServices/grub.cfg
sudo cp -v /usr/share/mactel-boot/SystemVersion.plist /mnt/esp-mac/System/Library/CoreServices/SystemVersion.plist
sudo cp -v /usr/share/mactel-boot-logo/ubuntu.icns /mnt/esp-mac/.VolumeIcon.icns
echo "Dummy kernel for booting" | sudo tee /mnt/esp-mac/mach_kernel
Macで外部メディアからUbuntuを起動するには、オプションキーを押す ⌥かAlt、Windowsキーボードで正しいディスクを選択するだけです。
できるだけ正確にするために、ブートフラグはGRUBにとって重要ではありません。デフォルトでは、GRUBはUUIDを検索して、ブート元の適切なファイルシステムを見つけます。GPartedでブートフラグまたはbios_grubフラグを設定すると、通常、パーティションのタイプ(MBR)またはGUID(GPT)が設定されます。
正しいタイプまたはGUIDを設定することの利点は、適切に機能する設定があることに加えて、これらのパーティションがファイルマネージャーで非表示になることです。タイプとGUIDをチェックして変更する最も簡単な方法は、ディスク(gnome-disks
)を使用することです。
または、partedまたはgdiskを使用することもできます。
ウィキペディアには、GPTのGUIDの大きなリストがあります。
コマンドラインでの等価物parted
に従ってマニュアルがあるparted $device set partition esp on
とparted $device set partition bios_grub on
。
/boot/
が見つかりません」と表示されます。grub.cfg
右のUUIDにESPパーティションポイントインチ 何か案は?新しい質問を投稿させていただきます。