GRUBはWindowsを検出しません


66

ようやく2台目のドライブにUbuntuをインストールしました。コンピューターを起動すると、GRUBはWindows 7ではなく、Ubuntuのブートのみを提供します。GRUBで UbuntuとWindowsを選択するには、何をする必要がありますか?

起動時にF12を押して起動メニューを選択し、Windows Boot Managerそれを選択するとWindows 7で起動します。


コマンドを実行sudo fdisk -lしましたが、ここにログがあります(http://pastebin.com/Cgv1igHc):

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xc3ffc3ff

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  1953525167   976762583+  ee  GPT
Partition 1 does not start on physical sector boundary.

Boot-Info URLを指定してください。これにより、役立つ情報が提供されます。
LovinBuntu

回答:


100
  1. Ubuntuを起動し、Windowsパーティションマウントします(単純にNautilusでディスクを開きます

  2. コマンドラインで次を実行します(Ctrl+ Alt+ t):

    sudo os-prober
    
  3. Windowsのインストールが見つかった場合、次を実行できます。

    sudo update-grub
    

手順2は便宜上のものです。Windows 7パーティションをマウントしてから実行するだけupdate-grubです。

関連する質問


2つのウィンドウがインストールされた2つのパーティションがあり、別のパーティションへのインストールのみを検出しますが、新しくインストールされたウィンドウ(SSD上)は検出しません!マウントされていても...アイデア?
フィリップガショー

ありがとう。os-proberがステップ1を必要とするように思われるのは興味深いことです。非常に重要です、またはウィンドウが機能しません。
楕円ビュー

mount -t ntfs-3g -o ro /dev/sda4 /media/windowsWindowsパーティションをマウントする方法
ユバラジロガナサン

完璧!トリックは両方のコマンドを実行しなかった
Aryeh Beitz

働いた!ありがとうございました!
DigaoParceiro

10

os-prober上記の方法が機能しない場合は、カスタムgrubメニューエントリを追加してみてください。ここに文書化されています

最初の2つのステップは、あなたのを見つけること<UUID>です。

  1. 実行lsblkして、行の名前を見つけます/boot/efi

出力例(ここでは答えはsda2です)

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   477G  0 disk 
├─sda1        8:1    0   450M  0 part 
├─sda2        8:2    0   100M  0 part /boot/efi
├─sda3        8:3    0    16M  0 part 
├─sda4        8:4    0    47G  0 part /windows
├─sda5        8:5    0 425,6G  0 part /
└─sda6        8:6    0   3,7G  0 part [SWAP]
mmcblk0     179:0    0  14,9G  0 disk 
└─mmcblk0p1 179:1    0  14,9G  0 part
  1. 前のステップからの答えsudo blkid /dev/sdaXがどこにsdaXあるかを実行しますsda2私の場合)

出力例(ここでの答えは58E4-427Dです)

/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
  1. ファイルの最後に次を追加します/etc/grub.d/40_custom
menuentry "Windows 7" {  
     insmod ntfs  
     set root='(hd0,1)'  
     search --no-floppy --fs-uuid --set <UUID>
     chainloader +1  
}
  1. 実行sudo update-grubして再起動します。

@Christopher Markietaに別の回答のすべての詳細に感謝します。これらも同様に追加しました(カスタムエントリの詳細は異なりますが。)
Carolus

9

Windows 10を実行してから、デュアルブートを試みました。Ubuntuをインストールした後、私のGRUBローダーにWin 10が表示されませんでした。私は次を試しました-

まず、Win10でセキュアブートを無効にしました。次に、Ubuntuで以下のコマンドを実行しました。

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

かなりうまくいきました。その後、GRUBでWindowsとUbuntuの両方を見つけることができました。


このPPAはまだ存在しますか?私はそれを追加することができず、Ubuntu 18.04ブートディスクには存在しないと主張しました
jocull

404 Not FoundDebianでエラーを受け取った
winklerrr

5

ブート修復の手順に従って同様の問題を解決しました

ブート修復をインストールする

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

「推奨修復」を押して、端末に指示どおりにいくつかのコマンドを入力します。

私のGrubは、シャットダウンが悪いためにウィンドウを認識せず、問題を解決したと思います。


3

以前にRAIDをインストールしたことがある場合、問題が発生している可能性があります。私の場合、2010年にデスクトップを構築し、2つの1.5 TBをストライプRAIDでインストールしました。ユーザーgracemercy54は、以前のRAID構成からのメタデータが残っていることをここで述べています。

最初にHermesによって手順を試みたときに、「RAIDセット内のデバイスの数が間違っています」というエラーが表示されました。したがって、これが発生した場合は、ターミナルを開いて次を実行します:

   sudo dmraid -rE
   sudo os-prober
   sudo update-grub

それは私のためにこれを修正しました。


私も襲撃によって引き起こされたと思います。しかしsudo dmraid -rE、私にはうまくいきません。私はついにAHCI一時的にBIOSに切り替え、Ubuntuを起動して実行しsudo update-grub、次に切り替え RAID ONて作成しました。
realhu

1
警告:使用中のRAIDアレイは破壊されます。
クリストファーマルキエータ

3

別のコンピューターで動作するサンプルからコピーして、自分の記録を投稿するための少し異なる方法。

以下を追加します/etc/grub.d/40_custom

menuentry "Windows 10" {
        insmod part_gpt
        insmod fat
        search --no-floppy --fs-uuid --set <boot_efi_uuid>
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

どこ<boot_efi_uuid>/boot/efiパーティションのUUIDです。これを見つけるには:

$ lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT                                                  
sda                 8:0    0 119.2G  0 disk
└─md126             9:126  0 357.7G  0 raid0
  ├─md126p1       259:0    0   499M  0 md
  ├─md126p2       259:1    0   100M  0 md    /boot/efi                                                   
$ sudo blkid | grep md126p2 # Replace with your device
/dev/md126p2: UUID=<boot_efi_uuid>

もちろん、ファイルを保存したら、次を実行します。

sudo update-grub

再起動すると、Windowsを正常に起動できるようになります。


2

Windows 10でも同じ問題が発生しました。WIN10を使用したデュアルブート用にLinux Mint 18.1 Cinnamon 64-bitをラップトップにインストールしました。インストール後、GRUBはLinuxのブートのみを提供し、Windowsは提供しませんでした。

Windows 10のビデオソリューションがgrubメニューにないことと、フォーラムスレッドGrubがUpdate / Repair後にWin10を認識しないことを発見しましたが、残念ながらどちらも機能しなかったため、これら2つの組み合わせを使用して問題を解決しました。

ターミナルを開き、次のコマンドに従って、40_customという名前のファイルを開きます。

sudo gedit /etc/grub.d/40_custom

これらの行をファイルの最後に追加し、保存して終了します。

menuentry "Windows 10" {
   set root='{hd0,1}'
   chainloader + 1
}

ファイルを保存したら、次のコマンドでGRUBを更新します。

sudo update-grub

次に、マシンを再起動して、動作するかどうかを確認します。

これが他の人にも役立つことを願っています!


この回答は正しいものの、主に2015年5月29日
チャールズグリーン

1

私は同じ問題を抱えていて、それを理解するのに2日間費やしていました。しかし、今日、私は午前中にこの突然のアイデアを思いつき、うまくいきました。

bios / uefi設定を確認する必要があります。私の場合、最初にUefiを起動する必要がありました。そうしないと、ubuntuからウィンドウを検出できませんでした。設定しなければならなかったのは、ubuntu> Windowsブートマネージャー> DISK1> DISK2> DISK3でした。Insted DISK1> ubuntu> Windowsブートマネージャー> DISK3。

私は2つのubuntuをhddとssdにインストールしました。どうやらssdのインストールは何らかの理由でUEFIとして表示されませんでしたが、最初にブートの高速化を望んでいました。

ブートの順序がシステムの検出でgrubに影響を与えるとは思っていませんでした。それをレビューする価値があります。


1

上記のような問題があり、解決策は以下のように手動で入力するだけでした:

menuentry "WINDOWS10 (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(/dev/sda,msdos1)'
    search --no-floppy --fs-uuid --set=root 688EB92384B85968
    drivemap -s (hd0) ${root}
    chainloader +1
}

上記(688E ...)のUUIDは、ブートWindowsディスクから取得されましたblkid /dev/sdb1

注意:追加の行

set root='(/dev/sda,msdos1)'

これは、実際にはsataバスの最初のディスクであり、実際にはrootとしてマウントされた2番目のドライブであるため、sdaUbuntuの下で見えるものを指します。/dev/sdb/dev/sda/

たぶんそれが、grubスクリプトが正しく動作しなかった理由です。ディスクの物理的な順序を変更する時間はありませんでしたが、問題の解決に役立つ可能性は十分にあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.