web-dev-qa-db-ja.com

UEFIにUbuntuをインストールした後、Windowsを起動できない

Windows 10ラップトップにUbuntuデュアルブートをインストールしようとしています。 Windows 10はレガシーBIOS設定を使用しました。

Ubuntuのインストールを開始すると、BIOSとUEFIに関する警告が表示され、他のオペレーティングシステムが起動できなくなった場合にのみ、続行します。ただし、代替案は提供されていないため(Linuxを単にあきらめてインストールしない以外は)、続行することにしました。そして、インストール後にGRUB=はLinuxオプションしか提供しなかったことがわかりました。

Windowsから再度起動する方法はありますか? ubuntuをアンインストールしてもかまいません

1
Azhar

警告が言ったことと、Ubuntuをインストールするときに行った正確な選択に応じて、インストールプロセスはいくつかのことの1つを実行した可能性があります。

  • パーティションをMBRからGPTスタイルに変換してUEFIスタイルをインストールし、既存のパーティションを保持(またはサイズ変更)した可能性があります。これが最良のオプションです。UEFIスタイルのブートローダーをインストールするだけで、Windowsに戻ることができます。 Windows UEFIブートローダーがディスクにあると、Ubuntuは次回Sudo update-grubを実行したときに自動的にそれを検出し、GRUBブートメニューに追加します。

  • MBRパーティションディスクにUEFIスタイルのブートローダーを設定しただけかもしれません。これは問題です。Linuxはこれを実行できますが、MicrosoftはWindowsがこの組み合わせをサポートしないと言っているためです。ただし、この場合、レガシースタイルのWindowsのみのブートに戻ることは、かなり簡単に実行できるはずです。

  • Ubuntuのディスク全体を使用している可能性があるため、Windowsインストールが上書きされ、存在しなくなりました。これは最悪のシナリオです。Windowsを元に戻すには、完全に再インストールする必要があり、既存のWindowsファイルは失われます。

あなたの状況を特定する

Linuxでは、Sudo fdisk -l /dev/sdaを実行します。システムディスクが/dev/sda以外の場合は、適切なデバイス名に置き換えます。たとえば、NVMe SSDを備えた新しいシステムでは、代わりに/dev/nvme0n1になる場合があります。

出力は次のようになります。

$ Sudo fdisk -l /dev/sda
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2B05CCE8-92BC-4308-B770-174CE63D044F

Device       Start       End   Sectors  Size Type
/dev/sda1     2048   1050623   1048576  512M EFI System
/dev/sda2  1050624   1550335    499712  244M Linux filesystem
<... other partitions listed here...>

Linux fdiskのバージョンが古すぎない場合は、出力に次のいずれかを示す行が含まれているはずです

Disklabel type: gpt

または

Disklabel type: mbr

これは、システムディスクで現在使用されているパーティションスタイルを識別します。

GPTパーティションシステムディスク-Windows UEFIブートローダーのインストール

LinuxインストーラーによってUEFIブートローダーが設定されているため、ディスク上にEFIシステムパーティション(略してESP)も必要です。 fdisk -l出力では、TypeEFI Systemとしてリストされているのはパーティションであり、そのサイズは通常100Mから512Mの間です。 Linuxでは、/boot/efiにマウントされる場合があります。 Sudo ls -l /boot/efiを実行するか、GUIファイルマネージャを使用してこのパーティションを確認すると、このパーティションの内容を認識できます。Windowsコマンドプロンプトで少し表示されます。通常、ESPが/boot/efiにマウントされている場合、Ubuntuの実際のUEFIブートローダーを含む/boot/efi/EFI/ubuntuのようなサブディレクトリが必要です。

次に、Windows 10インストールメディアを入手します。ライセンスコードは必要ありません。そのインストールメディアからコンピュータを起動します。 UbuntuがUEFIモードでインストールされているため、コンピューターはおそらくWindowsインストーラーもUEFIモードで自動的に起動しますが、インストールメディアの起動オプションが2つある場合は、それらのオプションの1つだけがUEFIモードで起動します。あなたが選ぶべきです(うまくいけば、ブートメニューにどちらが表示されるかが表示されます-システムのUEFIファームウェアによって異なります。)

Windowsインストーラーが初期画面を表示し、画面中央に[今すぐインストール]ボタンが表示されたら、代わりに下部にある[コンピューターを修復]を選択します。

次のメニューから、「トラブルシューティング」を選択し、次に「コマンドプロンプト」を選択します。

次に、次のコマンドを入力します。

diskpart
list vol

パーティションのリストが表示されます。 「Fs」列にFAT32があるパーティションを見つけます。これは、ESP Linuxで以前に見たはずです。ボリューム番号(一番左の列のVolume ###)をメモして)未使用のドライブ文字(X:など)。たとえば、ESPがVolume 2としてリストされている場合:

sel vol 2
assign letter=x:

現時点ではDiskPart successfully assigned the drive letter or mount point.と表示されているはずです。次に、exitと入力してDiskPartユーティリティを終了します。

ESPのEFIディレクトリに切り替えます。

cd /d x:\EFI
dir

ubuntuディレクトリが表示されれば、適切な場所にいます。

次に、Windows UEFIブートローダー用に1つまたは2つのディレクトリを作成します。

mkdir Microsoft
cd Microsoft
mkdir Boot
cd Boot

Windows UEFIブートローダーをESPにインストールし、Windows BCDレジストリを再作成します。

bcdboot c:\Windows /l en-us /s x: /f UEFI /addlast

Windowsブートローダーで英語以外の言語を使用する場合は、上記のコマンドのen-usを適切なWindows言語コードに置き換えます。

次にexitと入力し、Windowsインストールメディアを取り出してシステムを再起動します。以前と同じようにUbuntuで表示されるはずです。 Sudo update-grubを実行して、GRUBブートメニューを更新します。問題がなければ、UEFI Windowsブートローダーの存在を自動検出し、GRUBブートメニュー。

また、BIOSの起動順序メニューには、「Windows Boot Manager」という名前の項目があるはずです。 Ubuntuを削除してWindowsのみのシステムに戻す場合は、これをプライマリブートオプションとして切り替えるだけで、システムはGRUBをスキップし、デフォルトでWindowsを起動します。 Windowsのディスクの管理を使用してLinuxパーティションを削除しますEFIシステムパーティションを削除しないでください

(作業中-後でMBR復元オプションを追加します)

1
telcoM

わかりましたので、これは間違いなくWindowsの質問のままで、本当にsuperuser.comまたは類似のものに属しています。

ただし、役立つという点では、あなたが書いた内容から、インストーラーがハードディスク上のパーティションを記録するシステムを変更したように思えます。 Windowsブートローダーは、パーティションのサイズと位置とともにMBR(ハードドライブの最初のセクター)に格納されました。

UEFIとしてインストールするために、インストーラーはパーティションのサイズと位置をGPT形式で書き換え、プロセス中にMBRを完全に上書きしました。これは偶然ではありませんでした。 2つのパーティションテーブルは共存できません。これは必要な手順でした。 IE:これはあなたが警告されたものです。

私はWindowsのエキスパートではありません。これはLinuxフォーラムです。しかし、ここからは基本的に2つのオプションがあると思います。

  1. 前方修正(windows EFIブートローダーのインストールを試みます)
    • 理論的には、UEFIは(新しい)EFIパーティションにインストールされたWindosブートローダーを必要とするだけなので、これは可能かもしれません
    • 私は個人的に、Ubuntuで作成されたEFIパーティションからWindowsを起動する際に問題が発生したため、ここでの保証はありません。
  2. 元に戻すようにしてください(MBRに戻してみてください)
    • これはトリッキーで危険であり、Windowsフォーラムに助けを求める必要があります
    • 理論的には、パーティションの詳細を書き留めて、GPTを同じパーティションを含むMBRに置き換えてみることができます
    • これを誤ると、すべてのデータが失われる可能性があるため、これを試す前に十分に注意してください。
    • パーティションテーブルを置き換えたら、WindowsブートローダーをMBRに再インストールする必要があります(このフォーラムの範囲外であり、方法がわかりません)。

私が言うように。ここからWebを検索して、Windows固有の手順についてSuperuser.comに問い合わせてみてください。

0
Philip Couling