web-dev-qa-db-ja.com

UEFI上のデュアルブートWindows 10およびUbuntu 16.04

Ubuntuの長年のユーザーとして、最近、60 Gb SDDにMS Windows 8がプリインストールされたAcer Revo Oneを購入しました。今回はライセンスを保持することにしました。 MS Windows 10への無料アップグレードを利用しました(SSDのパーティションを制御できるようにUSBディスクからクリーンインストールを選択しました-ルートパーティション用に十分なスペースを残しました)。このインストールは正常に機能しました。

次に、HDDをインストールし、live-usbを使用してUbuntu 16.04のインストールを進めました。

ディスクを次のようにパーティション分割しました(Ubuntu live-usbから起動した後、gpartedからこれを取得しました): /dev/sda および /dev/sdb

だから基本的に、私は欲しい

  1. sSDから起動する両方のOS
  2. Ubuntuは、名目上の/home、スワップパーティション、および/tmpにHDDを使用します
  3. windowsとUbuntuの両方が書き込み可能な共有パーティション

/dev/sdb3/dev/sdb4が「msftdata」フラグを持っている理由がわかりません...)。

SecureBootが有効になっています(さまざまな投稿を読みました-Ubuntuのインストール時に無効にしたという人もいれば、そうする必要がないという人もいます)。高速ブートは無効です。

ただし、Ubuntuは期待どおりにインストールされますが、再起動時に(live-usbディスクを削除した)マシンはMS Windowsでのみ起動します。

BIOSを確認しましたが、Windowsブートマネージャー(またはインストールされている場合はlive-usbディスク)以外を起動するオプションはありません。

efibootmgrのレポート:

BootCurrent:0002 
Timeout: 2 seconds  
BootOrder: 0000,0002,0001 
Boot0000* Windows Boot Manager  
Boot0001 ubuntu 
Boot0002* UEFI: SanDisk

「アクティブ」ではないことを示すBoot0001の横にアスタリスクがないことに気付きました。私はそれをアクティブに設定しようとしましたが、BootOrderが最初になるようにBootOrderも変更しようとしました。 BootNextを0001に変更しようとしました。これらはどれも動作しません。 Boot0001をアクティブにするための変更は、次回のブート時にリセットされることに気付きました。したがって、私の変更は保存されません。

私はいくつかの推奨事項を作成するいくつかの投稿を読みました。

  1. windowsを最初にインストールする人もいれば、逆に言う人もいます
  2. grubを再度インストールする
  3. eFIブートローダーエントリを手動で(EFIパーティションをマウントし、エントリをコピー/名前変更して)修復するか、BootRepairを使用して修復する

EFIパーティションのダンプを添付することはできません...しかし、ここにフラグメントがあります:

./EFI
./EFI/Microsoft
./EFI/Microsoft/Boot
./EFI/Microsoft/Boot/bg-BG
./EFI/Microsoft/Boot/bg-BG/bootmgfw.efi.mui
./EFI/Microsoft/Boot/bg-BG/bootmgr.efi.mui
./EFI/Microsoft/Boot/bootmgr.efi
./EFI/Microsoft/Boot/memtest.efi
./EFI/Microsoft/Boot/boot.stl
./EFI/OEM/Boot
...
./EFI/Microsoft/Boot/en-GB
./EFI/Microsoft/Boot/en-GB/bootmgfw.efi.mui
./EFI/Microsoft/Boot/en-GB/bootmgr.efi.mui
...
./EFI/OEM
./EFI/OEM/Boot
./EFI/OEM/Boot/boot.stl
./EFI/OEM/Boot/bootmgfw.efi
./EFI/OEM/Boot/bootmgr.efi
./EFI/OEM/Boot/memtest.efi
./EFI/OEM/Boot/BOOTSTAT.DAT
./EFI/OEM/Boot/BCD
./EFI/OEM/Boot/BCD.LOG
./EFI/OEM/Boot/BCD.LOG1
./EFI/OEM/Boot/BCD.LOG2
...
./EFI/OEM/Boot/en-GB
./EFI/OEM/Boot/en-GB/bootmgfw.efi.mui
./EFI/OEM/Boot/en-GB/bootmgr.efi.mui
...
./EFI/ubuntu
./EFI/ubuntu/fw
./EFI/ubuntu/fwupx64.efi
./EFI/ubuntu/grubx64.efi
./EFI/ubuntu/grub.cfg
./EFI/ubuntu/shimx64.efi
./EFI/ubuntu/MokManager.efi
./OEM
./OEM/AcerOA30.xml
./OEM/Factory
./OEM/Factory/AMIDEWINx64.exe
./OEM/Factory/AMIFLDRV64.sys
./OEM/Factory/CHK.bat
./OEM/Factory/CHK_DK.bat
./OEM/Factory/Delay-Diags.exe
...

私はこのナットをクラックするのに近いことを知っています...上記の提案のどれが機能する可能性が高いのですか? Windowsが起動せず、再起動しなければならないという状況には入りたくありません。すべてをインストールするのに長い時間がかかります。

前もって感謝します。


成功...ある種の。

@fordsと@oldfredに感謝します。

BIOSが古くなったため、更新しました。

また、USBブートディスクからのブート修復を使用して、EFIブートパーティションを修復しました(破損しているかどうかはわかりません)。

その後、@ fordsの提案を試みました-w $内でbcdeditを実行-成功しました! Grubは多くの選択肢とともに表示されます-Ubuntuがデフォルトです。

これはすべて、シャットダウン時にw $をリブートして更新を適用することを決定したときに無意味になりました...これにより、Ubuntuの起動が停止しました。 (深いため息)。

私が得るすべては私が試みることを示唆する数行です

    sysctl reboot

または

    sysctl defaults

どちらも多くはしませんでした。

W $更新はw $ bcdeditおよび/またはlinuxのブート修復を元に戻しましたか?もしそうなら、w $の更新が毎日大混乱を引き起こすのを防ぐにはどうすればよいですか?

ありがとう

3
Father Ted

WindowsコマンドプロンプトでデフォルトのブートローダーをGrubに設定しようとしましたか? UbuntuをインストールしてWindows 10で実行するには、それを行う必要がありました。

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

セキュアブートをオフにすることもお勧めします。 Windowsは、デュアルブートに関しては不気味な獣です。

5
fords

Windows 10 Creator's Updateの後、Windowsロゴを右クリックすると、コマンドプロンプト(Admin)ではなくPowerShell(Admin)オプションが表示されます。 PowerShellを使用してbcdeditを編集してみましたが、混乱しました。そのため、何をしているのかわからない限り、bcdeditでPowerShellを使用しないでください。

解決策は、コマンドプロンプトを検索し、管理者モードで開き(右クリック->管理者として開く)、前述の一般的なコマンドを使用することです-

bcdedit /set {bootmgr} path "\EFI\ubuntu\shimx64.efi"

PowerShellをbcdeditに使用する方法を誰かが見つけた場合は、こちらに投稿してください。

1
phoenix

私はそれをすべて取り戻します... w $は私の日を台無しにしませんでした(驚くべきことに)-ssdの最適化のために/ etc/fstabを編集する能力が不十分で、Ubuntuを起動できませんでした。すべては世界で順調です。

私の経験が誰かに役立つことを願っています!

1
Father Ted

別の解決策は、2つのEFIパーティションを使用することです。 1つはWindows専用、もう1つはLinuxおよびその他のシステム用で、2番目のパーティションでEFI\Microsoft\Boot \パスを作成し、このパス内でshimx64.efiをbootmgrfw.efiにコピーし、EFI\ubuntu \をそのままにします。 Acerラップトップは、このパーティションのシムをWindowsブートマネージャーと見なし、ここからも起動します。このパーティションにbootmgrfw.efiのみがあり、BCDなどがない場合、os-proberは、grub.cfgにダブルメニューエントリを作成せず、最初の元のパーティションのWindowsブートローダーのみを認識します。したがって、GRUB EFIを起動し、他のパーティションへの正しいchaniloadでubuntuまたはwindowsを呼び出すことができます。このモードでは、Windowsは最初のパーティションで正しいEFIパーティション構造を維持し、更新中に2番目のパーティションで偽のbootmgrfw.efi(shim)を上書きしません。私にとっては、Acer 5750gに取り組んでいます。

0
Mondin Marco