web-dev-qa-db-ja.com

Ubuntu18.04と一緒に別のハードドライブにWindows10をインストールする

私は現在、オペレーティングシステムとしてUbuntuを実行していますが、見逃したいくつかのゲームのセカンダリOSとしてWindowsをインストールしたいと考えていました。 256GBのSSDにUbuntuがあり、2TBのHDDがあります。現在のOSやローダー(グラブだと思います)を壊さずに、そのドライブにWindows10をインストールできるかどうか疑問に思いました。これに関する記事は見つかりませんでした(おそらく、間違ったものを探しているためです。わかりません)。誰かが私に記事をリンクしたり、コメントで直接教えてくれたら、それはありがたいです。事前に感謝し、私の悪い英語をお詫びします。私はフィンランド語です。

1
J. Liljamo

複数のディスクを備えたシステムにWindows10をインストールする場合の現在の推奨事項は、Windowsをインストールする予定のディスクを除くすべてのディスクを一時的に切断し、インストールが完了した後でのみ再接続することです。

これは、最新バージョンのWindowsが複数のパーティションを使用するためです。インストーラーは、Windows C:ドライブに使用するディスク/パーティションを要求しますが、必ずしも他のパーティションに同じディスクを使用するわけではありません(いいえ、勝ちました)。特にそれらの他のパーティションについては尋ねないでください)。他のディスクを切断すると、予測不可能性がなくなります。インストールが完了したら、UEFI/BIOS設定で起動順序を確認し、必要に応じて調整する必要があります。

LinuxでSudo update-grubを実行すると、UbuntuがWindowsの存在を検出し、それをGRUBのメニュー項目として追加できるようになる可能性があります。

UEFIブートスキームが使用されている場合

システムがUEFIを使用している場合、WindowsのインストーラーはシステムNVRAMに新しいブートローダー設定(通常はWindows Boot Managerという名前)を登録し、それをブート順序の最初に配置します。また、システムファームウェアが存在しないディスクを参照するブートエントリを自動削除する場合、Ubuntuシステムディスクを切断すると、そのブートローダー登録がシステムNVRAMから削除されます。

現在UEFIモードでLinuxを起動しているデュアルブートシステムに2番目のOSをインストールする前に、efibootmgrコマンドに精通し、Linuxで使用されている現在のUEFIブートローダーエントリを記録する必要があります(efibootmgr -vを実行して出力を保存してください!)そして、ライブLinuxメディア、またはレスキューモードでシステムを起動するために使用できるLinuxインストールメディアがあることを確認してくださいEFIモードでそうすれば、システムファームウェアの場合LinuxシステムディスクがWindowsインストールのために切断されたときにUbuntuのブートローダー登録を削除します。外部メディアから起動し、efibootmgrを使用して起動登録を復元することで、簡単に復元できます。必要なコマンドは次のようになります。

efibootmgr -c -d /dev/sda -L "Ubuntu Linux" -l \\EFI\\Ubuntu\\grubx64.efi

(NVRAMでのブートローダー登録はGPTパーティションUUIDに基づいているため、外部メディアからの起動時に同じデバイス名を使用してLinuxシステムディスクが検出されなくても問題はありません。efibootmgrに何を伝えてください。 UEFIブートローダーを含むデバイスは現在として知られており、正しく機能します。)

しかし、それは最悪のケースです。最良の場合、ファームウェアはブートエントリを自動削除しません。Windowsをインストールして他のディスクを再接続した後に行う必要があるのは、ファームウェア設定(「BIOS設定」)にアクセスして、 「Ubuntu」ブートエントリを最優先スロットに戻します。

1
telcoM

最初にESPを使用して別のドライブにWindowsをインストールし(システムにUEFIファームウェアがある場合)、次にgrubでWindowsのBOOTMGRefiファイルにエントリを追加します。

ESP do in grub Prompt:を使用してWindowsをインストールした後

ls#itはexのいくつかのドライブを返します。 (hd0)(hd0、gpt1)(hd0、gpt2)(hd1)(hd2)(hd2、gpt1)(hd2、gpt2)

これで、(hdx、gpt2)の1つがWindowsの可能性があります 'ESP(hd2、gpt2)

Linuxでは、/ etc/default/grub.d/40_customファイルに書き込みます

menuentry "Windows Boot" {set root =(hd2、gpt2)chainloader /EFI/Microsoft/Boot/bootmgfw.efi}

ファイルを保存して実行します

Sudo grub-mkconfig -o /boot/grub/grub.cfg再起動すると、「WindowsBoot」エントリが表示されます。

1
user996878