ようやく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.
Ubuntuを起動し、Windowsパーティションをマウントします(Nautilusのディスクを単に開きます)
コマンドラインで次を実行します(Ctrl+Alt+t):
Sudo os-prober
Windowsのインストールが見つかった場合、次を実行できます。
Sudo update-grub
手順2は便宜上のものです。 Windows 7パーティションをマウントして、update-grub
を実行するだけです。
上記のos-prober
メソッドが機能しない場合は、カスタムgrubメニューエントリを追加してみてください。文書化された ここ 。
最初の2つのステップは、<UUID>
を見つけるためのものです。
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
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"
/etc/grub.d/40_custom
の最後に次を追加します。menuentry "Windows 7" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set <UUID>
chainloader +1
}
Sudo update-grub
を実行して再起動します。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の両方を見つけることができました。
Boot-Repair の手順に従って同様の問題を解決しました
ブート修復をインストールする
Sudo add-apt-repository ppa:yannubuntu/boot-repair
Sudo apt-get update
Sudo apt-get install -y boot-repair && boot-repair
「推奨される修復」を押して、端末に提案されたいくつかのコマンドを入力します。
私のGrubは、不適切なシャットダウンのためにウィンドウを認識せず、問題を解決したと思います。
別のコンピューターで動作する例からコピーして、自分のレコードを投稿するための少し異なる方法。
以下を/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を正常に起動できるようになります。
以前にRAIDをインストールしたことがある場合、問題が発生している可能性があります。私の場合、2010年にデスクトップを構築し、2つの1.5 TBをストライプRAIDでインストールしました。 ユーザーgracemercy54は、以前のRAID構成からのメタデータが残っていることをここで述べています。
最初にHermesで手順を試みたときに、「RAIDセット内のデバイスの数が間違っています」というエラーが表示されました。したがって、これが発生した場合は、ターミナルを開いて次を実行します。
Sudo dmraid -rE
Sudo os-prober
Sudo update-grub
それは私のためにこれを修正しました。
Windows 10でも同じ問題が発生しました。WIN10を使用したデュアルブート用にLinux Mint 18.1 Cinnamon 64-bitをラップトップにインストールしました。インストール後、GRUBはLinuxのブートのみを提供し、Windowsのブートは提供しませんでした。
ビデオを見つけました grubメニューにWindows 10のソリューションがありません とフォーラムスレッド Grubは更新/修復後にWin10を認識しません が、残念ながらどちらも機能しなかったので、私の問題を解決するために、これらの2つのうち。
ターミナルを開き、次のコマンドに従って、40_customという名前のファイルを開きます。
Sudo gedit /etc/grub.d/40_custom
これらの行をファイルの最後に追加し、保存して終了します。
menuentry "Windows 10" {
set root='{hd0,1}'
chainloader + 1
}
ファイルを保存したら、次のコマンドでGRUBを更新します。
Sudo update-grub
次に、マシンを再起動して、動作するかどうかを確認します。
これが他の人にも役立つことを願っています!
私は同じ問題を抱えていて、それを理解するのに2日間費やしていました。しかし、今日、私は午前中にこの突然のアイデアを思いつき、うまくいきました。
Bios/uefi設定を確認する必要があります。私の場合、最初にUefiを起動する必要がありました。そうしないと、ubuntuからウィンドウを検出できませんでした。設定しなければならなかったのは、ubuntu> Windowsブートマネージャー> DISK1> DISK2> DISK3でした。 Insted DISK1> ubuntu> Windows Boot Manager> DISK3。
私は2つのubuntuをhddとssdにインストールしました。どうやらssdのインストールは何らかの理由でUEFIとして表示されませんでしたが、最初に高速なディスクを起動したかったのです。
ブートの順序がシステムの検出でgrubに影響を与えるとは思っていませんでした。それをレビューする価値があります。
上記のような問題がありましたが、解決策は次のように手動で入力するだけでした:
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
}
上記のUUID(688E ...)は、ブートウィンドウディスクからblkid /dev/sdb1
経由で取得されました。
注意:追加の行
set root='(/dev/sda,msdos1)'
ubuntuで/dev/sdb
として表示されるsda
を指します。実際にはsataバスの最初のディスクであり、/dev/sda
は実際にはルート/
としてマウントされた2番目のドライブです。
たぶんそれが、grubスクリプトが正しく動作しなかった理由です。ディスクの物理的な順序を変更する時間はありませんでしたが、問題の解決に役立つ可能性は十分にあります。