これは最近わかったQ&Aなので、以下の答えを投稿しました。
Windows 10のインストール後、カーネルの更新を取得するたび、またはupdate-grub2
を実行するたびに、Windows 7
ではなくWindows Recovery Environment
またはWindows 10
が常に表示されます。これを永久に修正するにはどうすればよいですか?
更新: Xubuntu 14.04のクリーンインストールを実行したところ、以下にリストされているファイルへのエントリが既に存在していました。 GRUBチームにアップデートが含まれるようになりました。まだシステムの更新なしでこれに遭遇する可能性がある人のために、これをここに残します。
更新#2:少なくとも1GBの永続ファイルを含むUbuntu 14.04 LiveUSBを作成する場合、このファイルの場所は同じであり、永続ファイルは変更を維持できます。このファイルは、Try Ubuntu
起動でシステムをUSBドライブから起動した後にのみ変更する必要があります。
Windows 7
の代わりにWindows Recovery Environment
の代わりにWindows 10
または/usr/lib/os-probes/mounted/20Microsoft
と表示される理由は、ファイルWindows 10
にos-prober
のラベルが含まれていないためです。 SOMECODE] _ OSの検出は、Windows 7
またはWindows Recovery Environment
にフォールバックします。
これを修正するには、次のファイルに次の変更を加える必要があります(geditをエディターとして使用しますが、必要なものを使用します)。
Sudo gedit /usr/lib/os-probes/mounted/20Microsoft
注:変更する前に、常にファイルのバックアップを作成する必要があります!
if item_in_dir -q bootmgr "$2"; then
# there might be different boot directories in different case as:
# boot Boot BOOT
for boot in $(item_in_dir boot "$2"); do
bcd=$(item_in_dir bcd "$2/$boot")
if [ -n "$bcd" ]; then
if grep -qs "W.i.n.d.o.w.s. .1.0" "$2/$boot/$bcd"; then
long="Windows 10 (loader)"
Elif grep -qs "W.i.n.d.o.w.s. .8" "$2/$boot/$bcd"; then
long="Windows 8 (loader)"
Elif grep -qs "W.i.n.d.o.w.s. .7" "$2/$boot/$bcd"; then
long="Windows 7 (loader)"
上記の変更は、行if grep -qs "W.i.n.d.o.w.s. .8" "$2/$boot/$bcd"; then
をElif grep -qs "W.i.n.d.o.w.s. .8" "$2/$boot/$bcd"; then
に変更し、その行の上にif grep -qs "W.i.n.d.o.w.s. .1.0" "$2/$boot/$bcd"; then
とlong="Windows 10 (loader)"
を追加して保存します。
保存すると、os-prober
の実行は次のようになります。
terrance@terrance-ubuntu:~$ Sudo os-prober
[Sudo] password for terrance:
/dev/sdf1:Windows 10 (loader):Windows:chain
update-grub2
を実行すると、カーネルの更新を取得するたびに/boot/grub/grub.cfg
の更新が永続的になり、正しいバージョンのWindowsが表示されるようになります(下の例を参照)。
terrance@terrance-ubuntu:~$ Sudo update-grub2
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.19.0-26-generic
Found initrd image: /boot/initrd.img-3.19.0-26-generic
Found linux image: /boot/vmlinuz-3.13.0-58-generic
Found initrd image: /boot/initrd.img-3.13.0-58-generic
Found linux image: /boot/vmlinuz-3.13.0-57-generic
Found initrd image: /boot/initrd.img-3.13.0-57-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 10 (loader) on /dev/sdf1
done
お役に立てれば!