web-dev-qa-db-ja.com

Debiangrub2アップデートはWindowsブートオプションを削除しました

Grubをgrub2に更新したため、Windowsを起動するオプションが表示されなくなりました(残念ながら、仕事で使用する必要のある独自のMSIEブラウザープラグインでは必要になる場合があります)。

関連する/boot/grub/menu.lst部分:

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title           Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title           Windows NT/2000/XP
root            (hd0,0)
savedefault
makeactive
chainloader     +1

ただし、これはもう表示されません。 /boot/grub/grub.cfgには、次のようなエントリがいくつかあります。

menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-AMD64' --class debian --class gnu-linux --class gnu --class os {
        insmod part_msdos
        insmod ext2
        set root='(hd1,msdos1)'
        search --no-floppy --fs-uuid --set e638c434-4884-412f-a141-2c194f881fae
        echo    'Loading Linux 2.6.32-5-AMD64 ...'
        linux   /boot/vmlinuz-2.6.32-5-AMD64 root=UUID=e638c434-4884-412f-a141-2c194f881fae ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-2.6.32-5-AMD64
}

そのファイルを変更する必要がありますか?もしそうなら、Windowsブートの正しい構文は何ですか?そうでない場合、何が問題になる可能性がありますか?

4
Wrikken

これはUbuntuに基づいていますが、Debianのgrub2-packageにも有効であるはずです。

/boot/grub/grub.cfgは、/usr/sbin/update-grub2を実行するたびに、またはカーネルの更新後に呼び出されるたびに上書きされます。 grub2は、/etc/grub.d/30_os-proberを介してWindowsのインストールを自動検出し、ブートメニューに追加する必要があります。ただし、カスタムエントリは/etc/grub.d/40_customで作成する必要があります

更新:

/etc/grub.d/40_customに以下を追加することにより、Windowsローダーを手動で追加することができます。

menuentry "Windows on /dev/hda1" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set YOURUUID
chainloader +1
}

「YOURUUID」は、Windowsパーティションの [〜#〜] uuid [〜#〜] です。 ls -l /dev/disk/by-uuid/ | grep hda1を実行することで取得できます。ファイルを編集した後、「Sudoupdate-grub2」を実行して新しいgrub.cfgを生成します。

os-proberに依存しますが、インストールされていない可能性があります。その場合は、次のようにします。

Sudo apt-get install os-prober

...そしてSudo update-grub2を再度実行します。

4
user16115

Wrikkenのソリューションも私のために働いた。指示に従って簡単に逆流させています。

ステップ1

Sudo apt-get install os-prober

これは次の方法でテストできます。

Sudo os-prober

これは、私にとって、出力を提供します:

/dev/sda1:Microsoft Windows XP Professional:Windows:chain

ステップ2

Sudo update-grub2
4
John