OPは「既存のUbuntuインストールに触れずに」と尋ねます。Ubuntuをインストールするだけでなく、外部デバイスから起動する場合は、内部ドライブのブートパーティションを書き換え、外部デバイスにEFIブートパーティションをインストールしないインストーラーバグを回避する必要がありますインストーラーに伝えます。
Ubuntu 18.04、18.10、および19.04で機能するものを次に示します。Thinkpad T480およびP50、デュアルブートWin 10およびUbuntuでテスト済み。レガシーブートをオフにしました。UEFIは100%使用されています。私のソリューションを使用して、UbuntuとブートローダーをUSBスティックとドライブに少なくとも6回インストールしました。
EFIパーティションの代替の場所を指定しようとしても、ubuntuインストーラーは最初のEFIパーティション(内蔵ハードドライブ上のパーティション)を使用するため、2番目のドライブへのインストールは苦痛です。したがって、ブートロードデバイスをターゲットUSBドライブに設定しようとすると、無視されます。これはかなり古いバグですが、19.04リリースに向けて現在も存在しています。
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1396379
概要:これを回避するには、インストールを開始する直前にgpartedを使用してフラグを編集し、内部EFIパーティションを無効にします。その後、インストーラーはそれを見つけず、バグは発生しません。後で、フラグを再度有効にします。これは簡単なステップです。これは、内部ドライブを物理的に切断することとほぼ論理的に同等であり、インストーラーのバグを回避することも確かです。
私がとったステップ:
インストールを開始する前に:
標準のubuntuライブUSBデバイスと、インストール先のターゲットドライブが必要です。
「最初に試す」モードでUbuntuライブUSBを起動します。
gpartedを使用します(最初にインストールする必要がある場合があります。18.04.1に含まれていますが、Ubuntuはライブディスクに含まれていない場合があります)。
- GPTパーティションテーブルでターゲット外部ドライブを再パーティションします。
500MBのパーティションタイプFAT32を作成します。Ubuntuのインストール用に必要なパーティションを設定することもできます。インストール時に、3つのドライブ(内部ドライブ、ライブイメージインストーラードライブ、およびターゲットドライブ)があるため、目的の/パーティションにラベルを付けると便利です。
これらの更新を適用した後、作成したばかりの小さな500MBパーティションのフラグを変更します。小さなパーティションを右クリックして、フラグを管理します。これらの変更はすぐに実行されます(ただし、前の手順を完了することで実際にパーティションを作成する必要があることに注意してください)。
インストール
通常のubuntuインストールに従って、ライブディスクUSBイメージで起動しました。つまり、ターゲットデバイスとライブディスクUSBドライブという2つのUSBデバイスがあります。
内部ドライブのEFIパーティションフラグを編集し、ターゲットデバイスのEFIパーティションに設定したものと同じ3つのフラグを解除します。
以下に、gpartedでフラグを編集する短いビデオを示します。https://youtu.be/sdgrmylH6pc
これで、インストール時に、インストーラーはターゲットデバイスに1つのEFIパーティションのみを表示します。これは、他の場所では文書化されていない新しいステップです。
Ubuntuのインストールを開始します。インストーラーのディスクセットアップタブが表示されるまで続行します。もちろん、パーティション化段階で完全に手動のアプローチである「他の何か」が必要です。
ターゲットドライブがsdcとしてマウントされ、作成したEFIパーティションがsdc1である場合、ブートローダーをデバイスsdcにインストールし、EFIパーティションはsdc1になります。
スクロールしてそのパーティションを見つけます。[タイプ]列に「efi」と表示されます。「変更」をクリックして確認します。インストーラーは「EFIシステムパーティションとして使用」と言う必要があります。実際には何も変更しません。フォーマットする必要はありません。
パーティションをスクロールしながら、「タイプ」列を確認します。内蔵ドライブのEFIパーティションのパーティションフラグをオフにしたため、内蔵ドライブにEFIパーティションがないはずです。もちろん、パーティションはまだFAT32パーティションとして表示されます。それで大丈夫です。
また、インストールを実行するために起動したライブディスクのEFIパーティションも表示されます。
/(sdc2など)の目的のターゲットパーティションをマウントし、通常のインストールを実行します。
インストール後
内部EFIパーティションのフラグを復元します
インストール後、新しいインストールで再起動します。BIOSの「ブートデバイスの選択」オプションを使用する必要があります。私のThinkpadでは、F12はBIOSメニューのこの部分へのショートカットです。
ブートメニューにはいくつかの選択肢があり、そのうちの1つが外部ドライブです。一部のBIOSメニューでは、デフォルトのラベルが「ubuntu」と表示されるため、2回以上表示すると少し混乱します。時々、ブートデバイスを変更すると、BIOSブートが再起動します(ThinkPadで行われます)。
後でUSBスティックなしで起動すると、BIOSは最後に確認された正常なEFIデバイス(内部デバイス)に戻るのに十分なほどスマートである必要がありますが、EFIブート選択を手動で再選択する必要があります。
ヒント:USBブートエントリのラベルを変更して、「ubuntu」エントリが重複しないようにします
ubuntuというラベルのEFIブートオプションが重複して表示される場合は、修正できます。EFIメニューオプションの再ラベル付けは非常に便利ですが、少し注意が必要です。
必ず外付けドライブのインストールを起動してから、
sudo efibootmgr -v
リストの最初の行から起動されます。
ブートに使用されるファイルの名前と、パーティションの番号を書き留めます。最初のエントリの出力は次のとおりです。
HD(1,GPT,...) .... File(\EFI\ubuntu\shimx64.efi)
そして、このスレッドを見てください:https : //www.kubuntuforums.net/showthread.php/68851-Labels-on-UEFI-Boot-Entries-using-efibootmgr-L
私はこれを私の「owcUbuntu」のラベルを変更するために行いました:
efibootmgr -c -d /dev/sdb -p 1 -L owcUbuntu -l \\EFI\\ubuntu\\shimx64.efi
ブートドライブがsdbであり、EFIパーティションを最初に作成したため、-p引数の値は1です。注:実際のブートディスクを確認してください:) gpartedまたはdfを使用してください
いくつかの「奇妙な」もの。正しく実行すると、このプロセスは内部ドライブの既存のブートローダーに影響しません。ただし、外部ドライブが接続されており、内部ドライブから正常に起動されている場合、grubアップデーターは外部ドライブへのubuntuインストールを検出し、起動可能な選択肢のリストに追加します。これは少し混乱する可能性がありますが、ブートエントリ(上記)のラベルを変更すると便利です